summaryrefslogtreecommitdiff
path: root/print/OEM Printer Customization Plug-in Samples/C++
diff options
context:
space:
mode:
Diffstat (limited to 'print/OEM Printer Customization Plug-in Samples/C++')
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/CUSTOMDRV.HLPbin5955 -> 0 bytes
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Features.cpp2858
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Features.h236
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Helper.cpp457
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Helper.h214
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/OEMUI.rc260
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/PSUIREP.vcxproj1066
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/PSUIREP.vcxproj.Filters397
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/StringUtils.cpp315
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/StringUtils.h23
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/debug.cpp405
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/debug.h166
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/devmode.cpp193
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/devmode.h56
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/dllentry.cpp49
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/globals.cpp24
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/globals.h31
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/intrface.cpp709
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/intrface.h220
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/oemui.cpp1042
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/oemui.h33
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/precomp.h55
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/precompsrc.cpp1
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/psuirep.def3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/resource.h92
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.gpd763
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.infbin4590 -> 0 bytes
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.ini3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/PTPCPLPR.vcxproj904
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/PTPCPLPR.vcxproj.Filters272
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/debug.hxx82
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/dllentry.cxx48
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/globals.cxx21
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/globals.hxx25
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/intrface.cxx493
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/intrface.hxx178
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oem.hxx26
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oemptprovider.cxx1145
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oemptprovider.hxx143
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/precomp.hxx49
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/precompsrc.cpp1
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/printschema.cxx64
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/printschema.hxx74
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/ptpcplpr.def3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/ptpcplpr.rc24
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/xmlhandler.cxx1612
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/xmlhandler.hxx162
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SYNCSET.vcxproj1066
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SYNCSET.vcxproj.Filters272
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SyncSet.def3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/SyncSet/debug.cpp405
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/SyncSet/debug.h166
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/SyncSet/devmode.cpp214
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/SyncSet/devmode.h57
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/SyncSet/dllentry.cpp49
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/SyncSet/globals.cpp26
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/SyncSet/globals.h22
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/SyncSet/intrface.cpp612
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/SyncSet/intrface.h192
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oem.h24
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.cpp1099
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.h74
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.rc175
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/SyncSet/precomp.h53
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/SyncSet/precompsrc.cpp1
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/SyncSet/resource.h28
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/OEMUI.rc169
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUI.Manifest22
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUISmpl.vcxproj1120
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUISmpl.vcxproj.Filters327
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/debug.h82
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/devmode.cpp187
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/devmode.h55
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/dllentry.cpp66
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/fusutils.cpp118
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/fusutils.h18
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/globals.cpp29
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/globals.h21
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/intrface.cpp575
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/intrface.h179
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oem.h22
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oemui.cpp756
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oemui.h45
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/precomp.h61
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/precompsrc.cpp1
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/resource.h24
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/themeuismpl.def3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/WMarkPS.ini4
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/WMarkUni.ini5
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/bitmap.gpd509
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/bitmap.infbin4860 -> 0 bytes
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/bitmap.ini5
-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
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp.gpd563
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp.ini3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.def3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.vcxproj1060
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.vcxproj.Filters220
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.cnt3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.h11
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.hpj17
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.rtf22
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/debug.h82
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/devmode.cpp182
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/devmode.h46
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/dllentry.cpp49
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/globals.cpp25
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/globals.h22
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/intrface.cpp562
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/intrface.h182
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.cpp960
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.h47
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.rc170
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/precomp.h54
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/precompsrc.cpp1
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/custhlp/resource.h23
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.gpd520
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.infbin3622 -> 0 bytes
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.ini3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/gdl/src/GDLSMPL.vcxproj1084
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/gdl/src/GDLSMPL.vcxproj.Filters134
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/gdl/src/debug.h82
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/gdl/src/devmode.cpp251
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/gdl/src/devmode.h52
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.cpp856
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.def18
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.h79
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.rc106
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/gdl/src/intrface.cpp559
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/gdl/src/intrface.h212
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/gdl/src/precomp.h62
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/gdl/src/precompsrc.cpp1
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oem.gpd704
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oem.ppd431
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemdll.infbin10570 -> 0 bytes
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemdll.sln809
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean.gpd706
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean.htm514
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean.infbin5058 -> 0 bytes
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean.ini4
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean/ddihook.cpp2069
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean/debug.cpp1503
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean/debug.h215
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean/devmode.cpp229
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean/devmode.h43
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean/dllentry.cpp58
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean/intrface.cpp1819
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean/intrface.h288
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.def3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.h259
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.rc110
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.vcxproj1096
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.vcxproj.Filters177
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean/precomp.h49
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean/precompsrc.cpp1
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemprean/resource.h17
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemps.ini3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.rc109
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.vcxproj1096
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.vcxproj.Filters220
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemps/command.cpp278
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemps/command.h24
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemps/ddihook.cpp1049
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemps/debug.h82
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemps/devmode.cpp151
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemps/devmode.h44
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemps/dllentry.cpp50
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemps/intrface.cpp632
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemps/intrface.h119
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemps/oemps.def3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemps/oemps.h76
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemps/precomp.h47
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemps/precompsrc.cpp1
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemps/resource.h15
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemui.ini3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.def3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.rc169
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.vcxproj1042
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.vcxproj.Filters220
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemui/debug.h82
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemui/devmode.cpp182
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemui/devmode.h52
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemui/dllentry.cpp49
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemui/globals.cpp22
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemui/globals.h17
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemui/intrface.cpp567
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemui/intrface.h178
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemui/oemui.cpp737
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemui/oemui.h37
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemui/precomp.h52
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemui/precompsrc.cpp1
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemui/resource.h24
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemuni.ini3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.def3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.h234
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.rc110
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.vcxproj1090
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.vcxproj.Filters174
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemuni/ddihook.cpp1670
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemuni/debug.h82
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemuni/devmode.cpp222
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemuni/devmode.h43
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemuni/dllentry.cpp55
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemuni/intrface.cpp1797
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemuni/intrface.h283
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemuni/precomp.h36
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemuni/precompsrc.cpp1
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/oemuni/resource.h17
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/psuirep.ini3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/syncset.gpd654
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/syncset.ini3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/themeui.ini3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uisamples.infbin5820 -> 0 bytes
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.gpd559
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.infbin3710 -> 0 bytes
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.ini3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/Features.cpp1991
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/Features.h388
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/UNIUIREP.vcxproj1066
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/UNIUIREP.vcxproj.Filters223
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/debug.cpp405
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/debug.h166
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/devmode.cpp255
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/devmode.h48
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/dllentry.cpp82
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/intrface.cpp1151
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/intrface.h222
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/precomp.h68
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/precompsrc.cpp1
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/resource.h57
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.cpp492
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.def18
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.h55
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.rc192
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/common/debug.h82
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/common/devmode.cpp229
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/common/devmode.h56
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/common/oem.h24
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMARKPS.vcxproj1090
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMARKPS.vcxproj.Filters137
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMarkPS.def3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMarkPS.rc130
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/command.cpp410
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/command.h22
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/dllentry.cpp54
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/drawmark.psbin37 -> 0 bytes
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/fdevmode.cpp20
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/intrface.cpp491
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/intrface.h116
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/precomp.h51
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/precompsrc.cpp1
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/resource.h18
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/wmark.ps33
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/wmarkps.h25
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/WMARKUI.vcxproj1096
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/WMARKUI.vcxproj.Filters140
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/dllentry.cpp52
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/fdevmode.cpp21
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/globals.cpp27
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/globals.h22
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/intrface.cpp522
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/intrface.h177
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/precomp.h50
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/precompsrc.cpp1
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/resource.h24
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.cpp590
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.def3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.h35
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.rc128
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/debug.h82
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/devmode.cpp216
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/devmode.h52
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/oem.h23
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/WMARKUNIUI.vcxproj1150
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/WMARKUNIUI.vcxproj.Filters140
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/dllentry.cpp52
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/fdevmode.cpp21
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/globals.cpp26
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/globals.h21
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/intrface.cpp525
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/intrface.h178
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/precomp.h54
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/precompsrc.cpp1
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/resource.h26
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.cpp594
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.h37
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.rc124
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkuniui.def3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/WMARKUNI.vcxproj1090
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/WMARKUNI.vcxproj.Filters137
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/ddihook.cpp1226
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/dllentry.cpp51
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/fdevmode.cpp22
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/intrface.cpp950
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/intrface.h254
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/name.h34
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/precomp.h53
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/precompsrc.cpp1
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/resource.h17
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.def3
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.h82
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.rc104
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/winxp.infbin7046 -> 0 bytes
317 files changed, 0 insertions, 82225 deletions
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/CUSTOMDRV.HLP b/print/OEM Printer Customization Plug-in Samples/C++/CUSTOMDRV.HLP
deleted file mode 100644
index 8ba599b2..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/CUSTOMDRV.HLP
+++ /dev/null
Binary files differ
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Features.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Features.cpp
deleted file mode 100644
index acee806b..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Features.cpp
+++ /dev/null
@@ -1,2858 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 2001 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Features.cpp
-//
-// PURPOSE: Implementation wrapper class for PScript Driver Features and Options.
-//
-
-#include "precomp.h"
-#include "resource.h"
-#include "debug.h"
-#include "globals.h"
-#include "devmode.h"
-#include "stringutils.h"
-#include "helper.h"
-#include "features.h"
-#include "oemui.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-////////////////////////////////////////////////////////
-// Internal Defines and Macros
-////////////////////////////////////////////////////////
-
-#define INITIAL_ENUM_FEATURES_SIZE 1024
-#define INITIAL_ENUM_OPTIONS_SIZE 64
-#define INITIAL_FEATURE_DISPLAY_NAME_SIZE 64
-#define INITIAL_OPTION_DISPLAY_NAME_SIZE 32
-#define INITIAL_GET_OPTION_SIZE 64
-#define INITIAL_GET_REASON_SIZE 1024
-
-#define DRIVER_FEATURE_PREFIX '%'
-#define IS_DRIVER_FEATURE(f) (DRIVER_FEATURE_PREFIX == (f)[0])
-
-// Flags that the uDisplayNameID should be returned as
-// MAKEINTRESOURCE() instead of loading the string resource.
-#define RETURN_INT_RESOURCE 1
-
-// Macros to test for conditions of KEYWORDMAP entry.
-#define IS_MAPPING_INT_RESOURCE(p) ((p)->dwFlags & RETURN_INT_RESOURCE)
-
-// TAG the identifies feature OPTITEM data stuct.
-#define FEATURE_OPTITEM_TAG 'FETR'
-
-
-////////////////////////////////////////////////////////
-// Type Definitions
-////////////////////////////////////////////////////////
-
-// Struct used to identify OPTITEM as
-// feature OPTITEM and to map back from
-// an OPTITEM to the feature.
-typedef struct _tagFeatureOptitemData
-{
- DWORD dwSize;
- DWORD dwTag;
- PCSTR pszFeatureKeyword;
- COptions *pOptions;
-
-} FEATUREOPTITEMDATA, *PFEATUREOPTITEMDATA;
-
-
-
-////////////////////////////////////////////////////////
-// Internal Constants
-////////////////////////////////////////////////////////
-
-static KEYWORDMAP gkmFeatureMap[] =
-{
- "%AddEuro", NULL, IDS_ADD_EURO, OEMCUIP_PRNPROP, 0,
- "%CtrlDAfter", NULL, IDS_CTRLD_AFTER, OEMCUIP_PRNPROP, 0,
- "%CtrlDBefore", NULL, IDS_CTRLD_BEFORE, OEMCUIP_PRNPROP, 0,
- //"%CustomPageSize", NULL, IDS_PSCRIPT_CUSTOMSIZE, OEMCUIP_DOCPROP, 0,
- "%GraphicsTrueGray", NULL, IDS_TRUE_GRAY_GRAPH, OEMCUIP_PRNPROP, 0,
- "%JobTimeout", NULL, IDS_JOBTIMEOUT, OEMCUIP_PRNPROP, 0,
- "%MaxFontSizeAsBitmap", NULL, IDS_PSMAXBITMAP, OEMCUIP_PRNPROP, 0,
- "%MetafileSpooling", NULL, IDS_METAFILE_SPOOLING, OEMCUIP_DOCPROP, 0,
- "%MinFontSizeAsOutline", NULL, IDS_PSMINOUTLINE, OEMCUIP_PRNPROP, 0,
- "%Mirroring", NULL, IDS_MIRROR, OEMCUIP_DOCPROP, 0,
- "%Negative", NULL, IDS_NEGATIVE_PRINT, OEMCUIP_DOCPROP, 0,
- "%Orientation", TEXT("COMPSTUI.DLL"), IDS_CPSUI_ORIENTATION, OEMCUIP_DOCPROP, RETURN_INT_RESOURCE,
- "%OutputFormat", NULL, IDS_PSOUTPUT_OPTION, OEMCUIP_DOCPROP, 0,
- "%OutputProtocol", NULL, IDS_PSPROTOCOL, OEMCUIP_PRNPROP, 0,
- "%OutputPSLevel", NULL, IDS_PSLEVEL, OEMCUIP_DOCPROP, 0,
- "%PageOrder", TEXT("COMPSTUI.DLL"), IDS_CPSUI_PAGEORDER, OEMCUIP_DOCPROP, RETURN_INT_RESOURCE,
- "%PagePerSheet", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP, OEMCUIP_DOCPROP, RETURN_INT_RESOURCE,
- "%PSErrorHandler", NULL, IDS_PSERROR_HANDLER, OEMCUIP_DOCPROP, 0,
- "%PSMemory", NULL, IDS_POSTSCRIPT_VM, OEMCUIP_PRNPROP, 0,
- "%TextTrueGray", NULL, IDS_TRUE_GRAY_TEXT, OEMCUIP_PRNPROP, 0,
- "%TTDownloadFormat", NULL, IDS_PSTT_DLFORMAT, OEMCUIP_DOCPROP, 0,
- "%WaitTimeout", NULL, IDS_WAITTIMEOUT, OEMCUIP_PRNPROP, 0,
-};
-static const NUM_FEATURE_MAP = (sizeof(gkmFeatureMap)/sizeof(gkmFeatureMap[0]));
-
-
-static KEYWORDMAP gkmOptionMap[] =
-{
- "True", TEXT("COMPSTUI.DLL"), IDS_CPSUI_TRUE, 0, RETURN_INT_RESOURCE,
- "False", TEXT("COMPSTUI.DLL"), IDS_CPSUI_FALSE, 0, RETURN_INT_RESOURCE,
- "Portrait", TEXT("COMPSTUI.DLL"), IDS_CPSUI_PORTRAIT, 0, RETURN_INT_RESOURCE,
- "Landscape", TEXT("COMPSTUI.DLL"), IDS_CPSUI_LANDSCAPE, 0, RETURN_INT_RESOURCE,
- "RotatedLandscape", TEXT("COMPSTUI.DLL"), IDS_CPSUI_ROT_LAND, 0, RETURN_INT_RESOURCE,
- "Speed", NULL, IDS_PSOPT_SPEED, 0, RETURN_INT_RESOURCE,
- "Portability", NULL, IDS_PSOPT_PORTABILITY, 0, 0,
- "EPS", NULL, IDS_PSOPT_EPS, 0, 0,
- "Archive", NULL, IDS_PSOPT_ARCHIVE, 0, 0,
- "ASCII", NULL, IDS_PSPROTOCOL_ASCII, 0, 0,
- "BCP", NULL, IDS_PSPROTOCOL_BCP, 0, 0,
- "TBCP", NULL, IDS_PSPROTOCOL_TBCP, 0, 0,
- "Binary", NULL, IDS_PSPROTOCOL_BINARY, 0, 0,
- "FrontToBack", TEXT("COMPSTUI.DLL"), IDS_CPSUI_FRONTTOBACK, 0, RETURN_INT_RESOURCE,
- "BackToFront", TEXT("COMPSTUI.DLL"), IDS_CPSUI_BACKTOFRONT, 0, RETURN_INT_RESOURCE,
- "1", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_NORMAL, 0, RETURN_INT_RESOURCE,
- "2", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_TWOUP, 0, RETURN_INT_RESOURCE,
- "4", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_FOURUP, 0, RETURN_INT_RESOURCE,
- "6", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_SIXUP, 0, RETURN_INT_RESOURCE,
- "9", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_NINEUP, 0, RETURN_INT_RESOURCE,
- "16", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_SIXTEENUP, 0, RETURN_INT_RESOURCE,
- "Booklet", TEXT("COMPSTUI.DLL"), IDS_CPSUI_BOOKLET, 0, RETURN_INT_RESOURCE,
- "Automatic", NULL, IDS_TTDL_DEFAULT, 0, 0,
- "Outline", NULL, IDS_TTDL_TYPE1, 0, 0,
- "Bitmap", NULL, IDS_TTDL_TYPE3, 0, 0,
- "NativeTrueType", NULL, IDS_TTDL_TYPE42, 0, 0,
-};
-static const NUM_OPTION_MAP = (sizeof(gkmOptionMap)/sizeof(gkmOptionMap[0]));
-
-
-
-
-////////////////////////////////////////////
-//
-// COptions Methods
-//
-
-//
-// Private Methods
-//
-
-// Initializes class data members.
-void COptions::Init()
-{
- m_wOptions = 0;
- m_cType = TVOT_COMBOBOX;
- m_pmszRaw = NULL;
- m_pszFeature = NULL;
- m_ppszOptions = NULL;
- m_ptRange.x = 0;
- m_ptRange.y = 0;
- m_dwSize = 0;
- m_pszUnits = NULL;
- m_hHeap = NULL;
- m_pInfo = NULL;
-}
-
-void COptions::Clear()
-{
- // Free memory associated with data members.
- if(NULL != m_pmszRaw) HeapFree(m_hHeap, 0, m_pmszRaw);
- if(NULL != m_ppszOptions) HeapFree(m_hHeap, 0, m_ppszOptions);
- if( (NULL != m_pszUnits) && !IS_INTRESOURCE(m_pszUnits)) HeapFree(m_hHeap, 0, m_pszUnits);
-
- // Free option info.
- FreeOptionInfo();
-
- // Initialize data members.
- Init();
-}
-
-// Frees memory associated with Option Info array.
-void COptions::FreeOptionInfo()
-{
- // Validate parameters.
- if( (NULL == m_hHeap)
- ||
- (NULL == m_pInfo)
- )
- {
- return;
- }
-
- // Free strings in the array.
- for(WORD wIndex = 0; wIndex < m_wOptions; ++wIndex)
- {
- PWSTR pszDisplay = m_pInfo[wIndex].pszDisplayName;
-
- if( (NULL != pszDisplay)
- &&
- !(IS_INTRESOURCE(pszDisplay))
- )
- {
- HeapFree(m_hHeap, 0, pszDisplay);
- }
- }
-
- // Free the array.
- HeapFree(m_hHeap, 0, m_pInfo);
- m_pInfo = NULL;
-}
-
-// Will do init for features that need special handling.
-HRESULT COptions::GetOptionsForSpecialFeatures(CUIHelper &Helper, POEMUIOBJ poemuiobj)
-{
- HRESULT hrResult = E_NOTIMPL;
-
-
- // See if this is a special feature.
- // If it is, then call the special option init for the
- // feature.
- if(!lstrcmpA(m_pszFeature, "%CustomPageSize"))
- {
- // There is no option init for CustomPageSize.
- // The item itself must be handled specially.
- hrResult = S_OK;
- }
- else if( !lstrcmpA(m_pszFeature, "%JobTimeout")
- ||
- !lstrcmpA(m_pszFeature, "%WaitTimeout")
- )
- {
- // JobTimeout and WaitTimeout feature options are string representations
- // of an integer that represents number of seconds in the range 0 through
- // 2,147,483,647 (i.e. LONG_MAX). However, COMPSTUI limits us to
- // WORD size, which has range of 0 to 32,767 (i.e. SHRT_MAX).
- m_cType = TVOT_UDARROW;
- m_ptRange.x = 0;
- m_ptRange.y = SHRT_MAX;
- hrResult = GetOptionSelectionShort(Helper, poemuiobj);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("COptions::GetOptionsForSpecialFeatures() failed to get current selection for feature %hs. (hrResult = 0x%x)\r\n"),
- m_pszFeature,
- hrResult);
-
- goto Exit;
- }
- }
- else if( !lstrcmpA(m_pszFeature, "%MaxFontSizeAsBitmap")
- ||
- !lstrcmpA(m_pszFeature, "%MinFontSizeAsOutline")
- )
- {
- // MaxFontSizeAsBitmap, and MinFontSizeAsOutline feature options
- // are string representations of an integer that represents number
- // of pixels in the range 0 through 32,767 (i.e. SHRT_MAX).
- m_cType = TVOT_UDARROW;
- m_ptRange.x = 0;
- m_ptRange.y = SHRT_MAX;
- hrResult = GetOptionSelectionShort(Helper, poemuiobj);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("COptions::GetOptionsForSpecialFeatures() failed to get current selection for feature %hs. (hrResult = 0x%x)\r\n"),
- m_pszFeature,
- hrResult);
-
- goto Exit;
- }
- }
- else if( !lstrcmpA(m_pszFeature, "%PSMemory") )
- {
- DWORD dwType;
- DWORD dwLevel;
- DWORD dwNeeded;
-
-
- // PSMemory option is string representation of an integer
- // that represents number of seconds in the range 0
- // through 32,767 (i.e. SHRT_MAX).
- // However, the minimum is 172 KB for Level 1 and 249 KB for level 2
- m_cType = TVOT_UDARROW;
- m_ptRange.y = SHRT_MAX;
- hrResult = GetOptionSelectionShort(Helper, poemuiobj);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("COptions::GetOptionsForSpecialFeatures() failed to get current selection for feature %hs. (hrResult = 0x%x)\r\n"),
- m_pszFeature,
- hrResult);
-
- goto Exit;
- }
-
- // Get the global attribute for max language level.
- hrResult = Helper.GetGlobalAttribute(poemuiobj,
- 0,
- "LanguageLevel",
- &dwType,
- (PBYTE) &dwLevel,
- sizeof(dwLevel),
- &dwNeeded);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("COptions::GetOptionsForSpecialFeatures() failed to get global attribute \"LanguageLevel\". (hrResult = 0x%x)\r\n"),
- hrResult);
-
- goto Exit;
- }
-
- // Set minimum range based on PS Max Language level.
- switch(dwLevel)
- {
- case 1:
- m_ptRange.x = 172;
- break;
-
- default:
- case 2:
- case 3:
- m_ptRange.x = 249;
- break;
- }
-
- // Get Units string.
- //GetStringResource(m_pszUnits
- }
- else if(!lstrcmpA(m_pszFeature, "%OutputPSLevel"))
- {
- hrResult = GetOptionsForOutputPSLevel(Helper, poemuiobj);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("COptions::GetOptionsForSpecialFeatures() failed to get current selection for feature %hs. (hrResult = 0x%x)\r\n"),
- m_pszFeature,
- hrResult);
-
- goto Exit;
- }
- }
-
-
-Exit:
-
- return hrResult;
-}
-
-// Do init for PS Level options.
-HRESULT COptions::GetOptionsForOutputPSLevel(CUIHelper &Helper, POEMUIOBJ poemuiobj)
-{
- WORD wCount = 0;
- DWORD dwLevel = 0;
- DWORD dwType = 0;
- DWORD dwNeeded = 0;
- HRESULT hrResult = E_NOTIMPL;
-
-
- // PS Level is integers from 1 to "LanguageLevel"
- // global atribute.
- m_cType = TVOT_COMBOBOX;
-
- // Get the global attribute for max language level.
- hrResult = Helper.GetGlobalAttribute(poemuiobj,
- 0,
- "LanguageLevel",
- &dwType,
- (PBYTE) &dwLevel,
- sizeof(dwLevel),
- &dwNeeded);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("COptions::GetOptionsForOutputPSLevel() failed to get global attribute \"LanguageLevel\". (hrResult = 0x%x)\r\n"),
- hrResult);
-
- goto Exit;
- }
-
- //
- // Create Options for PS Level
- //
-
- // Set the number of options to the PS Level supported.
- m_wOptions = (WORD) dwLevel;
-
- // Allocate keyword list.
- // Allocate memory for pointer to keyword and the keyword itself, so that
- // the memory for the keyword strings will get de-allocated with the keyword list
- // on object destruction, just like regular features for which EnumOptions works.
- // User the size of a pointer (4 bytes on x86, and 8 on IA64) so that
- // it begining of the keyword strings will be DWORD or QUADWORD aligned
- // for x86 and IA64 respectively. Keyword strings aren't required to
- // be DWORD or QUADWORD aligned, but it is more optimal. Also, this gives
- // some additional space for the case of %OutputPSLevel keywords, which are
- // in the range of 1 through the max PostScript level supported, and only
- // require 2 CHARs (1 for the digit and one for the NULL terminator).
- m_ppszOptions = (PCSTR *) HeapAlloc(m_hHeap, HEAP_ZERO_MEMORY, m_wOptions * ( sizeof(PSTR) + sizeof(PCSTR *) ) );
- if(NULL == m_ppszOptions)
- {
- ERR(ERRORTEXT("COptions::GetOptionsForOutputPSLevel() failed to allocate option keyword array for PS Level.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
-
- // Allocate option info array.
- m_pInfo = (POPTION_INFO) HeapAlloc(m_hHeap, HEAP_ZERO_MEMORY, m_wOptions * sizeof(OPTION_INFO));
- if(NULL == m_pInfo)
- {
- ERR(ERRORTEXT("COptions::GetOptionsForOutputPSLevel() failed to allocate info array for PS Level.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- // Init the option info.
- for(wCount = 0; wCount < m_wOptions; ++wCount)
- {
- // Init keyword.
- // The memory for both the keyword list and the keyword strings was allocated above.
- m_ppszOptions[wCount] = (PSTR)(m_ppszOptions + m_wOptions) + (sizeof(PSTR) * wCount);
- hrResult = StringCbPrintfA(const_cast<PSTR>(m_ppszOptions[wCount]), sizeof(PSTR), "%d", wCount + 1);
- if(FAILED(hrResult))
- {
- ERR(ERRORTEXT("COptions::GetOptionsForOutputPSLevel() failed to string representation of item %d.\r\n"),
- wCount + 1);
-
- goto Exit;
- }
-
- // Init option display name.
- m_pInfo[wCount].pszDisplayName = (PWSTR) HeapAlloc(m_hHeap, HEAP_ZERO_MEMORY, 2 * sizeof(WCHAR));
- if(NULL == m_pInfo[wCount].pszDisplayName)
- {
- ERR(ERRORTEXT("COptions::GetOptionsForOutputPSLevel() failed to allocate display string for Level %d.\r\n"),
- wCount);
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- // Init option display name.
- hrResult = StringCchPrintfW(m_pInfo[wCount].pszDisplayName, 2, TEXT("%d"), wCount + 1);
- if(FAILED(hrResult))
- {
- ERR(ERRORTEXT("COptions::GetOptionsForOutputPSLevel() failed to create display name for item %d.\r\n"),
- wCount + 1);
-
- goto Exit;
- }
- }
-
- //
- // Get Current Selection
- //
-
- hrResult = GetOptionSelectionIndex(Helper, poemuiobj);
-
-
-Exit:
-
- // Don't need to clean up memory allocation on error, since
- // all memory allocated are assigned to data members, which
- // will be cleaned up in the object destructor.
-
- return hrResult;
-}
-
-HRESULT COptions::GetOptionSelectionString(CUIHelper &Helper, POEMUIOBJ poemuiobj, _Outptr_result_maybenull_ PSTR *ppszSel)
-{
- PSTR pmszFeature = NULL;
- PSTR pmszBuf = NULL;
- WORD wCount = 0;
- PCSTR *ppszList = NULL;
- DWORD dwFeatureSize = 0;
- DWORD dwNeeded = 0;
- DWORD dwSize = INITIAL_GET_OPTION_SIZE;
- HRESULT hrResult = S_OK;
-
- *ppszSel = NULL;
-
-
- //
- // Make single feature multi-sz.
- //
-
- // Allocate single feature multi-sz buffer that's the size of the Feature name, plus two bytes for multi-sz termination
- if (FAILED(hrResult = SizeTToDWord(strlen(m_pszFeature) + 2, &dwFeatureSize)))
- {
- goto Exit;
- }
-
- pmszFeature = (PSTR) HeapAlloc(m_hHeap, HEAP_ZERO_MEMORY, dwFeatureSize);
- if(NULL == pmszFeature)
- {
- ERR(ERRORTEXT("COptions::GetOptionSelectionString() failed to allocate buffer for single feature multi-sz for feature %hs.\r\n"),
- m_pszFeature);
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- // Just need to do a regular string copy, since the buffer is already zero filled.
- hrResult = StringCbCopyA(pmszFeature, dwFeatureSize, m_pszFeature);
- if(FAILED(hrResult))
- {
- ERR(ERRORTEXT("COptions::GetOptionSelectionString() failed to copy feature string %hs.\r\n"), m_pszFeature);
- }
-
- // Allocated initial buffer of reasonible size.
- pmszBuf = (PSTR) HeapAlloc(m_hHeap, HEAP_ZERO_MEMORY, dwSize);
- if(NULL == pmszBuf)
- {
- ERR(ERRORTEXT("COptions::GetOptionSelectionString() failed to allocate buffer to get current setting for feature %hs.\r\n"),
- m_pszFeature);
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- // Get current option selection.
- hrResult = Helper.GetOptions(poemuiobj,
- 0,
- pmszFeature,
- dwFeatureSize,
- pmszBuf,
- dwSize,
- &dwNeeded);
- if( (E_OUTOFMEMORY == hrResult) && (dwSize < dwNeeded) )
- {
- PSTR pTemp = NULL;
-
-
- // INVARIANT: initial buffer not large enough.
-
- // Re-alloc buffer and try again.
- pTemp = (PSTR) HeapReAlloc(m_hHeap, HEAP_ZERO_MEMORY, pmszBuf, dwNeeded);
- if(NULL == pTemp)
- {
- ERR(ERRORTEXT("COptions::GetOptionSelectionString() failed to re-allocate buffer to get current setting for feature %hs.\r\n"),
- m_pszFeature);
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
- pmszBuf = pTemp;
-
-
- // Try to get current option selection again.
- hrResult = Helper.GetOptions(poemuiobj,
- 0,
- pmszFeature,
- dwFeatureSize,
- pmszBuf,
- dwNeeded,
- &dwNeeded);
- }
-
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("COptions::GetOptionSelectionString() failed to get current setting for feature %hs. (hrResult = 0x%x)\r\n"),
- m_pszFeature,
- hrResult);
-
- goto Exit;
- }
-
- // NOTE: The return string from GetOptions() may return
- // contain no strings and not return a HRESULT error
- // when the feature isn't supported in the current document or
- // printer sticky mode.
- if('\0' == pmszBuf[0])
- {
- // Feature not supported for this sticky mode.
- goto Exit;
- }
-
- // Parse the results buffer to see what the current setting is.
- hrResult = MakeStrPtrList(m_hHeap, pmszBuf, &ppszList, &wCount);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("COptions::GetOptionSelectionString() failed to make string list for GetOptions() return for feature %hs. (hrResult = 0x%x)\r\n"),
- m_pszFeature,
- hrResult);
-
- goto Exit;
- }
-
- // Check that we got 2 strings back.
- if(2 != wCount)
- {
- WARNING(DLLTEXT("COptions::GetOptionSelectionString() the GetOption() return string list for \r\n\tfeature %hs is not of size 2.\r\n\tNumber of string is %d\r\n"),
- m_pszFeature,
- wCount);
-
- // Bail if we don't have at least 2 strings.
- if(2 > wCount)
- {
- goto Exit;
- }
- }
-
- // Return copy of just the GetOption() result.
- *ppszSel = MakeStringCopy(m_hHeap, ppszList[1]);
- if(NULL == *ppszSel)
- {
- ERR(ERRORTEXT("COptions::GetOptionSelectionString() failed to duplicate string GetOptions() return for feature %hs. (hrResult = 0x%x)\r\n"),
- m_pszFeature,
- hrResult);
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
-
-Exit:
-
- // Free local buffers.
- if(NULL != pmszFeature) HeapFree(m_hHeap, 0, pmszFeature);
- if(NULL != pmszBuf) HeapFree(m_hHeap, 0, pmszBuf);
- if(NULL != ppszList) HeapFree(m_hHeap, 0, ppszList);
-
- return hrResult;
-}
-
-// Gets current Options selection for LONG value.
-HRESULT COptions::GetOptionSelectionLong(CUIHelper &Helper, POEMUIOBJ poemuiobj)
-{
- PSTR pszSel = NULL;
- HRESULT hrResult = S_OK;
-
-
- // Get option selection string.
- hrResult = GetOptionSelectionString(Helper, poemuiobj, &pszSel);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("COptions::GetOptionSelectionLong() failed to get string for GetOptions() return for feature %hs. (hrResult = 0x%x)\r\n"),
- m_pszFeature,
- hrResult);
-
- goto Exit;
- }
-
- // Convert string option to LONG and uses that as the selection.
- if(NULL != pszSel) m_Sel = atol(pszSel);
-
-
-Exit:
-
- // Free local buffers.
- if(NULL != pszSel) HeapFree(m_hHeap, 0, pszSel);
-
- return hrResult;
-}
-
-// Gets current Options selection for SHORT value.
-HRESULT COptions::GetOptionSelectionShort(CUIHelper &Helper, POEMUIOBJ poemuiobj)
-{
- PSTR pszSel = NULL;
- HRESULT hrResult = S_OK;
-
-
- // Get option selection string.
- hrResult = GetOptionSelectionString(Helper, poemuiobj, &pszSel);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("COptions::GetOptionSelectionLong() failed to get string for GetOptions() return for feature %hs. (hrResult = 0x%x)\r\n"),
- m_pszFeature,
- hrResult);
-
- goto Exit;
- }
-
- // Convert string option to LONG and uses that as the selection.
- if(NULL != pszSel) m_Sel = atoi(pszSel) & 0x00ffff;
-
-
-Exit:
-
- // Free local buffers.
- if(NULL != pszSel) HeapFree(m_hHeap, 0, pszSel);
-
- return hrResult;
-}
-
-// Gets current option selection for feature.
-HRESULT COptions::GetOptionSelectionIndex(CUIHelper &Helper, POEMUIOBJ poemuiobj)
-{
- PSTR pszSel = NULL;
- HRESULT hrResult = S_OK;
-
-
- // Get option selection string.
- hrResult = GetOptionSelectionString(Helper, poemuiobj, &pszSel);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("COptions::GetOptionSelectionIndex() failed to get string for GetOptions() return for feature %hs. (hrResult = 0x%x)\r\n"),
- m_pszFeature,
- hrResult);
-
- goto Exit;
- }
-
- // Find the matching option for the string returned from GetOption.
- m_Sel = FindOption(pszSel, m_wOptions - 1);
-
-
-Exit:
-
- // Free local buffers.
- if(NULL != pszSel) HeapFree(m_hHeap, 0, pszSel);
-
- return hrResult;
-}
-
-
-
-//
-// Public Methods
-//
-
-// Default constructor
-COptions::COptions()
-{
- Init();
-}
-
-// Destructor
-COptions::~COptions()
-{
- Clear();
-}
-
-// Get the option list for a feature
-HRESULT COptions::Acquire(_In_ HANDLE hHeap,
- CUIHelper &Helper,
- _In_ POEMUIOBJ poemuiobj,
- _In_ PCSTR pszFeature)
-{
- DWORD dwNeeded = 0;
- HRESULT hrResult = S_OK;
-
-
- VERBOSE(DLLTEXT("COptions::Acquire(0x%p, Helper, 0x%p, %hs) entered.\r\n"),
- hHeap,
- poemuiobj,
- pszFeature ? pszFeature : "NULL");
-
- // Don't retreive the Options again if we already got them.
- if( (0 < m_wOptions)
- &&
- (NULL != m_pszFeature)
- &&
- !lstrcmpA(m_pszFeature, pszFeature)
- )
- {
- VERBOSE(DLLTEXT("COptions::Acquire() already have options for feature %hs.\r\n"), m_pszFeature);
- VERBOSE(DLLTEXT("COptions::Acquire() returning with HRESULT of S_OK\r\n"));
-
- return S_OK;
- }
-
- // Save the heap handle for use later, such as freeing memory at destruction.
- m_hHeap = hHeap;
-
- // Store Keyword string.
- m_pszFeature = pszFeature;
-
-
- //
- // Enumerate Options.
- //
-
-
- // Some features require special handling for initializing their options.
- // EnumOpionts isn't implemented for these features.
- // Return of E_NOTIMPL indicates it isn't the feature doesn't
- // need special handling.
- hrResult = GetOptionsForSpecialFeatures(Helper, poemuiobj);
- if( SUCCEEDED(hrResult)
- ||
- (!SUCCEEDED(hrResult) && (E_NOTIMPL != hrResult) )
- )
- {
- // We either dealt with the special feature or incounter an error
- // trying to deal with the special feature.
-
- goto Exit;
- }
-
- // To try to cut down on having to call EnumOptions more than once,
- // pre-allocate a buffer of reasonable size.
- m_dwSize = INITIAL_ENUM_OPTIONS_SIZE;
- m_pmszRaw = (PSTR) HeapAlloc(m_hHeap, HEAP_ZERO_MEMORY, m_dwSize);
- if(NULL == m_pmszRaw)
- {
- ERR(ERRORTEXT("COptions::Acquire() alloc for options for feature %hs failed.\r\n"), m_pszFeature);
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
-
- // Try to get options list with initial buffer.
- hrResult = Helper.EnumOptions(poemuiobj, 0, m_pszFeature, m_pmszRaw, m_dwSize, &dwNeeded);
- if( (E_OUTOFMEMORY == hrResult) && (m_dwSize < dwNeeded))
- {
- PSTR pTemp;
-
-
- // INVARIANT: options list multi-sz wasn't large enough.
-
- // Re-allocate the buffer and try again.
- pTemp = (PSTR) HeapReAlloc(m_hHeap, HEAP_ZERO_MEMORY, m_pmszRaw, dwNeeded);
- if(NULL == pTemp)
- {
- ERR(ERRORTEXT("COptions::Acquire() re-alloc for options list for feature %hs failed.\r\n"), m_pszFeature);
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
- m_pmszRaw = pTemp;
- m_dwSize = dwNeeded;
-
- // Try again to get the options list.
- hrResult = Helper.EnumOptions(poemuiobj, 0, m_pszFeature, m_pmszRaw, m_dwSize, &dwNeeded);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("COptions::Acquire() failed to EnumOptions() for feature %hs after re-allocating buffer.\r\n"), m_pszFeature);
-
- goto Exit;
- }
- }
-
- // Make sure we got the option list.
- // Can't do anything more with out it.
- if(!SUCCEEDED(hrResult))
- {
- if(E_NOTIMPL != hrResult) ERR(ERRORTEXT("COptions::Acquire() failed to enumerate options for feature %hs. (hrResult = 0x%x)\r\n"), m_pszFeature, hrResult);
-
- goto Exit;
- }
-
- // INVARIANT: successfully got option keyword list.
-
- // Create array of string pointers to the Option names
- // in the multi-sz we got from EnumOptions().
- hrResult = MakeStrPtrList(m_hHeap, m_pmszRaw, &m_ppszOptions, &m_wOptions);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("COptions::Acquire() failed to create pointer list to options. (hrResult = 0x%x)\r\n"), hrResult);
-
- goto Exit;
- }
-
- //
- // Build Option Information
- //
-
- // Allocate array to hold feature info
- m_pInfo = (POPTION_INFO) HeapAlloc(m_hHeap, HEAP_ZERO_MEMORY, m_wOptions * sizeof(OPTION_INFO));
- if(NULL == m_pInfo)
- {
- ERR(ERRORTEXT("COptions::Acquire() failed to alloc feature info array.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- // For each option, build or get useful information, such as display name.
- for(WORD wIndex = 0; wIndex < m_wOptions; ++wIndex)
- {
- POPTION_INFO pCurrent = m_pInfo + wIndex;
-
-
- // Get or build a keyword mapping entry
- // that maps from keyword to usefully where to get info, such as
- // display name, icon, option type, for keywords that may not be
- // able to get info for from Helper.
- pCurrent->pMapping = FindKeywordMapping(gkmOptionMap, NUM_OPTION_MAP, m_ppszOptions[wIndex]);
-
- // Get display names for each of the Options.
- // The function implements a heuristic for detemining the display name,
- // since can't get the display name from the UI Helper for all Options.
- hrResult = DetermineOptionDisplayName(m_hHeap,
- Helper,
- poemuiobj,
- m_pszFeature,
- m_ppszOptions[wIndex],
- pCurrent->pMapping,
- &pCurrent->pszDisplayName);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("COptions::Acquire() failed to get display name for %hs of feature %hs. (hrResult = 0x%x)\r\n"),
- m_ppszOptions[wIndex],
- m_pszFeature,
- hrResult);
-
- goto Exit;
- }
- }
-
- //
- // Get current option selection.
- //
-
- hrResult = GetOptionSelectionIndex(Helper, poemuiobj);
-
-
-Exit:
-
- // Clean up if weren't successful.
- if(!SUCCEEDED(hrResult))
- {
- Clear();
- }
-
- VERBOSE(DLLTEXT("COptions::Acquire() returning with HRESULT of 0x%x\r\n"), hrResult);
-
- return hrResult;
-}
-
-// Return nth options keyword.
-PCSTR COptions::GetKeyword(WORD wIndex) const
-{
- // Validate parameters.
- if( (wIndex >= m_wOptions)
- ||
- (NULL == m_ppszOptions)
- )
- {
- return NULL;
- }
-
- return m_ppszOptions[wIndex];
-}
-
-// Return nth options display name.
-PCWSTR COptions::GetName(WORD wIndex) const
-{
- // Validate parameters.
- if( (wIndex >= m_wOptions)
- ||
- (NULL == m_pInfo)
- )
- {
- ERR(ERRORTEXT("COptions::GetName() invalid parameters.\r\n"));
-
- return NULL;
- }
-
- if(NULL == m_pInfo[wIndex].pszDisplayName) ERR(ERRORTEXT("COptions::GetName() returning NULL option display name.\r\n"));
-
- return m_pInfo[wIndex].pszDisplayName;
-}
-
-// Find option with matching keyword string.
-WORD COptions::FindOption(_In_opt_ PCSTR pszOption, WORD wDefault) const
-{
- BOOL bFound = FALSE;
- WORD wMatch = wDefault;
-
-
- // Validate parameters.
- if( (NULL == pszOption)
- ||
- (NULL == m_ppszOptions)
- )
- {
- return wDefault;
- }
-
- // Walk the option keyword looking for a match.
- for(WORD wIndex = 0; !bFound && (wIndex < m_wOptions); ++wIndex)
- {
- bFound = !lstrcmpA(pszOption, m_ppszOptions[wIndex]);
- if(bFound)
- {
- wMatch = wIndex;
- }
- }
-
- return wMatch;
-}
-
-// Initializes OptItem with options for a feature.
-HRESULT COptions::InitOptItem(_In_ HANDLE hHeap, POPTITEM pOptItem)
-{
- WORD wParams = 0;
- WORD wOptions = 0;
- HRESULT hrResult = S_OK;
-
-
- // Set option selection.
- pOptItem->pSel = m_pSel;
-
- // Get count of number of options.
- // NOTE: Some feature options have no counts.
- wOptions = GetCount();
-
- // Different OPTTYPE types require different number of OPTPARAMs.
- switch(m_cType)
- {
- // For up down arrow control, the OPTPARAMs need is 2.
- case TVOT_UDARROW:
- wParams = 2;
- break;
-
- // For combobox, the OPTPARAMs needed is on per options.
- case TVOT_COMBOBOX:
- wParams = wOptions;
- break;
-
- // The default is the option count.
- default:
- WARNING(DLLTEXT("COptions::InitOptItem() OPTTYPE type %d num of OPTPARAMs not handled. Default to option count of %d.\r\n"),
- m_cType,
- wOptions);
- wParams = wOptions;
- break;
- }
-
- // Only do OPTTYPEs if we have non-Zero number of OPTPARAMs.
- // Every OPTTYPE has at leas one OPTPARAM.
- if(0 < wParams)
- {
- // Allocate memory for feature options.
- pOptItem->pOptType = CreateOptType(hHeap, wParams);
- if(NULL == pOptItem->pOptType)
- {
- ERR(ERRORTEXT("COptions::InitOptItem() failed to allocate OPTTYPEs for OPTITEM %hs.\r\n"),
- m_pszFeature);
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- // Set OPTTYPE.
- pOptItem->pOptType->Type = m_cType;
-
- // Different OPTTYPE types require different initialization.
- switch(m_cType)
- {
- // For up down arrow control, OPTPARAM[0] is used by the contrl.
- // pOptParam[0]->pData is the Units description string.
- // pOptParam[1].IconID is the min limit.
- // pOptParam[1].lParam is the max limit.
- case TVOT_UDARROW:
- assert(2 == wParams);
- pOptItem->pOptType->pOptParam[0].pData = m_pszUnits;
- pOptItem->pOptType->pOptParam[1].IconID = m_ptRange.x;
- pOptItem->pOptType->pOptParam[1].lParam = m_ptRange.y;
- break;
-
- // For combobox, the pOptParam[n].pData is the display name of the option.
- case TVOT_COMBOBOX:
- for(WORD wIndex = 0; wIndex < wParams; ++wIndex)
- {
- pOptItem->pOptType->pOptParam[wIndex].pData = const_cast<PWSTR>(GetName(wIndex));
- }
- break;
-
- default:
- ERR(ERRORTEXT("COptions::InitOptItem() OPTTYPE type %d OPTTYPE init not handled.\r\n"),
- m_cType);
- break;
- }
- }
-
-
-Exit:
-
- return hrResult;
-}
-
-// Refresh option selection.
-HRESULT COptions::RefreshSelection(CUIHelper &Helper, POEMUIOBJ poemuiobj)
-{
- HRESULT hrResult = S_OK;
-
-
- // Method for getting option selection is based
- // on OPTTYPE type.
- switch(m_cType)
- {
-
- case TVOT_UDARROW:
- hrResult = GetOptionSelectionShort(Helper, poemuiobj);
- break;
-
- case TVOT_COMBOBOX:
- hrResult = GetOptionSelectionIndex(Helper, poemuiobj);
- break;
-
- default:
- ERR(ERRORTEXT("COptions::RefreshSelection() not handled for type %d OPTTYPE.\r\n"),
- m_cType);
- break;
- }
-
- return hrResult;
-}
-
-
-
-////////////////////////////////////////////
-//
-// CFeatures Methods
-//
-
-//
-// Private Methods
-//
-
-// Initializes class
-void CFeatures::Init()
-{
- // Initialize data members.
- m_wFeatures = 0;
- m_wDocFeatures = 0;
- m_wPrintFeatures = 0;
- m_pmszRaw = NULL;
- m_ppszKeywords = NULL;
- m_dwSize = 0;
- m_hHeap = NULL;
- m_pInfo = NULL;
-}
-
-// Cleans up class and re-initialize it.
-void CFeatures::Clear()
-{
- // Free memory associated with data members.
- if(NULL != m_pmszRaw) HeapFree(m_hHeap, 0, m_pmszRaw);
- if(NULL != m_ppszKeywords) HeapFree(m_hHeap, 0, m_ppszKeywords);
-
- // Free feature info
- FreeFeatureInfo();
-
- // Re-initialize
- Init();
-}
-
-// Free feature info
-void CFeatures::FreeFeatureInfo()
-{
- // Validate parameters.
- if( (NULL == m_hHeap)
- ||
- (NULL == m_pInfo)
- )
- {
- return;
- }
-
- // Free memory associated with feature info.
- for(WORD wIndex = 0; wIndex < m_wFeatures; ++wIndex)
- {
- PWSTR pszDisplay = m_pInfo[wIndex].pszDisplayName;
-
-
- // Free display name.
- if( (NULL != pszDisplay)
- &&
- !IS_INTRESOURCE(pszDisplay)
- )
- {
- HeapFree(m_hHeap, 0, pszDisplay);
- }
- }
-
- // Free feature info array.
- // Feature Info array allocated with new so
- // that each of the constructors for COptions
- // in fhte Feature Info array will be called.
- delete[] m_pInfo;
-}
-
-// Turns index for mode to modeless index, which
-// is the real index to the feature.
-WORD CFeatures::GetModelessIndex(WORD wIndex, DWORD dwMode) const
-{
- WORD wCount = 0;
-
-
- switch(dwMode)
- {
- // Number of features, all modes
- case 0:
- wCount = wIndex;
- break;
-
- // Find the nth feature that matches the mode
- case OEMCUIP_DOCPROP:
- case OEMCUIP_PRNPROP:
- // Walk the feature list looking for nth feature
- // with matching mode.
- for(wCount = 0; wCount < m_wFeatures; ++wCount)
- {
- // Count down to the feature we want.
- // Only count down for matching modes.
- if(dwMode == m_pInfo[wCount].dwMode)
- {
- if(0 == wIndex)
- {
- break;
- }
- else
- {
- --wIndex;
- }
- }
- }
- break;
- }
-
- return wCount;
-}
-
-
-//
-// Public Methods
-//
-
-// Default constructor
-CFeatures::CFeatures()
-{
- Init();
-}
-
-// Destructor
-CFeatures::~CFeatures()
-{
- // Clean up class.
- Clear();
-}
-
-// Gets Core Driver Features, if not already retrieved.
-HRESULT CFeatures::Acquire(_In_ HANDLE hHeap,
- CUIHelper &Helper,
- _In_ POEMUIOBJ poemuiobj
- )
-{
- WORD wIndex = 0;
- DWORD dwNeeded = 0;
- HRESULT hrResult = S_OK;
-
-
- VERBOSE(DLLTEXT("CFeatures::Acquire(0x%p, Helper, 0x%p) entered.\r\n"),
- hHeap,
- poemuiobj);
-
- // Don't retreive the Features again if we already got them.
- if(0 < m_wFeatures)
- {
- VERBOSE(DLLTEXT("CFeatures::Acquire() features already enumerated.\r\n"));
- VERBOSE(DLLTEXT("CFeatures::Acquire() returning S_OK.\r\n"));
-
- return S_OK;
- }
-
- // Save the heap handle for use later, such as freeing memory at destruction.
- m_hHeap = hHeap;
-
- //
- // Enumerate features.
- //
-
- // To try to cut down on having to call EnumFeatures more than once,
- // pre-allocate a buffer of reasonable size.
- m_dwSize = INITIAL_ENUM_FEATURES_SIZE;
- m_pmszRaw = (PSTR) HeapAlloc(m_hHeap, HEAP_ZERO_MEMORY, m_dwSize);
- if(NULL == m_pmszRaw)
- {
- ERR(ERRORTEXT("CFeatures::Acquire() alloc for feature list failed.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
-
- // Try to get feature list with initial buffer.
- hrResult = Helper.EnumFeatures(poemuiobj, 0, m_pmszRaw, m_dwSize, &dwNeeded);
- if( (E_OUTOFMEMORY == hrResult) && (m_dwSize < dwNeeded))
- {
- PSTR pTemp;
-
-
- // INVARIANT: feature list multi-sz wasn't large enough.
-
-
- // Re-allocate the buffer and try again.
- pTemp = (PSTR) HeapReAlloc(m_hHeap, HEAP_ZERO_MEMORY, m_pmszRaw, dwNeeded);
- if(NULL == pTemp)
- {
- ERR(ERRORTEXT("CFeatures::Acquire() re-alloc for feature list failed.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
- m_pmszRaw = pTemp;
- m_dwSize = dwNeeded;
-
- // Try again to get the feature list.
- hrResult = Helper.EnumFeatures(poemuiobj, 0, m_pmszRaw, m_dwSize, &dwNeeded);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("CFeatures::Acquire() failed to EnumFeatures() after re-allocating buffer.\r\n"));
-
- goto Exit;
- }
- }
-
- // Make sure we got the feature list.
- // Can't do anything more with out it.
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("CFeatures::Acquire() failed to enumerate features. (hrResult = 0x%x)\r\n"), hrResult);
-
- goto Exit;
- }
-
- // INVARIANT: successfully got feature keyword list.
-
- // Create array of string pointers to the feature keywords
- // in the multi-sz we got from EnumFreatures().
- hrResult = MakeStrPtrList(m_hHeap, m_pmszRaw, &m_ppszKeywords, &m_wFeatures);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("CFeatures::Acquire() failed to create pointer list to keywords. (hrResult = 0x%x)\r\n"), hrResult);
-
- goto Exit;
- }
-
-
- //
- // Build Feature Information
- //
-
-
- // Allocate array to hold feature info
- // Use new for allocation so class
- // constructors/destructors get called.
- m_pInfo = new FEATURE_INFO[m_wFeatures];
- if(NULL == m_pInfo)
- {
- ERR(ERRORTEXT("CFeatures::Acquire() failed to alloc feature info array.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- // For each feature, build/get feature info....
- for(wIndex = 0; wIndex < m_wFeatures; ++wIndex)
- {
- PFEATURE_INFO pCurrent = m_pInfo + wIndex;
-
-
- // Get or build a keyword mapping entry
- // that maps from keyword to usefully where to get info, such as
- // display name, icon, option type, for keywords that may not be
- // able to get info for from Helper.
- pCurrent->pMapping = FindKeywordMapping(gkmFeatureMap, NUM_FEATURE_MAP, m_ppszKeywords[wIndex]);
-
- // Get display names for each of the featurs.
- // The function implements a heuristic for detemining the display name,
- // since can't get the display name from the UI Helper for all features.
- hrResult = DetermineFeatureDisplayName(m_hHeap,
- Helper,
- poemuiobj,
- m_ppszKeywords[wIndex],
- pCurrent->pMapping,
- &pCurrent->pszDisplayName);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("CFeatures::Acquire() failed to get display name for feature %hs. (hrResult = 0x%x)\r\n"),
- m_ppszKeywords[wIndex],
- hrResult);
-
- goto Exit;
- }
-
- // Get options for each feature.
- // NOTE: some features don't have options; the HRESULT will be E_NOTIMPL for these.
- hrResult = pCurrent->Options.Acquire(hHeap,
- Helper,
- poemuiobj,
- m_ppszKeywords[wIndex]);
- if(!SUCCEEDED(hrResult) && (E_NOTIMPL != hrResult))
- {
- ERR(ERRORTEXT("CFeatures::Acquire() failed to get options for feature %hs. (hrResult = 0x%x)\r\n"),
- m_ppszKeywords[wIndex],
- hrResult);
-
- goto Exit;
- }
-
- // Determine if feature is Printer or Document sticky.
- hrResult = DetermineStickiness(Helper,
- poemuiobj,
- m_ppszKeywords[wIndex],
- pCurrent->pMapping,
- &pCurrent->dwMode);
- // Don't propagate error if failure from unhandled driver feature.
- if( !SUCCEEDED(hrResult)
- &&
- !IS_DRIVER_FEATURE(m_ppszKeywords[wIndex])
- )
- {
- ERR(ERRORTEXT("CFeatures::Acquire() failed to determine stickiness for feature %hs. (hrResult = 0x%x)\r\n"),
- m_ppszKeywords[wIndex],
- hrResult);
-
- goto Exit;
- }
-
- // Keep track of mode counts.
- switch(pCurrent->dwMode)
- {
- case OEMCUIP_DOCPROP:
- ++m_wDocFeatures;
- break;
-
- case OEMCUIP_PRNPROP:
- ++m_wPrintFeatures;
- break;
-
- default:
- ERR(ERRORTEXT("CFeatures::Acquire() unknown stickiness for feature %hs.\r\n"),
- m_ppszKeywords[wIndex]);
- break;
- }
-
- }
-
- // INVARIANT: successfully build feature list.
-
- // Make sure that we always return success if we reach this point.
- hrResult = S_OK;
-
-
-Exit:
-
- // Clean up if weren't successful.
- if(!SUCCEEDED(hrResult))
- {
- Clear();
- }
-
-
- VERBOSE(DLLTEXT("CFeatures::Acquire() returning HRESULT of 0x%x.\r\n"), hrResult);
-
- return hrResult;
-}
-
-// Returns number of features contained in class instance.
-WORD CFeatures::GetCount(DWORD dwMode) const
-{
- WORD wCount = 0;
-
-
- switch(dwMode)
- {
- // Number of features, all modes
- case 0:
- wCount = m_wFeatures;
- break;
-
- case OEMCUIP_DOCPROP:
- wCount = m_wDocFeatures;
- break;
-
- case OEMCUIP_PRNPROP:
- wCount = m_wPrintFeatures;
- break;
-
- }
-
- VERBOSE(DLLTEXT("CFeatures::GetCount() returning %d\r\n"), wCount);
-
- return wCount;
-}
-
-// Returns nth feature's keyword
-PCSTR CFeatures::GetKeyword(WORD wIndex, DWORD dwMode) const
-{
- // Validate parameters.
- if( (wIndex >= GetCount(dwMode))
- ||
- (NULL == m_ppszKeywords)
- )
- {
- return NULL;
- }
-
- // Get internal index.
- wIndex = GetModelessIndex(wIndex, dwMode);
-
- // Return keyword
- return m_ppszKeywords[wIndex];
-}
-
-// Return nth feature's Display Name.
-PCWSTR CFeatures::GetName(WORD wIndex, DWORD dwMode) const
-{
- // Validate parameters.
- if( (wIndex >= GetCount(dwMode))
- ||
- (NULL == m_pInfo)
- )
- {
- return NULL;
- }
-
- // Get internal index.
- wIndex = GetModelessIndex(wIndex, dwMode);
-
- // Return display name.
- return m_pInfo[wIndex].pszDisplayName;
-}
-
-// Returns pointer to option class for nth feature.
-COptions* CFeatures::GetOptions(WORD wIndex, DWORD dwMode) const
-{
- // Validate parameters.
- if( (wIndex >= GetCount(dwMode))
- ||
- (NULL == m_pInfo)
- )
- {
- return NULL;
- }
-
- // Get internal index.
- wIndex = GetModelessIndex(wIndex, dwMode);
-
- // Return options pointer.
- return &m_pInfo[wIndex].Options;
-}
-
-// Formats OPTITEM for specied feature.
-HRESULT CFeatures::InitOptItem(_In_ HANDLE hHeap, POPTITEM pOptItem, WORD wIndex, DWORD dwMode)
-{
- COptions *pOptions = NULL;
- HRESULT hrResult = S_OK;
- PFEATUREOPTITEMDATA pData = NULL;
-
-
- // Validate parameters.
- if( (wIndex >= GetCount(dwMode))
- ||
- (NULL == m_pInfo)
- ||
- (NULL == pOptItem)
- )
- {
- return E_INVALIDARG;
- }
-
- // Map mode index to internal index.
- wIndex = GetModelessIndex(wIndex, dwMode);
-
- // Get name of feature.
- pOptItem->pName = const_cast<PWSTR>(GetName(wIndex));
-
- // Add feature OPTITEM data to OPTITEM to facilitate saving
- // selection changes.
- pData = (PFEATUREOPTITEMDATA) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(FEATUREOPTITEMDATA));
- if(NULL == pData)
- {
- ERR(ERRORTEXT("CFeatures::InitOptItem() failed to allocated memory for feature OPTITEM data."));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
- pData->dwSize = sizeof(FEATUREOPTITEMDATA);
- pData->dwTag = FEATURE_OPTITEM_TAG;
- pData->pszFeatureKeyword = GetKeyword(wIndex);
- pData->pOptions = GetOptions(wIndex);
- pOptItem->UserData = (ULONG_PTR) pData;
-
-
- // Get pointer to options for this feature.
- // NOTE: some features do not have option list for various reasons.
- pOptions = GetOptions(wIndex);
- if(NULL != pOptions)
- {
- // Initialize COption parts of the OPTITEM
- hrResult = pOptions->InitOptItem(hHeap, pOptItem);
- }
-
-Exit:
-
- Dump(pOptItem);
-
- return hrResult;
-}
-
-//////////////////////////////////////////////////
-//
-// Regular functions not part of class
-//
-//////////////////////////////////////////////////
-
-
-// Maps feature keywords to display names for the features.
-HRESULT DetermineFeatureDisplayName(_In_ HANDLE hHeap,
- CUIHelper &Helper,
- POEMUIOBJ poemuiobj,
- _In_ PCSTR pszKeyword,
- const PKEYWORDMAP pMapping,
- _Outptr_result_maybenull_ PWSTR *ppszDisplayName)
-{
- DWORD dwDataType = 0;
- DWORD dwSize = INITIAL_FEATURE_DISPLAY_NAME_SIZE;
- DWORD dwNeeded = 0;
- HRESULT hrResult = S_OK;
-
-
- // Validate parameters.
- if( (NULL == hHeap)
- ||
- (NULL == pszKeyword)
- ||
- (NULL == ppszDisplayName)
- )
- {
- ERR(ERRORTEXT("DetermineFeatureDisplayName() invalid arguement.\r\n"));
-
- hrResult = E_INVALIDARG;
- goto Exit;
- }
-
- //
- // Call the Helper function.
- //
-
- // Helper will return Display Names for PPD Features, but
- // not for Driver Synthisized features (i.e. features prefixed with %).
- // Do it for Driver Synthisized features, just in case the helper
- // interface changes to support it.
-
- // Pre-allocate a buffer of reasonable size to try
- // to one have to call GetFeatureAttribute() once.
- *ppszDisplayName = (PWSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize);
- if(NULL == *ppszDisplayName)
- {
- ERR(ERRORTEXT("DetermineFeatureDisplayName() alloc for feature display name failed.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- // Try to get diplay name for feature from Helper.
- hrResult = Helper.GetFeatureAttribute(poemuiobj,
- 0,
- pszKeyword,
- "DisplayName",
- &dwDataType,
- (PBYTE) *ppszDisplayName,
- dwSize,
- &dwNeeded);
- if( (E_OUTOFMEMORY == hrResult) && (dwSize < dwNeeded))
- {
- PWSTR pTemp;
-
-
- // INVARIANT: initial buffer wasn't large enough.
-
- // Re-alloc buffer and try again.
- pTemp = (PWSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, *ppszDisplayName, dwNeeded);
- if(NULL == pTemp)
- {
- ERR(ERRORTEXT("DetermineFeatureDisplayName() re-alloc for feature display name failed.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
- *ppszDisplayName = pTemp;
-
- // Try to get the display name from Helper, again.
- hrResult = Helper.GetFeatureAttribute(poemuiobj,
- 0,
- pszKeyword,
- "DisplayName",
- &dwDataType,
- (PBYTE) *ppszDisplayName,
- dwNeeded,
- &dwNeeded);
- }
-
- if(SUCCEEDED(hrResult))
- {
- // INVARIANT: Successfully got display name from Helper for feature.
- // Don't need to do anything more.
-
- // Check the data type, it should be kADT_UNICODE.
- if(kADT_UNICODE != dwDataType) WARNING(DLLTEXT("DetermineFeatureDisplayName() feature attribute type not kADT_UNICODE. (dwDataType = %d)\r\n"), dwDataType);
-
- goto Exit;
- }
-
- // INVARIANT: Did not get the display name from the Helper.
-
- // Free memory allocated for call to Helper.
- if(NULL != *ppszDisplayName)
- {
- HeapFree(hHeap, 0, *ppszDisplayName);
- *ppszDisplayName = NULL;
- }
-
- // Try alternative methods for getting the display name other
- // than from the Helper function.
- // If we have a mapping entry, then try to get resource string
- // for the display name.
- // Otherwise, covert the keyword to UNICODE and use that.
- if(NULL != pMapping)
- {
- //
- // Try mapping the keyword to resource string.
- //
-
- hrResult = GetDisplayNameFromMapping(hHeap, pMapping, ppszDisplayName);
- }
- else
- {
- //
- // Convert the keyword to UNICODE and use that.
- //
-
- // Convert ANSI keyword to Unicode string for display name.
- // Need to remove the % for Driver Synthisized features.
- // For debug version, add marker that shows that the display name was faked.
- PCSTR pConvert = IS_DRIVER_FEATURE(pszKeyword) ? pszKeyword + 1 : pszKeyword;
- #if DBG
- CHAR szTemp[256];
- if(FAILED(StringCbPrintfA(szTemp, sizeof(szTemp), "%s (Keyword)", pConvert)))
- {
- ERR(ERRORTEXT("DetermineFeatureDisplayName() StringCbPrintfA() called failed.\r\n"));
- }
- pConvert = szTemp;
- #endif
- *ppszDisplayName = MakeUnicodeString(hHeap, pConvert);
- if(NULL == *ppszDisplayName)
- {
- ERR(ERRORTEXT("DetermineFeatureDisplayName() alloc for feature display name failed.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- // Return success even though we faked a display name.
- hrResult = S_OK;
- }
-
-
-Exit:
-
- // If failed, then return no string.
- if(!SUCCEEDED(hrResult))
- {
- if(ppszDisplayName && NULL != *ppszDisplayName)
- {
- HeapFree(hHeap, 0, *ppszDisplayName);
- *ppszDisplayName = NULL;
- }
- }
-
- return hrResult;
-}
-
-// Maps option keywords to display names for the option.
-HRESULT DetermineOptionDisplayName(_In_ HANDLE hHeap,
- CUIHelper &Helper,
- POEMUIOBJ poemuiobj,
- _In_ PCSTR pszFeature,
- _In_ PCSTR pszOption,
- const PKEYWORDMAP pMapping,
- _Outptr_result_maybenull_ PWSTR *ppszDisplayName)
-{
- DWORD dwDataType = 0;
- DWORD dwSize = INITIAL_OPTION_DISPLAY_NAME_SIZE;
- DWORD dwNeeded = 0;
- HRESULT hrResult = S_OK;
-
-
- // Validate parameters.
- if( (NULL == hHeap)
- ||
- (NULL == pszFeature)
- ||
- (NULL == pszOption)
- ||
- (NULL == ppszDisplayName)
- )
- {
- ERR(ERRORTEXT("DetermineOptionDisplayName() invalid arguement.\r\n"));
-
- hrResult = E_INVALIDARG;
- goto Exit;
- }
-
- //
- // Call the Helper function.
- //
-
- // Helper will return Display Names for PPD Feature Options, but
- // not for Driver Synthisized features options (i.e. features prefixed with %).
- // Do it for all options, just in case the helper interface changes to support it.
-
- // Pre-allocate a buffer of reasonable size to try
- // to one have to call GetOptionAttribute() once.
- *ppszDisplayName = (PWSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize);
- if(NULL == *ppszDisplayName)
- {
- ERR(ERRORTEXT("DetermineOptionDisplayName() alloc for feature display name failed.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- // Try to get diplay name for feature from Helper.
- hrResult = Helper.GetOptionAttribute(poemuiobj,
- 0,
- pszFeature,
- pszOption,
- "DisplayName",
- &dwDataType,
- (PBYTE) *ppszDisplayName,
- dwSize,
- &dwNeeded);
- if( (E_OUTOFMEMORY == hrResult) && (dwSize < dwNeeded))
- {
- PWSTR pTemp;
-
-
- // INVARIANT: initial buffer wasn't large enough.
-
- // Re-alloc buffer and try again.
- pTemp = (PWSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, *ppszDisplayName, dwNeeded);
- if(NULL == pTemp)
- {
- ERR(ERRORTEXT("GetOptionAttribute() re-alloc for feature display name failed.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
- *ppszDisplayName = pTemp;
-
- // Try to get the display name from Helper, again.
- hrResult = Helper.GetOptionAttribute(poemuiobj,
- 0,
- pszFeature,
- pszOption,
- "DisplayName",
- &dwDataType,
- (PBYTE) *ppszDisplayName,
- dwNeeded,
- &dwNeeded);
- }
-
- if(SUCCEEDED(hrResult))
- {
- // INVARIANT: Successfully got display name from Helper for feature.
- // Don't need to do anything more.
-
- // Check the data type, it should be kADT_UNICODE.
- if(kADT_UNICODE != dwDataType) WARNING(DLLTEXT("DetermineOptionDisplayName() feature attribute type not kADT_UNICODE. (dwDataType = %d)\r\n"), dwDataType);
-
- goto Exit;
- }
-
- // INVARIANT: Did not get the display name from the Helper.
-
- // Free memory allocated for call to Helper.
- if(NULL != *ppszDisplayName)
- {
- HeapFree(hHeap, 0, *ppszDisplayName);
- *ppszDisplayName = NULL;
- }
-
- // Try alternative methods for getting the display name other
- // than from the Helper function.
- // If we have a mapping entry, then try to get resource string
- // for the display name.
- // Otherwise, covert the keyword to UNICODE and use that.
- if(NULL != pMapping)
- {
- //
- // Try mapping the keyword to resource string.
- //
-
- hrResult = GetDisplayNameFromMapping(hHeap, pMapping, ppszDisplayName);
- }
- else
- {
- //
- // Convert the keyword to UNICODE and use that.
- //
-
- // Convert ANSI keyword to Unicode string for display name.
- // For debug version, add marker that shows that the display name was faked.
- PCSTR pConvert = pszOption;
- #if DBG
- CHAR szTemp[256];
- if(FAILED(StringCbPrintfA(szTemp, sizeof(szTemp), "%s (Keyword)", pConvert)))
- {
- ERR(ERRORTEXT("DetermineOptionDisplayName() StringCbPrintfA() called failed.\r\n"));
- }
- pConvert = szTemp;
- #endif
- *ppszDisplayName = MakeUnicodeString(hHeap, pConvert);
- if(NULL == *ppszDisplayName)
- {
- ERR(ERRORTEXT("DetermineOptionDisplayName() alloc for feature display name failed.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- // Return success even though we faked a display name.
- hrResult = S_OK;
- }
-
-
-Exit:
-
- // If failed, then return no string.
- if(!SUCCEEDED(hrResult))
- {
- if(ppszDisplayName && NULL != *ppszDisplayName)
- {
- HeapFree(hHeap, 0, *ppszDisplayName);
- *ppszDisplayName = NULL;
- }
- }
-
- return hrResult;
-}
-
-// Determines sticky mode for the feature.
-HRESULT DetermineStickiness(CUIHelper &Helper,
- POEMUIOBJ poemuiobj,
- PCSTR pszKeyword,
- const PKEYWORDMAP pMapping,
- PDWORD pdwMode)
-{
- CHAR szGroupType[32] = {0};
- DWORD dwType = 0;
- DWORD dwNeeded = 0;
- HRESULT hrResult = S_OK;
-
-
- // Use mapping to see what stickiness of the feature is.
- if(NULL != pMapping)
- {
- *pdwMode = pMapping->dwMode;
- goto Exit;
- }
-
- // By default make feature Document sticky, if we don't have mapping.
- *pdwMode = OEMCUIP_DOCPROP;
-
- // Try to use Helper to determine stickiness.
- hrResult = Helper.GetFeatureAttribute(poemuiobj,
- 0,
- pszKeyword,
- "OpenGroupType",
- &dwType,
- (PBYTE) szGroupType,
- sizeof(szGroupType),
- &dwNeeded);
- if(SUCCEEDED(hrResult))
- {
- // INVARIANT: found out if feature is an installable option.
- // Installable options are the only PPD features
- // that are Printer sticky.
-
- if(!lstrcmpA(szGroupType, "InstallableOptions"))
- {
- *pdwMode = OEMCUIP_PRNPROP;
- }
- goto Exit;
- }
-
-
-Exit:
-
- return hrResult;
-}
-
-// Find the mapping entry from the keyword.
-PKEYWORDMAP FindKeywordMapping(PKEYWORDMAP pKeywordMap, WORD wMapSize, PCSTR pszKeyword)
-{
- BOOL bFound = FALSE;
- PKEYWORDMAP pMapping = NULL;
-
-
- // Walk mapping array for matching keyword.
- for(WORD wIndex = 0; !bFound && (wIndex < wMapSize); ++wIndex)
- {
- bFound = !lstrcmpA(pszKeyword, pKeywordMap[wIndex].pszKeyword);
- if(bFound)
- {
- pMapping = pKeywordMap + wIndex;
- }
- }
-
- return pMapping;
-}
-
-// Get display name from mapping entry.
-HRESULT GetDisplayNameFromMapping(_In_ HANDLE hHeap, PKEYWORDMAP pMapping, _Outptr_result_maybenull_ PWSTR *ppszDisplayName)
-{
- HMODULE hModule = NULL;
- HRESULT hrResult = S_OK;
-
-
- // Validate parameters.
- if( (NULL == hHeap)
- ||
- (NULL == pMapping)
- ||
- (NULL == ppszDisplayName)
- )
- {
- hrResult = E_INVALIDARG;
- goto Exit;
- }
-
- // Check for simple case of returning INT resource.
- if( (NULL == pMapping->pwszModule)
- ||
- IS_MAPPING_INT_RESOURCE(pMapping)
- )
- {
- // Just need to do MAKEINTRESOURCE on the resource ID and return.
- *ppszDisplayName = MAKEINTRESOURCE(pMapping->uDisplayNameID);
- goto Exit;
- }
-
- // We only need to get the module if we aren't loading the resource from
- // this module (i.e. if module name isn't NULL).
- // Also, as an optimization, we assume that the module has already been loaded,
- // since the only cases currently are this module, driver ui, and Compstui.dll.
- hModule = GetModuleHandle(pMapping->pwszModule);
- if(NULL == hModule)
- {
- DWORD dwError = GetLastError();
-
-
- ERR(ERRORTEXT("GetDisplayNameFromMapping() for failed to load module %s. (Error %d)\r\n"),
- pMapping->pwszModule,
- dwError);
-
- hrResult = HRESULT_FROM_WIN32(dwError);
- goto Exit;
- }
-
- // INVARIANT: have handle to module to load resource from or the
- // resource is being loaded from this module.
-
- // Get the string resouce.
- hrResult = GetStringResource(hHeap, hModule, pMapping->uDisplayNameID, ppszDisplayName);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("GetDisplayNameFromMapping() failed to load string. (hrResult = 0x%x)\r\n"),
- hrResult);
- goto Exit;
- }
-
-
-Exit:
-
- return hrResult;
-}
-
-// Test if an OPTITEM is an OPTITEM for a feature.
-// Macro for testing if OPTITEM is feature OPTITEM
-BOOL IsFeatureOptitem(POPTITEM pOptItem)
-{
- BOOL bRet = FALSE;
- PFEATUREOPTITEMDATA pData = NULL;
-
-
- // Make sure pointers are NULL.
- if( (NULL == pOptItem)
- ||
- (NULL == pOptItem->UserData)
- )
- {
- // INVARIANT: can't be feature OPTITEM, since one of
- // the necessary pointer are NULL.
-
- return FALSE;
- }
-
- // For convienience, assign to pointer to feature OPTITEM data.
- pData = (PFEATUREOPTITEMDATA)(pOptItem->UserData);
-
- // Check size and tag.
- bRet = (sizeof(FEATUREOPTITEMDATA) == pData->dwSize)
- &&
- (FEATURE_OPTITEM_TAG == pData->dwTag);
-
- return bRet;
-}
-
-
-
-// Walks array of OPTITEMs saving each feature OPTITEM
-// that has changed.
-HRESULT SaveFeatureOptItems(_In_ HANDLE hHeap,
- CUIHelper *pHelper,
- POEMUIOBJ poemuiobj,
- HWND hWnd,
- POPTITEM pOptItem,
- WORD wItems)
-{
- PSTR pmszPairs = NULL;
- WORD wPairs = 0;
- WORD wReasons = 0;
- DWORD dwSize = 0;
- DWORD dwResult = 0;
- PCSTR *ppszReasons = NULL;
- PWSTR pszConfilictFeature = NULL;
- PWSTR pszConfilictOption = NULL;
- PWSTR pszCaption = NULL;
- PWSTR pszFormat = NULL;
- PWSTR pszMessage = NULL;
- HRESULT hrResult = S_OK;
-
-
- // Validate parameters
- if( (NULL == hHeap)
- ||
- (NULL == pHelper)
- ||
- (NULL == pOptItem)
- )
- {
- ERR(ERRORTEXT("SaveFeatureOptItems() called with invalid parameters.\r\n"));
-
- hrResult = E_INVALIDARG;
- goto Exit;
- }
-
- // Get feature option pairs to save.
- hrResult = GetChangedFeatureOptions(hHeap, pOptItem, wItems, &pmszPairs, &wPairs, &dwSize);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("SaveFeatureOptItems() failed to get changed feature option pairs. (hrResult = 0x%x)\r\n"),
- hrResult);
-
- goto Exit;
- }
-
- // Don't need to do anything more if no feature options changed.
- if(0 == wPairs || !pmszPairs)
- {
- VERBOSE(DLLTEXT("SaveFeatureOptItems() no feature options that need to be set.\r\n"));
-
- goto Exit;
- }
-
- // Set the change feature options.
- // For the first SetOptions() call, don't have the
- // core driver UI resolve conflicts, so we can
- // prompt user for automatic resolution or let
- // them do the conflict resolving.
- hrResult = pHelper->SetOptions(poemuiobj,
- SETOPTIONS_FLAG_KEEP_CONFLICT,
- pmszPairs,
- dwSize,
- &dwResult);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("SaveFeatureOptItems() call to SetOptions() failed. (hrResult = 0x%x, dwResult = %d\r\n"),
- hrResult,
- dwResult);
-
- goto Exit;
- }
-
- // Check to see if we were able to save changed feature options,
- // or if there is a conflict that needs resolution.
- if(SETOPTIONS_RESULT_CONFLICT_REMAINED == dwResult)
- {
- int nRet;
- DWORD dwRet;
- CONFLICT Conflict;
- PKEYWORDMAP pMapping = NULL;
-
-
- // INVARIANT: constraint conflict, options weren't saved.
-
- // Get list of all features that have conflict.
- hrResult = GetFirstConflictingFeature(hHeap,
- pHelper,
- poemuiobj,
- pOptItem,
- wItems,
- &Conflict);
- if(!SUCCEEDED(hrResult))
- {
- goto Exit;
- }
-
- // Create string pointer list in to multi-sz of first conflict.
- hrResult = MakeStrPtrList(hHeap, Conflict.pmszReasons, &ppszReasons, &wReasons);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("SaveFeatureOptItems() failed to make string list for conflict reasons. (hrResult = 0x%x)\r\n"),
- hrResult);
-
- goto Exit;
- }
-
- // Ensure that we have at least 2 reasons. Later code assumes that we do.
- if (wReasons < 2)
- {
- hrResult = E_UNEXPECTED;
-
- goto Exit;
- }
-
- //
- // Get display versions of feature/option conflict reason.
- //
-
- // Get or build a keyword mapping entry
- // that maps from keyword to usefully where to get info, such as
- // display name, icon, option type, for keywords that may not be
- // able to get info for from Helper.
- pMapping = FindKeywordMapping(gkmFeatureMap, NUM_FEATURE_MAP, ppszReasons[0]);
-
- // Get display names for each of the featurs.
- // The function implements a heuristic for detemining the display name,
- // since can't get the display name from the UI Helper for all features.
- hrResult = DetermineFeatureDisplayName(hHeap,
- *pHelper,
- poemuiobj,
- ppszReasons[0],
- pMapping,
- &pszConfilictFeature);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("SaveFeatureOptItems failed to get display name for feature %hs. (hrResult = 0x%x)\r\n"),
- ppszReasons[0],
- hrResult);
-
- goto Exit;
- }
-
- // Get or build a keyword mapping entry
- // that maps from keyword to usefully where to get info, such as
- // display name, icon, option type, for keywords that may not be
- // able to get info for from Helper.
- pMapping = FindKeywordMapping(gkmOptionMap, NUM_OPTION_MAP, ppszReasons[1]);
-
- // Get option display name.
- hrResult = DetermineOptionDisplayName(hHeap,
- *pHelper,
- poemuiobj,
- ppszReasons[0],
- ppszReasons[1],
- pMapping,
- &pszConfilictOption);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("SaveFeatureOptItems() failed to get display name for %hs of feature %hs. (hrResult = 0x%x)\r\n"),
- ppszReasons[1],
- ppszReasons[0],
- hrResult);
-
- goto Exit;
- }
-
- //
- // Prompt user about how to resolve conflict.
- //
-
- // Get caption name.
- hrResult = GetStringResource(hHeap, ghInstance, IDS_NAME, &pszCaption);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("SaveFeatureOptItems() failed to get caption name. (hrResult = 0x%x)\r\n"),
- hrResult);
- goto Exit;
- }
-
- // Get message body format string.
- hrResult = GetStringResource(hHeap, ghInstance, IDS_CONSTRAINT_CONFLICT, &pszFormat);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("SaveFeatureOptItems() failed to get constraint conflict format. (hrResult = 0x%x)\r\n"),
- hrResult);
- goto Exit;
- }
-
-
- // Get messsage body.
- PVOID paArgs[4] = {pszConfilictFeature,
- pszConfilictOption,
- const_cast<PWSTR>(Conflict.pszFeature),
- Conflict.pszOption
- };
- dwRet = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_STRING | FORMAT_MESSAGE_ARGUMENT_ARRAY,
- pszFormat,
- 0,
- 0,
- (PWSTR) &pszMessage,
- 0,
- (va_list *) paArgs);
- if(0 == dwRet)
- {
- DWORD dwError = GetLastError();
-
- ERR(ERRORTEXT("SaveFeatureOptItems() failed to FormatMessage() for constraint conflict of feature %hs option %hs. (Last Error %d)\r\n"),
- Conflict.pszFeatureKeyword,
- Conflict.pszOptionKeyword,
- dwError);
-
- hrResult = HRESULT_FROM_WIN32(dwError);
- goto Exit;
- }
-
- // Display simple message box with prompt.
- nRet = MessageBox(hWnd, pszMessage, pszCaption, MB_YESNO | MB_ICONWARNING);
-
- // Check to see how user wants to resolve conflict.
- if(IDYES == nRet)
- {
- // Let core driver resolve conflict resolution.
- hrResult = pHelper->SetOptions(poemuiobj,
- SETOPTIONS_FLAG_RESOLVE_CONFLICT,
- pmszPairs,
- dwSize,
- &dwResult);
-
- // Conflict resolution requires refreshing current option
- // selection for each feature, since selection may have
- // changed because of conflict resolution.
- RefreshOptItemSelection(pHelper, poemuiobj, pOptItem, wItems);
- }
-
- // Return failure if there are still conflictts.
- if(SETOPTIONS_RESULT_CONFLICT_REMAINED == dwResult)
- {
- hrResult = E_FAIL;
- }
- }
-
-
-Exit:
-
- // Clean up...
-
- // cleanup heap allocs.
- if(NULL != pmszPairs) HeapFree(hHeap, 0, pmszPairs);
- if(NULL != ppszReasons) HeapFree(hHeap, 0, ppszReasons);
- if(NULL != pszConfilictFeature) HeapFree(hHeap, 0, pszConfilictFeature);
- if(NULL != pszConfilictOption) HeapFree(hHeap, 0, pszConfilictOption);
- if(NULL != pszCaption) HeapFree(hHeap, 0, pszCaption);
- if(NULL != pszFormat) HeapFree(hHeap, 0, pszFormat);
- if(NULL != pszMessage) LocalFree(pszMessage);
-
- return hrResult;
-}
-
-// Allocates buffer, if needed, and calls IPrintCoreUI2::WhyConsrained
-// to get reason for constraint.
-HRESULT GetWhyConstrained(_In_ HANDLE hHeap,
- CUIHelper *pHelper,
- POEMUIOBJ poemuiobj,
- _In_ PCSTR pszFeature,
- _In_ PCSTR pszOption,
- _Inout_ PSTR *ppmszReason,
- _Inout_ PDWORD pdwSize)
-{
- PSTR pmszReasonList = *ppmszReason;
- DWORD dwNeeded = 0;
- HRESULT hrResult = S_OK;
-
-
- // If buffer wasn't passed in, then allocate one.
- if( (NULL == pmszReasonList) || (0 == *pdwSize) )
- {
- // If no size or size is smaller than default, then change to default
- // size. We want to try to only allocate and call once.
- if(*pdwSize < INITIAL_GET_REASON_SIZE)
- {
- *pdwSize = INITIAL_GET_REASON_SIZE;
- }
-
- // Alloc initial buffer for reason constrained.
- pmszReasonList = (PSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, *pdwSize);
- if(NULL == pmszReasonList)
- {
- ERR(ERRORTEXT("GetWhyConstrained() failed to alloc buffer for constraint reasons for feature %hs and option %hs.\r\n"),
- pszFeature,
- pszOption);
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
- }
-
- // Get reason for constraint.
- hrResult = pHelper->WhyConstrained(poemuiobj,
- 0,
- pszFeature,
- pszOption,
- pmszReasonList,
- *pdwSize,
- &dwNeeded);
- if( (E_OUTOFMEMORY == hrResult)
- &&
- (*pdwSize < dwNeeded)
- )
- {
- PSTR pTemp;
-
-
- // INVARIANT: initial buffer not large enough.
-
- // Re-alloc buffer to needed size.
- pTemp = (PSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pmszReasonList, dwNeeded);
- if(NULL == pTemp)
- {
- ERR(ERRORTEXT("GetWhyConstrained() failed to re-allocate buffer for constraint reason for feature %hs and option %hs.\r\n"),
- pszFeature,
- pszOption);
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
- pmszReasonList = pTemp;
- *pdwSize = dwNeeded;
-
- // Retry getting constaint reason.
- hrResult = pHelper->WhyConstrained(poemuiobj,
- 0,
- pszFeature,
- pszOption,
- pmszReasonList,
- *pdwSize,
- &dwNeeded);
- }
-
-
-Exit:
-
- // On error, do clean up.
- if(!SUCCEEDED(hrResult))
- {
- // Free reason buffer.
- if(NULL != pmszReasonList) HeapFree(hHeap, 0, pmszReasonList);
-
- // Return NULL and zero size.
- *ppmszReason = NULL;
- *pdwSize = 0;
- }
- else
- {
- *ppmszReason = pmszReasonList;
- }
-
- return hrResult;
-}
-
-// Creates multi-sz list of feature option pairs that have changed.
-HRESULT GetChangedFeatureOptions(_In_ HANDLE hHeap,
- POPTITEM pOptItem,
- WORD wItems,
- _Outptr_result_maybenull_ PSTR *ppmszPairs,
- _Out_ PWORD pwPairs,
- _Out_ PDWORD pdwSize)
-{
- WORD wCount = 0;
- WORD wChanged = 0;
- WORD wPairs = 0;
- PSTR pmszPairs = NULL;
- DWORD dwNeeded = 2;
- DWORD dwOffset = 0;
- HRESULT hrResult = S_OK;
- PFEATUREOPTITEMDATA pData = NULL;
-
-
- // Walk OPTITEM array looking or changed options,
- // and calculating size needed for multi-sz buffer.
- for(wCount = 0; wCount < wItems; ++wCount)
- {
- PSTR pszOption = NULL;
-
-
- // Just go to next item if this OPTITEM hasn't
- // changed or isn't a feature OPTITEM.
- if( !(OPTIF_CHANGEONCE & pOptItem[wCount].Flags)
- ||
- !IsFeatureOptitem(pOptItem + wCount)
- )
- {
- continue;
- }
-
- // For convienience, assign to pointer to feature OPTITEM data.
- pData = (PFEATUREOPTITEMDATA)(pOptItem[wCount].UserData);
-
- // Increment options changed and size needed.
- pszOption = GetOptionKeywordFromOptItem(hHeap, pOptItem + wCount);
- if(NULL != pszOption)
- {
- ++wChanged;
-
- DWORD dwTmp = 0;
-
- if (FAILED(hrResult = SizeTToDWord(strlen(pData->pszFeatureKeyword) + strlen(pszOption) + 2, &dwTmp)))
- {
- goto Exit;
- }
-
- dwNeeded += dwTmp;
-
- // Need to free option keyword string copy
- // allocated in GetOptionKeywordFromOptItem().
- HeapFree(hHeap, 0, pszOption);
- pszOption = NULL;
- }
- }
-
- // Don't need to do anything more if no feature options changed.
- if(0 == wChanged)
- {
- goto Exit;
- }
-
- // Allocate multi-sz buffer.
- pmszPairs = (PSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwNeeded);
- if(NULL == pmszPairs)
- {
- ERR(ERRORTEXT("GetChangedFeatureOptions() failed to allocate multi-sz.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- // Build mult-sz list of feature option pairs
- // that changed.
- for(wCount = 0, wPairs = 0; (wCount < wItems) && (wPairs < wChanged); ++wCount)
- {
- PSTR pszOption = NULL;
-
-
- // Just go to next item if this OPTITEM hasn't
- // changed or isn't a feature OPTITEM.
- if( !(OPTIF_CHANGEONCE & pOptItem[wCount].Flags)
- ||
- !IsFeatureOptitem(pOptItem + wCount)
- )
- {
- continue;
- }
-
- // For convienience, assign to pointer to feature OPTITEM data.
- pData = (PFEATUREOPTITEMDATA)(pOptItem[wCount].UserData);
-
- // Add feature option pair.
- pszOption = GetOptionKeywordFromOptItem(hHeap, pOptItem + wCount);
- if(NULL != pszOption)
- {
- if (FAILED(hrResult = StringCbCopyA(pmszPairs + dwOffset, dwNeeded - dwOffset, pData->pszFeatureKeyword)))
- {
- goto Exit;
- }
-
- DWORD dwTmp = 0;
-
- if (FAILED(hrResult = SizeTToDWord(strlen(pData->pszFeatureKeyword) + 1, &dwTmp)))
- {
- goto Exit;
- }
-
- dwOffset += dwTmp;
-
- if (FAILED(hrResult = StringCbCopyA(pmszPairs + dwOffset, dwNeeded - dwOffset, pszOption)))
- {
- goto Exit;
- }
-
- if (FAILED(hrResult = SizeTToDWord(strlen(pszOption) + 1, &dwTmp)))
- {
- goto Exit;
- }
-
- dwOffset += dwTmp;
-
- // Keep track of number of pairs added, so
- // we are able to exit loop as soon as
- // we added all changed feature options.
- ++wPairs;
-
- // Need to free option keyword string copy
- // allocated in GetOptionKeywordFromOptItem().
- HeapFree(hHeap, 0, pszOption);
- pszOption = NULL;
- }
- }
-
-
-Exit:
-
- if(SUCCEEDED(hrResult))
- {
- // INVARIANT: either successfully build mutli-sz of changed
- // feature option pairs, or there are no feature
- // that options changed.
-
- // Return pairs and number of pairs.
- *pwPairs = wPairs;
- *pdwSize = dwNeeded;
- *ppmszPairs = pmszPairs;
- }
- else
- {
- // INVARINAT: error.
-
- // Clean up.
- if(NULL == pmszPairs) HeapFree(hHeap, 0, pmszPairs);
-
- // Return NULL and zero count.
- *pwPairs = 0;
- *pdwSize = 0;
- *ppmszPairs = NULL;
- }
-
- return hrResult;
-}
-
-// Returns pointer to option keyword for a feature OPTITEM.
-PSTR GetOptionKeywordFromOptItem(_In_ HANDLE hHeap, POPTITEM pOptItem)
-{
- char szNumber[16] = {0};
- PSTR pszOption = NULL;
- PFEATUREOPTITEMDATA pData = NULL;
-
-
- // Validate parameter.
- if(!IsFeatureOptitem(pOptItem))
- {
- ERR(ERRORTEXT("GetOptionKeywordFromOptItem() invalid parameter.\r\n"));
-
- goto Exit;
- }
-
- // For convienience, assign to pointer to feature OPTITEM data.
- pData = (PFEATUREOPTITEMDATA)(pOptItem->UserData);
-
- // Option selection is based on type of OPTTYPE.
- switch(pOptItem->pOptType->Type)
- {
- // For up down arrow control, selection is just pOptItem->Sel
- // converted to string.
- case TVOT_UDARROW:
- if(FAILED(StringCbPrintfA(szNumber, sizeof(szNumber)/sizeof(szNumber[0]), "%u", pOptItem->Sel)))
- {
- ERR(ERRORTEXT("GetOptionKeywordFromOptItem() failed to convert number to string.\r\n"));
- }
- szNumber[sizeof(szNumber)/sizeof(szNumber[0]) - 1] = '\0';
- pszOption = MakeStringCopy(hHeap, szNumber);
- break;
-
- // For combobox, pOptItem->Sel is the index in to the
- // option array.
- case TVOT_COMBOBOX:
- pszOption = MakeStringCopy(hHeap, pData->pOptions->GetKeyword((WORD)pOptItem->Sel));
- break;
-
- // The default is the option count.
- default:
- ERR(ERRORTEXT("GetOptionKeywordFromOptItem() OPTTYPE type %d num of OPTPARAMs not handled.\r\n"),
- pOptItem->pOptType->Type);
-
- goto Exit;
- break;
- }
-
-
-Exit:
-
- return pszOption;
-}
-
-// Returns pointer to option display name for a feature OPTITEM.
-PWSTR GetOptionDisplayNameFromOptItem(_In_ HANDLE hHeap, POPTITEM pOptItem)
-{
- WCHAR szNumber[16] = {0};
- PWSTR pszOption = NULL;
- PFEATUREOPTITEMDATA pData = NULL;
-
-
- // Validate parameter.
- if(!IsFeatureOptitem(pOptItem))
- {
- ERR(ERRORTEXT("GetOptionDisplayNameFromOptItem() invalid parameter.\r\n"));
-
- goto Exit;
- }
-
- // For convienience, assign to pointer to feature OPTITEM data.
- pData = (PFEATUREOPTITEMDATA)(pOptItem->UserData);
-
- // Option selection is based on type of OPTTYPE.
- switch(pOptItem->pOptType->Type)
- {
- // For up down arrow control, selection is just pOptItem->Sel
- // converted to string.
- case TVOT_UDARROW:
- if(FAILED(StringCbPrintfW(szNumber, sizeof(szNumber)/sizeof(szNumber[0]), L"%u", pOptItem->Sel)))
- {
- ERR(ERRORTEXT("GetOptionDisplayNameFromOptItem() failed to convert number to string.\r\n"));
- }
- szNumber[sizeof(szNumber)/sizeof(szNumber[0]) - 1] = L'\0';
- pszOption = MakeStringCopy(hHeap, szNumber);
- break;
-
- // For combobox, pOptItem->Sel is the index in to the
- // option array.
- case TVOT_COMBOBOX:
- pszOption = MakeStringCopy(hHeap, pOptItem->pOptType->pOptParam[pOptItem->Sel].pData);
- break;
-
- // The default is the option count.
- default:
- ERR(ERRORTEXT("GetOptionDisplayNameFromOptItem() OPTTYPE type %d num of OPTPARAMs not handled.\r\n"),
- pOptItem->pOptType->Type);
-
- goto Exit;
- break;
- }
-
-
-Exit:
-
- return pszOption;
-}
-
-// Refreshes option selection for each feature OPTITEM
-HRESULT RefreshOptItemSelection(CUIHelper *pHelper,
- POEMUIOBJ poemuiobj,
- POPTITEM pOptItems,
- WORD wItems)
-{
- HRESULT hrResult = S_OK;
- PFEATUREOPTITEMDATA pData = NULL;
-
-
- // Walk OPTITEM array refreshing feature OPTITEMs.
- for(WORD wCount = 0; wCount < wItems; ++wCount)
- {
- // Just go to next item if this OPTITEM isn't a feature OPTITEM.
- if(!IsFeatureOptitem(pOptItems + wCount))
- {
- continue;
- }
-
- // For convienience, assign to pointer to feature OPTITEM data.
- pData = (PFEATUREOPTITEMDATA)(pOptItems[wCount].UserData);
-
- // Refresh COption selection.
- pData->pOptions->RefreshSelection(*pHelper, poemuiobj);
-
- // Assign COption selection to OPTITEM selection.
- pOptItems[wCount].pSel = pData->pOptions->GetSelection();
-
- }
-
- return hrResult;
-}
-
-// Creates array of conflict features.
-HRESULT GetFirstConflictingFeature(_In_ HANDLE hHeap,
- CUIHelper *pHelper,
- POEMUIOBJ poemuiobj,
- POPTITEM pOptItem,
- WORD wItems,
- PCONFLICT pConflict)
-{
- WORD wCount = 0;
- HRESULT hrResult = S_OK;
- PFEATUREOPTITEMDATA pData = NULL;
-
-
- // Walk OPTITEM array looking or changed options that are in conflict.
- for(wCount = 0; wCount < wItems; ++wCount)
- {
- // Just go to next item if this OPTITEM hasn't
- // changed or isn't a feature OPTITEM.
- if( !(OPTIF_CHANGEONCE & pOptItem[wCount].Flags)
- ||
- !IsFeatureOptitem(pOptItem + wCount)
- )
- {
- continue;
- }
-
- // For convienience, assign to pointer to feature OPTITEM data.
- pData = (PFEATUREOPTITEMDATA)(pOptItem[wCount].UserData);
-
- // Init conflict record if this feature is in conflict.
- pConflict->pszOptionKeyword = GetOptionKeywordFromOptItem(hHeap, pOptItem + wCount);
- if(NULL != pConflict->pszOptionKeyword)
- {
- // Get reason for conflict
- // If the feature isn't in conflict,
- // then the pmszReasonList will start
- // with NULL terminator.
- hrResult = GetWhyConstrained(hHeap,
- pHelper,
- poemuiobj,
- pData->pszFeatureKeyword,
- pConflict->pszOptionKeyword,
- &pConflict->pmszReasons,
- &pConflict->dwReasonsSize);
- if(!SUCCEEDED(hrResult))
- {
- // NOTE: driver features aren't supported by WhyConstrained.
- if((E_INVALIDARG == hrResult) && IS_DRIVER_FEATURE(pData->pszFeatureKeyword))
- {
- // Need to reset the result in case it is the last
- // feature OPTITEM.
- hrResult = S_OK;
- continue;
- }
-
- ERR(ERRORTEXT("GetConflictingFeatures() failed to get reason for feature %hs option %hs constraint. (hrResult = 0x%x)\r\n"),
- pData->pszFeatureKeyword,
- pConflict->pszOptionKeyword,
- hrResult);
-
- goto Exit;
- }
-
- // Record conflict if feature is in conflict.
- if( (NULL != pConflict->pmszReasons)
- &&
- (pConflict->pmszReasons[0] != '\0')
- )
- {
- // Save pointer to feature keyword.
- pConflict->pszFeatureKeyword = pData->pszFeatureKeyword;
- pConflict->pszFeature = pOptItem[wCount].pName;
- pConflict->pszOption = GetOptionDisplayNameFromOptItem(hHeap, pOptItem + wCount);
-
- // Found first conflict.
- break;
- }
- }
- }
-
-
-Exit:
-
- return hrResult;
-}
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Features.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Features.h
deleted file mode 100644
index 84fee27e..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Features.h
+++ /dev/null
@@ -1,236 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 2001 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Features.h
-//
-
-#pragma once
-
-////////////////////////////////////////////////////////
-// Defines and Macros
-////////////////////////////////////////////////////////
-
-
-
-////////////////////////////////////////////////////////
-// Type Definitions
-////////////////////////////////////////////////////////
-
-// Struct used to map keyword to information
-// such as display name and stickiness.
-typedef struct _tagKeywordMap
-{
- PCSTR pszKeyword;
- PCWSTR pwszModule;
- UINT uDisplayNameID;
- DWORD dwMode;
- DWORD dwFlags;
-
-} KEYWORDMAP, *PKEYWORDMAP;
-
-
-// Struct container for info about
-// feature that is in conflict.
-typedef struct _tagConflict
-{
- PCSTR pszFeatureKeyword;
- PCWSTR pszFeature;
- PSTR pszOptionKeyword;
- PWSTR pszOption;
- PSTR pmszReasons;
- DWORD dwReasonsSize;
-
-} CONFLICT, *PCONFLICT;
-
-
-
-////////////////////////////////////////////////////////
-// Class Definitions
-////////////////////////////////////////////////////////
-
-// Class wrapper and container for Core Driver Feature Options.
-class COptions
-{
- private:
-
- // Option Infomation
- class OPTION_INFO
- {
- public:
- PKEYWORDMAP pMapping;
- PWSTR pszDisplayName;
-
- public:
- OPTION_INFO()
- {
- pMapping = NULL;
- pszDisplayName = NULL;
- }
-
- virtual ~OPTION_INFO(){}
- };
- typedef class OPTION_INFO *POPTION_INFO;
-
- // Data Members
- WORD m_wOptions; // Count of the number of options contained for an instance of the class.
- BYTE m_cType; // CPSUI Option Type (i.e. what to set pOptItem->pOptType->Type to).
- PSTR m_pmszRaw; // The RAW multi NULL terminated string buffer used for IPrintCoreUI2::EnumOptions().
- PCSTR m_pszFeature; // Pointer to the feature for which the enumerate options belong.
- PCSTR *m_ppszOptions; // String list pointer that points to begining of each of the strings in multi-SZ pointed to by m_pmszRaw.
- POINT m_ptRange; // Option range for features, such as %JobTimeout, that have a range of possible vaules not a small selection list.
- DWORD m_dwSize; // Size of m_pmszRaw buffer.
- PWSTR m_pszUnits; // String that contains the unit specifier for options, such as %JobTimeout, which need Units (i.e. seconds).
- HANDLE m_hHeap; // Heap to do allocations from.
- POPTION_INFO m_pInfo; // Array of Info about each option for a feature.
-
- union { // Current selected option for a feature.
- LONG m_Sel; // This is what pOptItem->m_pSel or pOptItem->m_Sel
- LPTSTR m_pSel; // will be set to.
- };
-
- public:
- COptions();
- virtual ~COptions();
-
- // Populate Options list for specified keyword.
- HRESULT COptions::Acquire(_In_ HANDLE hHeap,
- CUIHelper &Helper,
- _In_ POEMUIOBJ poemuiobj,
- _In_ PCSTR pszFeature);
-
- // Returns number of feature options contained in class instance.
- inline WORD GetCount() const {return m_wOptions;}
-
- // Returns selection.
- inline LPTSTR GetSelection() const {return m_pSel;}
-
- // Return nth options keyword.
- PCSTR GetKeyword(WORD wIndex) const;
-
- // Return nth option Display Name.
- PCWSTR GetName(WORD wIndex) const;
-
- // Find option with matching keyword string.
- WORD FindOption(_In_opt_ PCSTR pszOption, WORD wDefault) const;
-
- // Initializes options portion of OPTITEM.
- HRESULT InitOptItem(_In_ HANDLE hHeap, POPTITEM pOptItem);
-
- // Refresh option selection.
- HRESULT RefreshSelection(CUIHelper &Helper, POEMUIOBJ poemuiobj);
-
- private:
- void Init();
- void Clear();
- void FreeOptionInfo();
- HRESULT GetOptionsForSpecialFeatures(CUIHelper &Helper, POEMUIOBJ poemuiobj);
- HRESULT GetOptionsForOutputPSLevel(CUIHelper &Helper, POEMUIOBJ poemuiobj);
- HRESULT GetOptionSelectionString(CUIHelper &Helper, POEMUIOBJ poemuiobj, _Outptr_result_maybenull_ PSTR *ppszSel);
- HRESULT GetOptionSelectionLong(CUIHelper &Helper, POEMUIOBJ poemuiobj);
- HRESULT GetOptionSelectionShort(CUIHelper &Helper, POEMUIOBJ poemuiobj);
- HRESULT GetOptionSelectionIndex(CUIHelper &Helper, POEMUIOBJ poemuiobj);
-};
-
-
-// Class wrapper and container for Cor Driver Features.
-class CFeatures
-{
- private:
-
- // Feature Infomation
- class FEATURE_INFO
- {
- public:
- PKEYWORDMAP pMapping;
- PWSTR pszDisplayName;
- COptions Options;
- DWORD dwMode;
-
- public:
- FEATURE_INFO()
- {
- pMapping = NULL;
- pszDisplayName = NULL;
- dwMode = 0;
- }
-
- virtual ~FEATURE_INFO() {}
- };
- typedef class FEATURE_INFO *PFEATURE_INFO;
-
- WORD m_wFeatures; // Count of the number of features.
- WORD m_wDocFeatures; // Count of the number of Document sticky features.
- WORD m_wPrintFeatures; // Count of the number of Printer sticky features.
- PSTR m_pmszRaw; // Buffer for multi-SZ for call to IPrintCoreUI2::EnumFeatures.
- PCSTR *m_ppszKeywords; // String list that points to each of the strings in m_pmszRaw.
- DWORD m_dwSize; // Size of m_pmszRaw.
- HANDLE m_hHeap; // Heap to do allocations from.
- PFEATURE_INFO m_pInfo; // Array of feature information about each of the enumerate features.
-
- public:
- CFeatures();
- virtual ~CFeatures();
-
- // Populates the Feature list
- HRESULT Acquire(_In_ HANDLE hHeap, CUIHelper &Helper, _In_ POEMUIOBJ poemuiobj);
-
- // Returns number of features contained in class instance.
- WORD GetCount(DWORD dwMode = 0) const;
-
- // Returns feature keyword.
- PCSTR GetKeyword(WORD wIndex, DWORD dwMode = 0) const;
-
- // Return feature Display Name.
- PCWSTR GetName(WORD wIndex, DWORD dwMode = 0) const;
-
- // Returns pointer to option class for nth feature.
- COptions* GetOptions(WORD wIndex, DWORD dwMode = 0) const;
-
- // Initializes OPTITEM for the feature.
- HRESULT InitOptItem(_In_ HANDLE hHeap, POPTITEM pOptItem, WORD wIndex, DWORD dwMode);
-
- private:
- void Init();
- void Clear();
- void FreeFeatureInfo();
- WORD GetModelessIndex(WORD wIndex, DWORD dwMode) const;
-};
-
-
-
-////////////////////////////////////////////////////////
-// Prototypes
-////////////////////////////////////////////////////////
-
-HRESULT DetermineFeatureDisplayName(_In_ HANDLE hHeap, CUIHelper &Helper, POEMUIOBJ poemuiobj,
- _In_ PCSTR pszKeyword, const PKEYWORDMAP pMapping,
- _Outptr_result_maybenull_ PWSTR *ppszDisplayName);
-HRESULT DetermineOptionDisplayName(_In_ HANDLE hHeap, CUIHelper &Helper, POEMUIOBJ poemuiobj,
- _In_ PCSTR pszFeature, _In_ PCSTR pszOption,
- const PKEYWORDMAP pMapping, _Outptr_result_maybenull_ PWSTR *ppszDisplayName);
-HRESULT DetermineStickiness(CUIHelper &Helper, POEMUIOBJ poemuiobj, PCSTR pszKeyword,
- const PKEYWORDMAP pMapping,PDWORD pdwMode);
-
-PKEYWORDMAP FindKeywordMapping(PKEYWORDMAP pKeywordMap, WORD wMapSize, PCSTR pszKeyword);
-HRESULT GetDisplayNameFromMapping(_In_ HANDLE hHeap, PKEYWORDMAP pMapping, _Outptr_result_maybenull_ PWSTR *ppszDisplayName);
-
-BOOL IsFeatureOptitem(POPTITEM pOptItem);
-HRESULT SaveFeatureOptItems(_In_ HANDLE hHeap, CUIHelper *pHelper, POEMUIOBJ poemuiobj,
- HWND hWnd, POPTITEM pOptItem, WORD wItems);
-HRESULT GetWhyConstrained(_In_ HANDLE hHeap, CUIHelper *pHelper, POEMUIOBJ poemuiobj,
- _In_ PCSTR pszFeature, _In_ PCSTR pszOption, _Inout_ PSTR *ppmszReason,
- _Inout_ PDWORD pdwSize);
-HRESULT GetChangedFeatureOptions(_In_ HANDLE hHeap, POPTITEM pOptItem, WORD wItems,
- _Outptr_result_maybenull_ PSTR *ppmszPairs, _Out_ PWORD pdwPairs, _Out_ PDWORD pdwSize);
-PSTR GetOptionKeywordFromOptItem(_In_ HANDLE hHeap, POPTITEM pOptItem);
-PWSTR GetOptionDisplayNameFromOptItem(_In_ HANDLE hHeap, POPTITEM pOptItem);
-HRESULT RefreshOptItemSelection(CUIHelper *pHelper, POEMUIOBJ poemuiobj, POPTITEM pOptItems,
- WORD wItems);
-HRESULT GetFirstConflictingFeature(_In_ HANDLE hHeap, CUIHelper *pHelper, POEMUIOBJ poemuiobj,
- POPTITEM pOptItem, WORD wItems, PCONFLICT pConflict);
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Helper.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Helper.cpp
deleted file mode 100644
index 3e1a2da5..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Helper.cpp
+++ /dev/null
@@ -1,457 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 2001 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Helper.cpp
-//
-//
-// PURPOSE: Implementation of wrapper class for Driver UI Helper interface.
-//
-
-#include "precomp.h"
-#include "Helper.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-////////////////////////////////////////////////////////
-// Internal Macros
-////////////////////////////////////////////////////////
-
-
-// Macros for simplifying calling the Driver UI Helper interfaces correctly.
-
-#define CALL_HELPER(MethodName, args) \
- if (IsEqualGUID(&m_iidUIHelper, &IID_IPrintOemDriverUI)) \
- { \
- return static_cast<IPrintOemDriverUI *>(m_pUIHelper)->MethodName args; \
- } \
- else if (IsEqualGUID(&m_iidUIHelper, &IID_IPrintCoreUI2)) \
- { \
- return static_cast<IPrintCoreUI2 *>(m_pUIHelper)->MethodName args; \
- } \
- return E_NOINTERFACE;
-
-#define CALL_HELPER2(MethodName, args) \
- if (IsEqualGUID(&m_iidUIHelper, &IID_IPrintCoreUI2)) \
- { \
- return static_cast<IPrintCoreUI2 *>(m_pUIHelper)->MethodName args; \
- } \
- return E_NOINTERFACE;
-
-
-/////////////////////////////////////////////////////////////
-//
-// CUIHelper Class Methods
-//
-
-//
-// Private Methods
-//
-
-// Clears or initializes data members.
-void CUIHelper::Clear()
-{
- // Clear stored interface
- m_pUIHelper = NULL;
- m_iidUIHelper = GUID_NULL;
-}
-
-
-//
-// Public Methods
-//
-
-// Default contructor.
-CUIHelper::CUIHelper()
-{
- // Initialize the data members.
- Clear();
-}
-
-// Constructor with assignment.
-CUIHelper::CUIHelper(const IID &HelperIID, PVOID pHelper)
-{
- // Assign the interface.
- Assign(HelperIID, pHelper);
-}
-
-// Destructor
-CUIHelper::~CUIHelper()
-{
- // Release the interface reference.
- Release();
-}
-
-// Stores helper interface in helper entry structure.
-void CUIHelper::Assign(const IID &HelperIID, PVOID pHelper)
-{
- // If we already have a helper interface, release it.
- if(IsValid())
- {
- Release();
- }
-
- // Store helper interface and IID for it.
- m_pUIHelper = static_cast<IUnknown*>(pHelper);
- m_iidUIHelper = HelperIID;
-}
-
-// Releases the helper interface and
-// our removes the references to it.
-ULONG CUIHelper::Release()
-{
- ULONG ulRef = 0;
-
-
- if(IsValid())
- {
- // Release the interface.
- // Since IPrintCoreUI2 inherits from IPrintOemDriverUI,
- // it is safe to cast both types of helper interfaces
- // to IPrintOemDriverUI for purposes of calling a
- // method implemented in IPrintOemDriverUI.
- // NOTE: can't cast to IUnknown since it just has pure virtual
- // calls for AddRef and Release.
- ulRef = static_cast<IPrintOemDriverUI *>(m_pUIHelper)->Release();
-
- // Clear the data members.
- Clear();
- }
-
- return ulRef;
-}
-
-
-//
-// IPrintOemDriverUI methods
-//
-
-//
-// Helper function to get driver settings. This function is only supported
-// for UI plugins that do not fully replace core driver's standard UI.
-//
-
-HRESULT __stdcall CUIHelper::DrvGetDriverSetting(
- PVOID pci,
- PCSTR Feature,
- PVOID pOutput,
- DWORD cbSize,
- PDWORD pcbNeeded,
- PDWORD pdwOptionsReturned
- )
-{
- CALL_HELPER(DrvGetDriverSetting,
- (pci,
- Feature,
- pOutput,
- cbSize,
- pcbNeeded,
- pdwOptionsReturned
- )
- );
-}
-
-//
-// Helper function to allow OEM plugins upgrade private registry
-// settings. This function is supported for any UI plugins and should be
-// called only by OEM's UpgradePrinter.
-//
-
-HRESULT __stdcall CUIHelper::DrvUpgradeRegistrySetting(
- HANDLE hPrinter,
- PCSTR pFeature,
- PCSTR pOption
- )
-{
- CALL_HELPER(DrvUpgradeRegistrySetting,
- (hPrinter,
- pFeature,
- pOption
- )
- );
-}
-
-//
-// Helper function to allow OEM plugins to update the driver UI settings.
-// This function is only supported for UI plugins that do not fully replace
-// core driver's standard UI. It should be called only when the UI is present.
-//
-
-HRESULT __stdcall CUIHelper::DrvUpdateUISetting(
- PVOID pci,
- PVOID pOptItem,
- DWORD dwPreviousSelection,
- DWORD dwMode
- )
-{
- CALL_HELPER(DrvUpdateUISetting,
- (pci,
- pOptItem,
- dwPreviousSelection,
- dwMode
- )
- );
-}
-
-//
-// IPrintCoreUI2 new methods
-//
-
-//
-// Following four helper functions are only supported for UI plugins that fully
-// replace core driver's standard UI. They should only be called by the UI plugin's
-// DocumentPropertySheets, DevicePropertySheets and their property sheet callback
-// functions.
-//
-// Helper function to retrieve driver's current setting as a list of
-// feature/option keyword pairs.
-//
-_Use_decl_annotations_
-HRESULT __stdcall CUIHelper::GetOptions(
- POEMUIOBJ poemuiobj,
- DWORD dwFlags,
- PCSTR pmszFeaturesRequested,
- DWORD cbIn,
- PSTR pmszFeatureOptionBuf,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- CALL_HELPER2(GetOptions,
- (poemuiobj,
- dwFlags,
- pmszFeaturesRequested,
- cbIn,
- pmszFeatureOptionBuf,
- cbSize,
- pcbNeeded
- )
- );
-}
-
-//
-// Helper function to change driver's setting using a list of feature/option
-// keyword pairs.
-//
-_Use_decl_annotations_
-HRESULT __stdcall CUIHelper::SetOptions(
- POEMUIOBJ poemuiobj,
- DWORD dwFlags,
- PCSTR pmszFeatureOptionBuf,
- DWORD cbIn,
- PDWORD pdwResult)
-{
- CALL_HELPER2(SetOptions,
- (poemuiobj,
- dwFlags,
- pmszFeatureOptionBuf,
- cbIn,
- pdwResult
- )
- );
-}
-
-//
-// Helper function to retrieve the option(s) of a given feature that are
-// constrained in driver's current setting.
-//
-_Use_decl_annotations_
-HRESULT __stdcall CUIHelper::EnumConstrainedOptions(
- POEMUIOBJ poemuiobj,
- DWORD dwFlags,
- PCSTR pszFeatureKeyword,
- PSTR pmszConstrainedOptionList,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- CALL_HELPER2(EnumConstrainedOptions,
- (poemuiobj,
- dwFlags,
- pszFeatureKeyword,
- pmszConstrainedOptionList,
- cbSize,
- pcbNeeded
- )
- );
-}
-
-//
-// Helper function to retrieve a list of feature/option keyword pairs from
-// driver's current setting that conflict with the given feature/option pair.
-//
-_Use_decl_annotations_
-HRESULT __stdcall CUIHelper::WhyConstrained(
- POEMUIOBJ poemuiobj,
- DWORD dwFlags,
- PCSTR pszFeatureKeyword,
- PCSTR pszOptionKeyword,
- PSTR pmszReasonList,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- CALL_HELPER2(WhyConstrained,
- (poemuiobj,
- dwFlags,
- pszFeatureKeyword,
- pszOptionKeyword,
- pmszReasonList,
- cbSize,
- pcbNeeded
- )
- );
-}
-
-//
-// Following five helper functions are supported for any UI plugins.
-//
-// Helper function to retrieve global attribute.
-//
-_Use_decl_annotations_
-HRESULT __stdcall CUIHelper::GetGlobalAttribute(
- POEMUIOBJ poemuiobj,
- DWORD dwFlags,
- PCSTR pszAttribute,
- PDWORD pdwDataType,
- PBYTE pbData,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- CALL_HELPER2(GetGlobalAttribute,
- (poemuiobj,
- dwFlags,
- pszAttribute,
- pdwDataType,
- pbData,
- cbSize,
- pcbNeeded
- )
- );
-}
-
-
-//
-// Helper function to retrieve attribute of a given feature.
-//
-_Use_decl_annotations_
-HRESULT __stdcall CUIHelper::GetFeatureAttribute(
- POEMUIOBJ poemuiobj,
- DWORD dwFlags,
- PCSTR pszFeatureKeyword,
- PCSTR pszAttribute,
- PDWORD pdwDataType,
- PBYTE pbData,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- CALL_HELPER2(GetFeatureAttribute,
- (poemuiobj,
- dwFlags,
- pszFeatureKeyword,
- pszAttribute,
- pdwDataType,
- pbData,
- cbSize,
- pcbNeeded
- )
- );
-}
-
-//
-// Helper function to retrieve attribute of a given feature/option selection.
-//
-_Use_decl_annotations_
-HRESULT __stdcall CUIHelper::GetOptionAttribute(
- POEMUIOBJ poemuiobj,
- DWORD dwFlags,
- PCSTR pszFeatureKeyword,
- PCSTR pszOptionKeyword,
- PCSTR pszAttribute,
- PDWORD pdwDataType,
- PBYTE pbData,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- CALL_HELPER2(GetOptionAttribute,
- (poemuiobj,
- dwFlags,
- pszFeatureKeyword,
- pszOptionKeyword,
- pszAttribute,
- pdwDataType,
- pbData,
- cbSize,
- pcbNeeded
- )
- );
-}
-
-//
-// Helper function to retrieve the list of feature keyword.
-//
-_Use_decl_annotations_
-HRESULT __stdcall CUIHelper::EnumFeatures(
- POEMUIOBJ poemuiobj,
- DWORD dwFlags,
- PSTR pmszFeatureList,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- CALL_HELPER2(EnumFeatures,
- (poemuiobj,
- dwFlags,
- pmszFeatureList,
- cbSize,
- pcbNeeded
- )
- );
-}
-
-//
-// Helper function to retrieve the list of options keyword of a given feature.
-//
-_Use_decl_annotations_
-HRESULT __stdcall CUIHelper::EnumOptions(
- POEMUIOBJ poemuiobj,
- DWORD dwFlags,
- PCSTR pszFeatureKeyword,
- PSTR pmszOptionList,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- CALL_HELPER2(EnumOptions,
- (poemuiobj,
- dwFlags,
- pszFeatureKeyword,
- pmszOptionList,
- cbSize,
- pcbNeeded
- )
- );
-}
-
-//
-// Helper function to query system simulation support
-//
-_Use_decl_annotations_
-HRESULT __stdcall CUIHelper::QuerySimulationSupport(
- HANDLE hPrinter,
- DWORD dwLevel,
- PBYTE pCaps,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- CALL_HELPER2(QuerySimulationSupport,
- (hPrinter,
- dwLevel,
- pCaps,
- cbSize,
- pcbNeeded
- )
- );
-}
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Helper.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Helper.h
deleted file mode 100644
index 31819dcc..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Helper.h
+++ /dev/null
@@ -1,214 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 2001 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Helper.h
-//
-#pragma once
-
-class CUIHelper
-{
- private:
- IUnknown *m_pUIHelper; // pointer to Driver UI's Helper interface
- IID m_iidUIHelper; // Driver UI's Helper interface IID
-
- public:
- CUIHelper();
- CUIHelper(const IID &HelperIID, PVOID pHelper);
- virtual ~CUIHelper();
-
- inline BOOL IsValid() {return NULL != m_pUIHelper;}
-
- void Assign(const IID &HelperIID, PVOID pHelper);
- ULONG Release();
-
- //
- // IPrintOemDriverUI methods
- //
-
- //
- // Helper function to get driver settings. This function is only supported
- // for UI plugins that do not fully replace core driver's standard UI.
- //
-
- STDMETHOD(DrvGetDriverSetting) (THIS_
- PVOID pci,
- PCSTR Feature,
- PVOID pOutput,
- DWORD cbSize,
- PDWORD pcbNeeded,
- PDWORD pdwOptionsReturned
- );
-
- //
- // Helper function to allow OEM plugins upgrade private registry
- // settings. This function is supported for any UI plugins and should be
- // called only by OEM's UpgradePrinter.
- //
-
- STDMETHOD(DrvUpgradeRegistrySetting) (THIS_
- HANDLE hPrinter,
- PCSTR pFeature,
- PCSTR pOption
- );
-
- //
- // Helper function to allow OEM plugins to update the driver UI settings.
- // This function is only supported for UI plugins that do not fully replace
- // core driver's standard UI. It should be called only when the UI is present.
- //
-
- STDMETHOD(DrvUpdateUISetting) (THIS_
- PVOID pci,
- PVOID pOptItem,
- DWORD dwPreviousSelection,
- DWORD dwMode
- );
-
- //
- // IPrintCoreUI2 new methods
- //
-
- //
- // Following four helper functions are only supported for UI plugins that fully
- // replace core driver's standard UI. They should only be called by the UI plugin's
- // DocumentPropertySheets, DevicePropertySheets and their property sheet callback
- // functions.
- //
- // Helper function to retrieve driver's current setting as a list of
- // feature/option keyword pairs.
- //
-
- STDMETHOD(GetOptions) (THIS_
- POEMUIOBJ poemuiobj,
- _Reserved_ DWORD dwFlags,
- _In_reads_bytes_opt_(cbIn) PCSTR pmszFeaturesRequested,
- DWORD cbIn,
- _Out_writes_bytes_to_opt_(cbSize, *pcbNeeded) PSTR pmszFeatureOptionBuf,
- DWORD cbSize,
- _Out_ _On_failure_(_When_(return == E_OUTOFMEMORY, _Post_valid_)) PDWORD pcbNeeded);
-
- //
- // Helper function to change driver's setting using a list of feature/option
- // keyword pairs.
- //
-
- STDMETHOD(SetOptions) (THIS_
- POEMUIOBJ poemuiobj,
- DWORD dwFlags,
- _In_reads_bytes_(cbIn) PCSTR pmszFeatureOptionBuf,
- DWORD cbIn,
- _Out_ PDWORD pdwResult);
-
- //
- // Helper function to retrieve the option(s) of a given feature that are
- // constrained in driver's current setting.
- //
-
- STDMETHOD(EnumConstrainedOptions) (THIS_
- _In_ POEMUIOBJ poemuiobj,
- _Reserved_ DWORD dwFlags,
- _In_ PCSTR pszFeatureKeyword,
- _Out_writes_bytes_to_opt_(cbSize, *pcbNeeded) PSTR pmszConstrainedOptionList,
- DWORD cbSize,
- _Out_ _On_failure_(_When_(return == E_OUTOFMEMORY, _Post_valid_)) PDWORD pcbNeeded);
-
-
- //
- // Helper function to retrieve a list of feature/option keyword pairs from
- // driver's current setting that conflict with the given feature/option pair.
- //
-
- STDMETHOD(WhyConstrained) (THIS_
- POEMUIOBJ poemuiobj,
- _Reserved_ DWORD dwFlags,
- _In_ PCSTR pszFeatureKeyword,
- _In_ PCSTR pszOptionKeyword,
- _Out_writes_bytes_to_opt_(cbSize, *pcbNeeded) PSTR pmszReasonList,
- DWORD cbSize,
- _Out_ _On_failure_(_When_(return == E_OUTOFMEMORY, _Post_valid_)) PDWORD pcbNeeded);
-
- //
- // Following five helper functions are supported for any UI plugins.
- //
- // Helper function to retrieve global attribute.
- //
-
- STDMETHOD(GetGlobalAttribute) (THIS_
- POEMUIOBJ poemuiobj,
- _Reserved_ DWORD dwFlags,
- _In_opt_ PCSTR pszAttribute,
- _Out_ PDWORD pdwDataType,
- _Out_writes_bytes_to_opt_(cbSize, *pcbNeeded) PBYTE pbData,
- DWORD cbSize,
- _Out_ _On_failure_(_When_(return == E_OUTOFMEMORY, _Post_valid_)) PDWORD pcbNeeded);
-
- //
- // Helper function to retrieve attribute of a given feature.
- //
-
- STDMETHOD(GetFeatureAttribute) (THIS_
- POEMUIOBJ poemuiobj,
- _Reserved_ DWORD dwFlags,
- _In_ PCSTR pszFeatureKeyword,
- _In_opt_ PCSTR pszAttribute,
- _Out_ PDWORD pdwDataType,
- _Out_writes_bytes_to_opt_(cbSize, *pcbNeeded) PBYTE pbData,
- DWORD cbSize,
- _Out_ _On_failure_(_When_(return == E_OUTOFMEMORY, _Post_valid_)) PDWORD pcbNeeded);
-
- //
- // Helper function to retrieve attribute of a given feature/option selection.
- //
-
- STDMETHOD(GetOptionAttribute) (THIS_
- POEMUIOBJ poemuiobj,
- _Reserved_ DWORD dwFlags,
- _In_ PCSTR pszFeatureKeyword,
- _In_ PCSTR pszOptionKeyword,
- _In_opt_ PCSTR pszAttribute,
- _Out_ PDWORD pdwDataType,
- _Out_writes_bytes_to_opt_(cbSize, *pcbNeeded) PBYTE pbData,
- DWORD cbSize,
- _Out_ _On_failure_(_When_(return == E_OUTOFMEMORY, _Post_valid_)) PDWORD pcbNeeded);
-
- //
- // Helper function to retrieve the list of feature keyword.
- //
-
- STDMETHOD(EnumFeatures) (THIS_
- POEMUIOBJ poemuiobj,
- _Reserved_ DWORD dwFlags,
- _Out_writes_bytes_to_opt_(cbSize, *pcbNeeded) PSTR pmszFeatureList,
- DWORD cbSize,
- _Out_ _On_failure_(_When_(return == E_OUTOFMEMORY, _Post_valid_)) PDWORD pcbNeeded);
-
- //
- // Helper function to retrieve the list of options keyword of a given feature.
- //
-
- STDMETHOD(EnumOptions) (THIS_
- POEMUIOBJ poemuiobj,
- _Reserved_ DWORD dwFlags,
- _In_ PCSTR pszFeatureKeyword,
- _Out_writes_bytes_to_opt_(cbSize, *pcbNeeded) PSTR pmszOptionList,
- DWORD cbSize,
- _Out_ _On_failure_(_When_(return == E_OUTOFMEMORY, _Post_valid_)) PDWORD pcbNeeded);
-
- //
- // Helper function to query system simulation support
- //
-
- STDMETHOD(QuerySimulationSupport) (THIS_
- HANDLE hPrinter,
- DWORD dwLevel,
- _Out_writes_bytes_to_opt_(cbSize, *pcbNeeded) PBYTE pCaps,
- DWORD cbSize,
- _Out_ _On_failure_(_When_(return == E_OUTOFMEMORY, _Post_valid_)) PDWORD pcbNeeded);
-
- private:
- void Clear();
-};
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/OEMUI.rc b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/OEMUI.rc
deleted file mode 100644
index d68603e1..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/OEMUI.rc
+++ /dev/null
@@ -1,260 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "Written by Windows Printing & Imaging Team"
- VALUE "CompanyName", "Microsoft Corp."
- VALUE "FileDescription", "PS UI Replacement Sample"
- VALUE "FileVersion", "1, 0, 0, 1"
- VALUE "InternalName", "PSUIREP"
- VALUE "LegalCopyright", "Copyright � 1998 - 2003 Microsoft Corp."
- VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation"
- VALUE "OriginalFilename", "PSUIREP.dll"
- VALUE "ProductName", "Microsoft PS UI Replacement Sample"
- VALUE "ProductVersion", "1.1"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""winres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DEVICE_PROPPAGE DIALOG 0, 0, 179, 113
-STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Device Property Page"
-FONT 8, "MS Shell Dialog"
-BEGIN
- LTEXT "OEM UI Added Page",IDC_STATIC,55,14,68,11
- PUSHBUTTON "Calibrate",IDC_CALIBRATE,61,34,50,14
-END
-
-IDD_DOC_PROPPAGE DIALOG 0, 0, 210, 154
-STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Document Property Page"
-FONT 8, "MS Shell Dialog"
-BEGIN
- LTEXT "OEM UI Document Property Page",IDC_STATIC,60,73,108,8
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO
-BEGIN
- IDD_DEVICE_PROPPAGE, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 172
- TOPMARGIN, 8
- BOTTOMMARGIN, 106
- END
-
- IDD_DOC_PROPPAGE, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 203
- TOPMARGIN, 7
- BOTTOMMARGIN, 147
- END
-END
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE
-BEGIN
- IDS_SECTION "OEM UI Added Item"
- IDS_CALIBRATED "Printer has been calibrated."
- IDS_NAME "OEM UI Customization DLL"
- IDS_DEVICE_SETTINGS_NAME "Device Settings"
- IDS_CONSTRAINT_CONFLICT "Ther are one or more conflicting settings.\r\nOne of the conflicting is:\r\n\t%1: %2\r\n\t%3: %4\r\n\r\nDo you want driver to automatically resolve conflict?"
- IDS_DEV_SECTION "Device Settings OEM UI Added Item"
- IDS_ADV_SECTION "Advanced OEM UI Added Item"
-END
-
-STRINGTABLE
-BEGIN
- IDS_POSTSCRIPT_VM "Available PostScript Memory"
- IDS_KBYTES "KB"
- IDS_SECONDS "seconds"
- IDS_PSTIMEOUTS "PostScript Timeout Values"
- IDS_JOBTIMEOUT "Job Timeout"
- IDS_WAITTIMEOUT "Wait Timeout"
- IDS_PRINTER_DEFAULT "Use Current Setting in the Printer"
- IDS_INSTALLABLE_OPTIONS "Installable Options"
- IDS_DOWNLOAD_AS_SOFTFONT "<Don't Substitute>"
- IDS_USE_DEVFONTS "Use Device Fonts?"
- IDS_FONTSUB_OPTION "Font Substitution"
- IDS_FONTSUB_DEFAULT "Normal"
- IDS_FONTSUB_SLOW "Slow but more accurate"
- IDS_FONTSUB_TABLE "Font Substitution Table"
- IDS_DEFAULT_TRAY " / Default tray"
- IDS_DRAW_ONLY_FROM_SELECTED "Draw selected form only from this tray"
-END
-
-STRINGTABLE
-BEGIN
- IDS_RESTORE_DEFAULTS "&Restore Defaults"
- IDS_PRINTER_FEATURES "Printer Features"
- IDS_METAFILE_SPOOLING "Advanced Printing Features"
- IDS_ENABLED "&Enabled"
- IDS_DISABLED "&Disabled"
- IDS_PSOPTIONS "PostScript Options"
- IDS_MIRROR "Mirrored Output"
- IDS_NEGATIVE_PRINT "Negative Output"
- IDS_PAGEINDEP "Page Independence"
- IDS_COMPRESSBMP "Compress bitmaps"
- IDS_CTRLD_BEFORE "Send CTRL-D Before Each Job"
- IDS_CTRLD_AFTER "Send CTRL-D After Each Job"
- IDS_JOB_CONTROL "Generate Job Control Code"
- IDS_TEXT_ASGRX "Print Optimizations"
-END
-
-STRINGTABLE
-BEGIN
- IDS_TRUE_GRAY_TEXT "Convert Gray Text to PostScript Gray"
- IDS_TRUE_GRAY_GRAPH "Convert Gray Graphics to PostScript Gray"
- IDS_ADD_EURO "Add Euro Currency Symbol to PostScript Fonts"
-END
-
-STRINGTABLE
-BEGIN
- IDS_PAGE_PROTECTION "Page Protection"
- IDS_CANCEL_CONFLICT "Restore my previous settings"
- IDS_IGNORE_CONFLICT "Keep this setting, and I will change it later"
- IDS_RESOLVE_CONFLICT "Resolve this conflict for me automatically"
- IDS_DRIVERUI_COLORMODE "Color Mode Option"
- IDS_ENVELOPE "Envelope"
- IDS_ENV_PREFIX "Env"
- IDS_PSPROTOCOL "Output Protocol"
- IDS_PSPROTOCOL_ASCII "ASCII"
- IDS_PSPROTOCOL_BCP "BCP"
- IDS_PSPROTOCOL_TBCP "TBCP"
- IDS_PSPROTOCOL_BINARY "Binary"
- IDS_TRAY_FORMSOURCE "Automatically Select"
- IDS_OEMERR_DLGTITLE "OEM Customization Module Failed"
- IDS_OEMERR_OPTITEM "Couldn't add custom items from OEM customization module '%s'.\n\nPlease contact its vendor for support."
-END
-
-STRINGTABLE
-BEGIN
- IDS_OEMERR_PROPSHEET "Couldn't add custom property sheet pages from OEM customization module '%s'.\n\nPlease contact its vendor for support."
- IDS_CANCEL_CONFLICT_FINAL "I will resolve the conflict for myself"
- IDS_PSERROR_HANDLER "Send PostScript Error Handler"
- IDS_PSMINOUTLINE "Minimum Font Size to Download as Outline"
- IDS_PSMAXBITMAP "Maximum Font Size to Download as Bitmap"
- IDS_PIXELS "pixel(s)"
- IDS_PSOUTPUT_OPTION "PostScript Output Option"
- IDS_PSOPT_SPEED "Optimize for Speed"
- IDS_PSOPT_PORTABILITY "Optimize for Portability"
- IDS_PSOPT_EPS "Encapsulated PostScript (EPS)"
- IDS_PSOPT_ARCHIVE "Archive Format"
- IDS_PSTT_DLFORMAT "TrueType Font Download Option"
- IDS_TTDL_DEFAULT "Automatic"
- IDS_TTDL_TYPE1 "Outline"
- IDS_TTDL_TYPE3 "Bitmap"
- IDS_TTDL_TYPE42 "Native TrueType"
-END
-
-STRINGTABLE
-BEGIN
- IDS_PSLEVEL "PostScript Language Level"
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/PSUIREP.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/PSUIREP.vcxproj
deleted file mode 100644
index a8816083..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/PSUIREP.vcxproj
+++ /dev/null
@@ -1,1066 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Win10 Debug|ARM64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|Win32">
- <Configuration>Win10 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|x64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|ARM64">
- <Configuration>Win10 Release</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|Win32">
- <Configuration>Win10 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|x64">
- <Configuration>Win10 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|Win32">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|Win32">
- <Configuration>Win8 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|Win32">
- <Configuration>Win7 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|Win32">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|Win32">
- <Configuration>Win8 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|Win32">
- <Configuration>Win7 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|x64">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|x64">
- <Configuration>Win8 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|x64">
- <Configuration>Win7 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|x64">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|x64">
- <Configuration>Win8 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|x64">
- <Configuration>Win7 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{5D63CD51-110C-41B7-B8B0-6AB27398690B}</ProjectGuid>
- <RootNamespace>$(MSBuildProjectName)</RootNamespace>
- <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration>
- <Platform Condition="'$(Platform)' == ''">Win32</Platform>
- <SampleGuid>{50E3486C-DFB5-4447-A055-55B51DE6A08C}</SampleGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <PropertyGroup>
- <OutDir>$(IntDir)</OutDir>
- </PropertyGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ItemGroup Label="WrappedTaskItems" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetName>PSUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetName>PSUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetName>PSUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <TargetName>PSUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <TargetName>PSUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetName>PSUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetName>PSUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetName>PSUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <TargetName>PSUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <TargetName>PSUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetName>PSUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetName>PSUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetName>PSUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <TargetName>PSUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetName>PSUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetName>PSUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetName>PSUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <TargetName>PSUIREP</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Link>
- <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Link>
- <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Link>
- <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <Link>
- <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <Link>
- <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <Link>
- <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="debug.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="devmode.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="features.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="globals.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="helper.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="OEMUI.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Create</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="stringutils.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ResourceCompile Include="OEMUI.rc" />
- </ItemGroup>
- <ItemGroup>
- <Inf Exclude="@(Inf)" Include="*.inf" />
- <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" />
- </ItemGroup>
- <ItemGroup>
- <None Exclude="@(None)" Include="*.txt;*.htm;*.html" />
- <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" />
- <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/PSUIREP.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/PSUIREP.vcxproj.Filters
deleted file mode 100644
index a7adcd57..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/PSUIREP.vcxproj.Filters
+++ /dev/null
@@ -1,397 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions>
- <UniqueIdentifier>{34758E7D-B1F9-45D1-BF4C-84952A011FD8}</UniqueIdentifier>
- </Filter>
- <Filter Include="Header Files">
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- <UniqueIdentifier>{5FBB97F9-5E07-46FA-9D57-352EF01D247C}</UniqueIdentifier>
- </Filter>
- <Filter Include="Resource Files">
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions>
- <UniqueIdentifier>{B3D9DA9C-3DC0-474A-8E98-121243DA58B3}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="debug.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="devmode.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="features.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="globals.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="helper.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="OEMUI.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="stringutils.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="Helper.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="StringUtils.h" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="OEMUI.rc">
- <Filter>Resource Files</Filter>
- </ResourceCompile>
- </ItemGroup>
- <ItemGroup>
- <None Include="psuirep.def">
- <Filter>Source Files</Filter>
- </None>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/StringUtils.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/StringUtils.cpp
deleted file mode 100644
index 01690f07..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/StringUtils.cpp
+++ /dev/null
@@ -1,315 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 2001 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: StringUtils.cpp
-//
-// PURPOSE: Implementation wrapper class for WinXP PS Driver Features and Options.
-//
-
-
-#include "precomp.h"
-#include "debug.h"
-#include "devmode.h"
-#include "globals.h"
-#include "helper.h"
-#include "features.h"
-#include "oemui.h"
-#include "stringutils.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-// Create a list of pointers to the strings
-// in a multi-sz.
-_Use_decl_annotations_
-HRESULT MakeStrPtrList(HANDLE hHeap, PCSTR pmszMultiSz, PCSTR **pppszList, PWORD pwCount)
-{
- PCSTR *ppszList = NULL;
- HRESULT hrResult = S_OK;
-
-
- // Validate parameters
- if( (NULL == hHeap)
- ||
- (NULL == pmszMultiSz)
- ||
- (NULL == pppszList)
- ||
- (NULL == pwCount)
- )
- {
- return E_INVALIDARG;
- }
-
- // Get the count of strings in the multi-sz.
- *pwCount = mstrcount(pmszMultiSz);
- if(0 == *pwCount)
- {
- WARNING(DLLTEXT("MakeStrPtrList() pmszMultiSz contains no strings.\r\n"));
-
- *pppszList = NULL;
-
- goto Exit;
- }
-
- // Allocate pointer list.
- *pppszList = (PCSTR *) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, (*pwCount) * sizeof(PCSTR));
- if(NULL == *pppszList)
- {
- ERR(ERRORTEXT("MakeStrPtrList() failed to allote array of PCSTR.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
- ppszList = *pppszList;
-
- // Walk multi-sz mapping string pointers.
- for(WORD wIndex = 0; wIndex < *pwCount; ++wIndex)
- {
- ppszList[wIndex] = pmszMultiSz;
- pmszMultiSz += strlen(pmszMultiSz) + 1;
- }
-
-
-Exit:
-
- return hrResult;
-}
-
-
-// Determine how many strings are in the multi-sz.
-WORD mstrcount(PCSTR pmszMultiSz)
-{
- WORD wCount = 0;
-
-
- // NULL string pointers have no strings.
- if(NULL == pmszMultiSz)
- {
- return 0;
- }
-
- // Walk list of strings counting them.
- while(pmszMultiSz[0] != '\0')
- {
- ++wCount;
- pmszMultiSz += strlen(pmszMultiSz) + 1;
- }
-
- return wCount;
-}
-
-// Allocates and converts ANSI string to Unicode.
-PWSTR MakeUnicodeString(HANDLE hHeap, PCSTR pszAnsi)
-{
- int nSize = 0;
- PWSTR pszUnicode = NULL;
-
-
- // Validate parameters
- if( (NULL == hHeap)
- ||
- (NULL == pszAnsi)
- )
- {
- return NULL;
- }
-
- // Get the size needed for UNICODE string.
- nSize = MultiByteToWideChar(CP_ACP, 0, pszAnsi, -1, NULL, 0);
- if(0 != nSize)
- {
- // Allocate unicode string.
- pszUnicode = (PWSTR) HeapAlloc(hHeap, 0, nSize * sizeof(WCHAR));
- if(NULL != pszUnicode)
- {
- // Convert ANSI to Unicode
- nSize = MultiByteToWideChar(CP_ACP, 0, pszAnsi, -1, pszUnicode, nSize);
- if(0 == nSize)
- {
- // INVARIANT: failed to convert.
-
- // free buffer and return NULL.
- HeapFree(hHeap, 0, pszUnicode);
- pszUnicode = NULL;
- }
- }
- }
-
- return pszUnicode;
-}
-
-// Allocates and copies source string.
-PWSTR MakeStringCopy(HANDLE hHeap, PCWSTR pszSource)
-{
- PWSTR pszCopy = NULL;
- DWORD dwSize;
-
-
- // Validate parameters
- if( (NULL == hHeap)
- ||
- (NULL == pszSource)
- )
- {
- return NULL;
- }
-
- // Allocate memory for string duplication, and duplicate the string.
- dwSize = (DWORD)(wcslen(pszSource) + 1) * sizeof(WCHAR);
- pszCopy = (PWSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize);
- if(NULL != pszCopy)
- {
- HRESULT hResult;
-
-
- hResult = StringCbCopyW(pszCopy, dwSize, pszSource);
- if(FAILED(hResult))
- {
- HeapFree(hHeap, 0, pszCopy);
- pszCopy = NULL;
- SetLastError(hResult);
- }
- }
-
- return pszCopy;
-}
-
-// Allocates and copies source string.
-PSTR MakeStringCopy(HANDLE hHeap, PCSTR pszSource)
-{
- PSTR pszCopy = NULL;
- size_t dwSize;
-
-
- // Validate parameters
- if( (NULL == hHeap)
- ||
- (NULL == pszSource)
- )
- {
- return NULL;
- }
-
- // Allocate memory for string duplication, and duplicate the string.
- dwSize = (strlen(pszSource) + 1) * sizeof(CHAR);
- pszCopy = (PSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize);
- if(NULL != pszCopy)
- {
- HRESULT hResult;
-
- hResult = StringCbCopyA(pszCopy, dwSize, pszSource);
- if(FAILED(hResult))
- {
- HeapFree(hHeap, 0, pszCopy);
- pszCopy = NULL;
- SetLastError(hResult);
- }
- }
-
- return pszCopy;
-}
-
-// Frees list of strings.
-// NOTE: don't use this for string list made with MakeStrPtrList(), since
-// the strings pointed to be list made with MakeStrPtrList() will
-// be freed when the multi-sz is freed.
-void FreeStringList(HANDLE hHeap, _In_reads_(wCount) PWSTR *ppszList, WORD wCount)
-{
- // Validate parameters.
- if( (NULL == hHeap)
- ||
- (NULL == ppszList)
- )
- {
- return;
- }
-
- // Free each of the strings in the list.
- for(WORD wIndex = 0; wIndex < wCount; ++wIndex)
- {
- if(NULL != ppszList[wIndex]) HeapFree(hHeap, 0, ppszList[wIndex]);
- }
-
- // Free list.
- HeapFree(hHeap, 0, ppszList);
-}
-
-
-// Retrieves pointer to a String resource.
-HRESULT GetStringResource(HANDLE hHeap, HMODULE hModule, UINT uResource, _Outptr_result_maybenull_ PWSTR *ppszString)
-{
- int nResult;
- DWORD dwSize = MAX_PATH;
- PWSTR pszString = NULL;
- HRESULT hrResult = S_OK;
-
-
- VERBOSE(DLLTEXT("GetStringResource(%#x, %#x, %d) entered.\r\n"), hHeap, hModule, uResource);
-
- // Validate parameters.
- if( (NULL == hHeap)
- ||
- (NULL == ppszString)
- )
- {
- return E_INVALIDARG;
- }
-
- // Allocate buffer for string resource from heap; let the driver clean it up.
- pszString = (PWSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize * sizeof(WCHAR));
- if(NULL == pszString)
- {
- ERR(ERRORTEXT("GetStringResource() failed to allocate string buffer!\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- // Load string resource; resize after loading so as not to waste memory.
- nResult = LoadString(hModule, uResource, pszString, dwSize);
- if(nResult > 0)
- {
- PWSTR pszTemp;
-
-
- VERBOSE(DLLTEXT("LoadString() returned %d!\r\n"), nResult);
- VERBOSE(DLLTEXT("String load was \"%s\".\r\n"), pszString);
-
- pszTemp = (PWSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pszString, (nResult + 1) * sizeof(WCHAR));
- if(NULL != pszTemp)
- {
- pszString = pszTemp;
- }
- else
- {
- WARNING(DLLTEXT("GetStringResource() HeapReAlloc() of string retrieved failed! (Last Error was %d)\r\n"), GetLastError());
- }
- }
- else
- {
- DWORD dwError = GetLastError();
-
-
- ERR(ERRORTEXT("LoadString() returned %d! (Last Error was %d)\r\n"), nResult, GetLastError());
- ERR(ERRORTEXT("GetStringResource() failed to load string resource %d!\r\n"), uResource);
-
- HeapFree(hHeap, 0, pszString);
- pszString = NULL;
- hrResult = HRESULT_FROM_WIN32(dwError);
- }
-
-
-Exit:
-
- // Save string pointer to caller.
- // NOTE: string pointer will be NULL on failure.
- *ppszString = pszString;
-
- return hrResult;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/StringUtils.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/StringUtils.h
deleted file mode 100644
index 35de69f2..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/StringUtils.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 2001 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: StringUtils.h
-//
-// PURPOSE: Header file for string utility routines.
-//
-#pragma once
-
-////////////////////////////////////////////////////////
-// Prototypes
-////////////////////////////////////////////////////////
-_Success_(return >= 0 && *pwCount > 0) HRESULT MakeStrPtrList(HANDLE hHeap, PCSTR pmszMultiSz, _Outptr_result_buffer_(*pwCount) PCSTR **pppszList, _Out_ PWORD pwCount);
-WORD mstrcount(PCSTR pmszMultiSz);
-PWSTR MakeUnicodeString(HANDLE hHeap, PCSTR pszAnsi);
-PWSTR MakeStringCopy(HANDLE hHeap, PCWSTR pszSource);
-PSTR MakeStringCopy(HANDLE hHeap, PCSTR pszSource);
-void FreeStringList(HANDLE hHeap, _In_reads_(wCount) PWSTR *ppszList, WORD wCount);
-HRESULT GetStringResource(HANDLE hHeap, HMODULE hModule, UINT uResource, _Outptr_result_maybenull_ PWSTR *ppszString);
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/debug.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/debug.cpp
deleted file mode 100644
index f7a3d842..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/debug.cpp
+++ /dev/null
@@ -1,405 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Debug.cpp
-//
-// PURPOSE: Debug functions.
-//
-//
-
-#include "precomp.h"
-#include "debug.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-////////////////////////////////////////////////////////
-// INTERNAL DEFINES
-////////////////////////////////////////////////////////
-
-#define DEBUG_BUFFER_SIZE 1024
-#define PATH_SEPARATOR '\\'
-#define MAX_LOOP 10
-
-// Determine what level of debugging messages to eject.
-#ifdef VERBOSE_MSG
- #define DEBUG_LEVEL DBG_VERBOSE
-#elif TERSE_MSG
- #define DEBUG_LEVEL DBG_TERSE
-#elif WARNING_MSG
- #define DEBUG_LEVEL DBG_WARNING
-#elif ERROR_MSG
- #define DEBUG_LEVEL DBG_ERROR
-#elif RIP_MSG
- #define DEBUG_LEVEL DBG_RIP
-#elif NO_DBG_MSG
- #define DEBUG_LEVEL DBG_NONE
-#else
- #define DEBUG_LEVEL DBG_WARNING
-#endif
-
-
-
-////////////////////////////////////////////////////////
-// EXTERNAL GLOBALS
-////////////////////////////////////////////////////////
-
-INT giDebugLevel = DEBUG_LEVEL;
-
-
-
-
-////////////////////////////////////////////////////////
-// INTERNAL PROTOTYPES
-////////////////////////////////////////////////////////
-
-static BOOL DebugMessageV(LPCSTR lpszMessage, va_list arglist);
-static BOOL DebugMessageV(DWORD dwSize, LPCWSTR lpszMessage, va_list arglist);
-
-
-
-
-//////////////////////////////////////////////////////////////////////////
-// Function: DebugMessageV
-//
-// Description: Outputs variable argument debug string.
-//
-//
-// Parameters:
-//
-// dwSize Size of temp buffer to hold formated string.
-//
-// lpszMessage Format string.
-//
-// arglist Variable argument list..
-//
-//
-// Returns:
-//
-//
-// Comments:
-//
-//
-//////////////////////////////////////////////////////////////////////////
-
-static BOOL DebugMessageV(LPCSTR lpszMessage, va_list arglist)
-{
- DWORD dwSize = DEBUG_BUFFER_SIZE;
- DWORD dwLoop = 0;
- LPSTR lpszMsgBuf = NULL;
- HRESULT hr;
-
-
- // Parameter checking.
- if( (NULL == lpszMessage)
- ||
- (0 == dwSize)
- )
- {
- return FALSE;
- }
-
- do
- {
- // Allocate memory for message buffer.
- if(NULL != lpszMsgBuf)
- {
- delete[] lpszMsgBuf;
- dwSize *= 2;
- }
- lpszMsgBuf = new CHAR[dwSize + 1];
- if(NULL == lpszMsgBuf)
- {
- return FALSE;
- }
-
- hr = StringCbVPrintfA(lpszMsgBuf, (dwSize + 1) * sizeof(CHAR), lpszMessage, arglist);
-
- // Pass the variable parameters to wvsprintf to be formated.
- } while (FAILED(hr) && (STRSAFE_E_INSUFFICIENT_BUFFER == hr) && (++dwLoop < MAX_LOOP) );
-
- // Dump string to Debug output.
- OutputDebugStringA(lpszMsgBuf);
-
- // Cleanup.
- delete[] lpszMsgBuf;
-
- return SUCCEEDED(hr);
-}
-
-
-//////////////////////////////////////////////////////////////////////////
-// Function: DebugMessageV
-//
-// Description: Outputs variable argument debug string.
-//
-//
-// Parameters:
-//
-// dwSize Size of temp buffer to hold formated string.
-//
-// lpszMessage Format string.
-//
-// arglist Variable argument list..
-//
-//
-// Returns:
-//
-//
-// Comments:
-//
-//
-//////////////////////////////////////////////////////////////////////////
-
-static BOOL DebugMessageV(DWORD dwSize, LPCWSTR lpszMessage, va_list arglist)
-{
- LPWSTR lpszMsgBuf;
- HRESULT hResult;
-
-
- // Parameter checking.
- if( (NULL == lpszMessage)
- ||
- (0 == dwSize)
- )
- {
- return FALSE;
- }
-
- // Allocate memory for message buffer.
- lpszMsgBuf = new WCHAR[dwSize + 1];
- if(NULL == lpszMsgBuf)
- return FALSE;
-
- // Pass the variable parameters to wvsprintf to be formated.
- hResult = StringCbVPrintfW(lpszMsgBuf, (dwSize + 1) * sizeof(WCHAR), lpszMessage, arglist);
-
- // Dump string to debug output.
- OutputDebugStringW(lpszMsgBuf);
-
- // Clean up.
- delete[] lpszMsgBuf;
-
- return SUCCEEDED(hResult);
-}
-
-
-//////////////////////////////////////////////////////////////////////////
-// Function: DebugMessage
-//
-// Description: Outputs variable argument debug string.
-//
-//
-// Parameters:
-//
-// lpszMessage Format string.
-//
-//
-// Returns:
-//
-//
-// Comments:
-//
-//
-//////////////////////////////////////////////////////////////////////////
-
-BOOL DebugMessage(LPCSTR lpszMessage, ...)
-{
- BOOL bResult;
- va_list VAList;
-
-
- // Pass the variable parameters to DebugMessageV for processing.
- va_start(VAList, lpszMessage);
- bResult = DebugMessageV(lpszMessage, VAList);
- va_end(VAList);
-
- return bResult;
-}
-
-
-//////////////////////////////////////////////////////////////////////////
-// Function: DebugMessage
-//
-// Description: Outputs variable argument debug string.
-//
-//
-// Parameters:
-//
-// lpszMessage Format string.
-//
-//
-// Returns:
-//
-//
-// Comments:
-//
-//
-//////////////////////////////////////////////////////////////////////////
-
-BOOL DebugMessage(LPCWSTR lpszMessage, ...)
-{
- BOOL bResult;
- va_list VAList;
-
-
- // Pass the variable parameters to DebugMessageV to be processed.
- va_start(VAList, lpszMessage);
- bResult = DebugMessageV(MAX_PATH, lpszMessage, VAList);
- va_end(VAList);
-
- return bResult;
-}
-
-void Dump(PPUBLISHERINFO pPublisherInfo)
-{
- VERBOSE(TEXT("pPublisherInfo:\r\n"));
- if(NULL == pPublisherInfo)
- {
- VERBOSE(TEXT("\tpPublisherInfo is NULL!\r\n"));
- return;
- }
- VERBOSE(TEXT("\tdwMode = %#x\r\n"), pPublisherInfo->dwMode);
- VERBOSE(TEXT("\twMinoutlinePPEM = %d\r\n"), pPublisherInfo->wMinoutlinePPEM);
- VERBOSE(TEXT("\twMaxbitmapPPEM = %d\r\n"), pPublisherInfo->wMaxbitmapPPEM);
-}
-
-void Dump(POEMDMPARAM pOemDMParam)
-{
- VERBOSE(TEXT("pOemDMParam:\r\n"));
- if(NULL == pOemDMParam)
- {
- VERBOSE(TEXT("\tpOemDMParam is NULL!\r\n"));
- return;
- }
- VERBOSE(TEXT("\tcbSize = %d\r\n"), pOemDMParam->cbSize);
- VERBOSE(TEXT("\tpdriverobj = %#x\r\n"), pOemDMParam->pdriverobj);
- VERBOSE(TEXT("\thPrinter = %#x\r\n"), pOemDMParam->hPrinter);
- VERBOSE(TEXT("\thModule = %#x\r\n"), pOemDMParam->hModule);
- VERBOSE(TEXT("\tpPublicDMIn = %#x\r\n"), pOemDMParam->pPublicDMIn);
- VERBOSE(TEXT("\tpPublicDMOut = %#x\r\n"), pOemDMParam->pPublicDMOut);
- VERBOSE(TEXT("\tpOEMDMIn = %#x\r\n"), pOemDMParam->pOEMDMIn);
- VERBOSE(TEXT("\tpOEMDMOut = %#x\r\n"), pOemDMParam->pOEMDMOut);
- VERBOSE(TEXT("\tcbBufSize = %d\r\n"), pOemDMParam->cbBufSize);
-}
-
-void Dump(PPROPSHEETUI_INFO pPSUIInfo)
-{
- VERBOSE(TEXT("pPSUIInfo:\r\n"));
- if(NULL == pPSUIInfo)
- {
- VERBOSE(TEXT("\tpPSUIInfo is NULL!\r\n"));
- return;
- }
- VERBOSE(TEXT("\tcbSize = %d\r\n"), pPSUIInfo->cbSize);
- VERBOSE(TEXT("\tVersion = %#x\r\n"), pPSUIInfo->Version);
- VERBOSE(TEXT("\tFlags = %#x\r\n"), pPSUIInfo->Flags);
- VERBOSE(TEXT("\tReason = %d\r\n"), pPSUIInfo->Reason);
- VERBOSE(TEXT("\thComPropSheet = %#x\r\n"), pPSUIInfo->hComPropSheet);
- VERBOSE(TEXT("\tpfnComPropSheet = %#x\r\n"), pPSUIInfo->pfnComPropSheet);
- VERBOSE(TEXT("\tlParamInit = %#x\r\n"), pPSUIInfo->lParamInit);
- VERBOSE(TEXT("\tUserData = %#x\r\n"), pPSUIInfo->UserData);
- VERBOSE(TEXT("\tResult = %#x\r\n"), pPSUIInfo->Result);
-}
-
-void Dump(POPTITEM pOptItem)
-{
- VERBOSE(TEXT("pOptItem:\r\n"));
- if(NULL == pOptItem)
- {
- VERBOSE(TEXT("\tpOptItem is NULL!\r\n"));
- return;
- }
- VERBOSE(TEXT("\tcbSize = %d\r\n"), pOptItem->cbSize);
- VERBOSE(TEXT("\tLevel = %d\r\n"), pOptItem->Level);
- VERBOSE(TEXT("\tDlgPageIdx = %d\r\n"), pOptItem->DlgPageIdx);
- VERBOSE(TEXT("\tFlags = 0x%x\r\n"), pOptItem->Flags);
- VERBOSE(TEXT("\tUserData = 0x%p\r\n"), pOptItem->UserData);
- VERBOSE(TEXT("\tpName = %s\r\n"), pOptItem->pName ? pOptItem->pName : TEXT("<NULL>"));
- VERBOSE(TEXT("\tpSel = 0x%p\r\n"), pOptItem->pSel);
- VERBOSE(TEXT("\tpExtChkBox = 0x%p\r\n"), pOptItem->pExtChkBox);
- VERBOSE(TEXT("\tpExtChkBox = 0x%p\r\n"), pOptItem->pExtChkBox);
- VERBOSE(TEXT("\tHelpIndex = 0x%x\r\n"), pOptItem->HelpIndex);
- VERBOSE(TEXT("\tDMPubID = 0x%x\r\n"), pOptItem->DMPubID);
- VERBOSE(TEXT("\tUserItemID = 0x%x\r\n"), pOptItem->UserItemID);
- VERBOSE(TEXT("\twReserved = 0x%x\r\n"), pOptItem->wReserved);
- VERBOSE(TEXT("\tpOIExt = 0x%p\r\n"), pOptItem->pOIExt);
-
- Dump(pOptItem->pOptType);
-}
-
-void Dump(POPTTYPE pOptType)
-{
- VERBOSE(TEXT("\tpOptType:\r\n"));
- if(NULL == pOptType)
- {
- VERBOSE(TEXT("\t\tpOptType is NULL!\r\n"));
- return;
- }
- VERBOSE(TEXT("\t\tcbSize = %d\r\n"), pOptType->cbSize);
- VERBOSE(TEXT("\t\tType = 0x%x\r\n"), pOptType->Type);
- VERBOSE(TEXT("\t\tFlags = 0x%x\r\n"), pOptType->Flags);
- VERBOSE(TEXT("\t\tCount = %d\r\n"), pOptType->Count);
- VERBOSE(TEXT("\t\tCount = 0x%x\r\n"), pOptType->BegCtrlID);
- VERBOSE(TEXT("\t\tStyle = 0x%x\r\n"), pOptType->Style);
-
- Dump(pOptType->pOptParam, pOptType->Count);
-}
-
-void Dump(POPTPARAM pOptParam, WORD wCount)
-{
- if(NULL == pOptParam)
- {
- VERBOSE(TEXT("\t\tpOptParam is NULL!\r\n"));
- return;
- }
-
- for(WORD wIndex = 0; wIndex < wCount; ++wIndex)
- {
- VERBOSE(TEXT("\t\tpOptParam[wIndex]:\r\n"));
- VERBOSE(TEXT("\t\t\tcbSize = %d\r\n"), pOptParam[wIndex].cbSize);
- VERBOSE(TEXT("\t\t\tFlags = 0x%x\r\n"), pOptParam[wIndex].Flags);
- VERBOSE(TEXT("\t\t\tStyle = 0x%x\r\n"), pOptParam[wIndex].Style);
- VERBOSE(TEXT("\t\t\tpData = 0x%p\r\n"), pOptParam[wIndex].pData);
- VERBOSE(TEXT("\t\t\tIconID = 0x%p\r\n"), pOptParam[wIndex].IconID);
- VERBOSE(TEXT("\t\t\tlParam = 0x%p\r\n"), pOptParam[wIndex].lParam);
- }
-}
-
-
-PCSTR
-StripDirPrefixA(
- IN PCSTR pstrFilename
- )
-
-/*++
-
-Routine Description:
-
- Strip the directory prefix off a filename (ANSI version)
-
-Arguments:
-
- pstrFilename - Pointer to filename string
-
-Return Value:
-
- Pointer to the last component of a filename (without directory prefix)
-
---*/
-
-{
- PCSTR pstr;
-
- pstr = strrchr(pstrFilename, PATH_SEPARATOR);
- if (pstr)
- return pstr + 1;
-
- return pstrFilename;
-}
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/debug.h
deleted file mode 100644
index b4d57b0b..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/debug.h
+++ /dev/null
@@ -1,166 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Debug.H
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debugging functions.
-//
-//
-
-#pragma once
-
-// VC and Build use different debug defines.
-// The following makes it so either will
-// cause the inclusion of debugging code.
-#if !defined(_DEBUG) && defined(DBG)
- #define _DEBUG DBG
-#elif defined(_DEBUG) && !defined(DBG)
- #define DBG _DEBUG
-#endif
-
-
-
-/////////////////////////////////////////////////////////
-// Macros
-/////////////////////////////////////////////////////////
-
-//
-// These macros are used for debugging purposes. They expand
-// to white spaces on a free build. Here is a brief description
-// of what they do and how they are used:
-//
-// giDebugLevel
-// Global variable which set the current debug level to control
-// the amount of debug messages emitted.
-//
-// VERBOSE(msg)
-// Display a message if the current debug level is <= DBG_VERBOSE.
-//
-// TERSE(msg)
-// Display a message if the current debug level is <= DBG_TERSE.
-//
-// WARNING(msg)
-// Display a message if the current debug level is <= DBG_WARNING.
-// The message format is: WRN filename (linenumber): message
-//
-// ERR(msg)
-// Similiar to WARNING macro above - displays a message
-// if the current debug level is <= DBG_ERROR.
-//
-// ASSERT(cond)
-// Verify a condition is true. If not, force a breakpoint.
-//
-// ASSERTMSG(cond, msg)
-// Verify a condition is true. If not, display a message and
-// force a breakpoint.
-//
-// RIP(msg)
-// Display a message and force a breakpoint.
-//
-// Usage:
-// These macros require extra parantheses for the msg argument
-// example, ASSERTMSG(x > 0, ("x is less than 0\n"));
-// WARNING(("App passed NULL pointer, ignoring...\n"));
-//
-
-#define DBG_VERBOSE 1
-#define DBG_TERSE 2
-#define DBG_WARNING 3
-#define DBG_ERROR 4
-#define DBG_RIP 5
-#define DBG_NONE 6
-
-#if DBG
-
- #define DebugMsg DebugMessage
-
- //
- // Strip the directory prefix from a filename (ANSI version)
- //
-
- PCSTR
- StripDirPrefixA(
- IN PCSTR pstrFilename
- );
-
- extern INT giDebugLevel;
-
-
- #define DBGMSG(level, prefix, msg) { \
- if (giDebugLevel <= (level)) { \
- DebugMsg("%s %s (%d): ", prefix, StripDirPrefixA(__FILE__), __LINE__); \
- DebugMsg(msg); \
- } \
- }
-
- #define DBGPRINT(level, msg) { \
- if (giDebugLevel <= (level)) { \
- DebugMsg(msg); \
- } \
- }
-
- #define VERBOSE if(giDebugLevel <= DBG_VERBOSE) DebugMsg
- #define TERSE if(giDebugLevel <= DBG_TERSE) DebugMsg
- #define WARNING if(giDebugLevel <= DBG_WARNING) DebugMsg
- #define ERR if(giDebugLevel <= DBG_ERROR) DebugMsg
-
- #define ASSERT(cond) { \
- if (! (cond)) { \
- RIP(("\n")); \
- } \
- }
-
- #define ASSERTMSG(cond, msg) { \
- if (! (cond)) { \
- RIP(msg); \
- } \
- }
-
- #define RIP(msg) { \
- DBGMSG(DBG_RIP, "RIP", msg); \
- DebugBreak(); \
- }
-
-
-#else // !DBG
-
- #define DebugMsg NOP_FUNCTION
-
- #define VERBOSE NOP_FUNCTION
- #define TERSE NOP_FUNCTION
- #define WARNING NOP_FUNCTION
- #define ERR NOP_FUNCTION
-
- #define ASSERT(cond)
-
- #define ASSERTMSG(cond, msg)
- #define RIP(msg)
- #define DBGMSG(level, prefix, msg)
- #define DBGPRINT(level, msg)
-
-#endif
-
-
-
-
-/////////////////////////////////////////////////////////
-// ProtoTypes
-/////////////////////////////////////////////////////////
-
-BOOL DebugMessage(LPCSTR, ...);
-BOOL DebugMessage(LPCWSTR, ...);
-void Dump(PPUBLISHERINFO pPublisherInfo);
-void Dump(POEMDMPARAM pOemDMParam);
-void Dump(PPROPSHEETUI_INFO pPSUIInfo);
-void Dump(POPTITEM pOptItem);
-void Dump(POPTTYPE pOptType);
-void Dump(POPTPARAM pOptParam, WORD wCount);
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/devmode.cpp
deleted file mode 100644
index 43da0361..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/devmode.cpp
+++ /dev/null
@@ -1,193 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.cpp
-//
-// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules.
-//
-
-#include "precomp.h"
-
-#include "debug.h"
-#include "globals.h"
-#include "devmode.h"
-#include "helper.h"
-#include "features.h"
-#include "oemui.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam)
-{
- POEMDEV pOEMDevIn;
- POEMDEV pOEMDevOut;
-
-
- // Verify parameters.
- if( (NULL == pOemDMParam)
- ||
- ( (OEMDM_SIZE != dwMode)
- &&
- (OEMDM_DEFAULT != dwMode)
- &&
- (OEMDM_CONVERT != dwMode)
- &&
- (OEMDM_MERGE != dwMode)
- )
- )
- {
- ERR(ERRORTEXT("DevMode() ERROR_INVALID_PARAMETER.\r\n"));
- VERBOSE(DLLTEXT("\tdwMode = %d, pOemDMParam = %#lx.\r\n"), dwMode, pOemDMParam);
-
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Cast generic (i.e. PVOID) to OEM private devomode pointer type.
- pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn;
- pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut;
-
- switch(dwMode)
- {
- case OEMDM_SIZE:
- pOemDMParam->cbBufSize = sizeof(OEMDEV);
- break;
-
- case OEMDM_DEFAULT:
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- pOEMDevOut->dwDriverData = 0;
- pOEMDevOut->dwAdvancedData = 0;
- VERBOSE(DLLTEXT("pOEMDevOut after setting default values:\r\n"));
- Dump(pOEMDevOut);
- break;
-
- case OEMDM_CONVERT:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut, pOemDMParam->cbBufSize);
- break;
-
- case OEMDM_MERGE:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut, pOemDMParam->cbBufSize);
- MakeOEMDevmodeValid(pOEMDevOut);
- break;
- }
- Dump(pOemDMParam);
-
- return S_OK;
-}
-
-
-BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut, DWORD dwSize)
-{
- if( (NULL == pOEMDevIn)
- ||
- (NULL == pOEMDevOut)
- ||
- (dwSize < sizeof(OEMDEV))
- )
- {
- ERR(ERRORTEXT("ConvertOEMDevmode() invalid parameters.\r\n"));
- return FALSE;
- }
-
- // Check OEM Signature, if it doesn't match ours,
- // then just assume DMIn is bad and use defaults.
- if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature)
- {
- VERBOSE(DLLTEXT("Converting private OEM Devmode.\r\n"));
- VERBOSE(DLLTEXT("pOEMDevIn:\r\n"));
- Dump(pOEMDevIn);
-
- // Set the devmode defaults so that anything the isn't copied over will
- // be set to the default value.
- pOEMDevOut->dwDriverData = 0;
- pOEMDevOut->dwAdvancedData = 0;
-
- // Copy the old structure in to the new using which ever size is the smaller.
- // Devmode maybe from newer Devmode (not likely since there is only one), or
- // Devmode maybe a newer Devmode, in which case it maybe larger,
- // but the first part of the structure should be the same.
-
- // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to;
- // the fields that are in the DEVMODE never change only new fields get added to the end.
-
- memcpy(pOEMDevOut, pOEMDevIn, __min(dwSize, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize)));
-
- // Re-fill in the size and version fields to indicated
- // that the DEVMODE is the current private DEVMODE version.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- }
- else
- {
- WARNING(DLLTEXT("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n"));
-
- // Don't know what the input DEVMODE is, so just use defaults.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- pOEMDevOut->dwDriverData = 0;
- pOEMDevOut->dwAdvancedData = 0;
- }
-
- return TRUE;
-}
-
-
-BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode)
-{
- if(NULL == pOEMDevmode)
- {
- return FALSE;
- }
-
- // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure.
-
- // Make sure that dmOEMExtra indicates the current OEMDEV structure.
- pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION;
-
- // Set driver data, if not valid.
- if(pOEMDevmode->dwDriverData > 100)
- {
- pOEMDevmode->dwDriverData = 0;
- }
-
- // Set Advanced driver data, if not valid.
- if(pOEMDevmode->dwAdvancedData > 100)
- {
- pOEMDevmode->dwAdvancedData = 0;
- }
-
- return TRUE;
-}
-
-
-void Dump(PCOEMDEV pOEMDevmode)
-{
- if( (NULL != pOEMDevmode)
- &&
- (pOEMDevmode->dmOEMExtra.dwSize >= sizeof(OEMDEV))
- &&
- (OEM_SIGNATURE == pOEMDevmode->dmOEMExtra.dwSignature)
- )
- {
- VERBOSE(TEXT("\tdmOEMExtra.dwSize = %d\r\n"), pOEMDevmode->dmOEMExtra.dwSize);
- VERBOSE(TEXT("\tdmOEMExtra.dwSignature = %#x\r\n"), pOEMDevmode->dmOEMExtra.dwSignature);
- VERBOSE(TEXT("\tdmOEMExtra.dwVersion = %#x\r\n"), pOEMDevmode->dmOEMExtra.dwVersion);
- VERBOSE(TEXT("\tdwDriverData = %#x\r\n"), pOEMDevmode->dwDriverData);
- VERBOSE(TEXT("\tdwAdvancedData = %#x\r\n"), pOEMDevmode->dwAdvancedData);
- }
- else
- {
- ERR(ERRORTEXT("Dump(POEMDEV) unknown private OEM DEVMODE.\r\n"));
- }
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/devmode.h
deleted file mode 100644
index 83202d6a..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/devmode.h
+++ /dev/null
@@ -1,56 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.h
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for devmode functions.
-//
-#pragma once
-
-////////////////////////////////////////////////////////
-// OEM Devmode Defines
-////////////////////////////////////////////////////////
-
-
-
-
-////////////////////////////////////////////////////////
-// OEM Devmode Type Definitions
-////////////////////////////////////////////////////////
-
-//
-//Can add info to the private devmode bellow here.
-//Note :
-// This structure must be prefixed by OEM_DMEXTRAHEADER
-// Your plug-in must implement the IPrintOemUI::DevMode method
-//
-typedef struct tagOEMDEV
-{
- OEM_DMEXTRAHEADER dmOEMExtra;
- DWORD dwDriverData;
- DWORD dwAdvancedData;
-
- //
- //Private DevMode Members
- //
-
-} OEMDEV, *POEMDEV;
-
-typedef const OEMDEV *PCOEMDEV;
-
-
-
-/////////////////////////////////////////////////////////
-// ProtoTypes
-/////////////////////////////////////////////////////////
-
-HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam);
-BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut, DWORD dwSize);
-BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode);
-void Dump(PCOEMDEV pOEMDevIn);
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/dllentry.cpp
deleted file mode 100644
index da0a1885..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/dllentry.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: dllentry.cpp
-//
-// PURPOSE: Source module for DLL entry function(s).
-//
-
-#include "precomp.h"
-#include "debug.h"
-#include "globals.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-///////////////////////////////////////////////////////////
-//
-// DLL entry point
-//
-BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved)
-{
- UNREFERENCED_PARAMETER(lpReserved);
-
- switch(wReason)
- {
- case DLL_PROCESS_ATTACH:
- VERBOSE(DLLTEXT("Process attach.\r\n"));
- ghInstance = hInst;
- break;
-
- case DLL_THREAD_ATTACH:
- VERBOSE(DLLTEXT("Thread attach.\r\n"));
- break;
-
- case DLL_PROCESS_DETACH:
- VERBOSE(DLLTEXT("Process detach.\r\n"));
- break;
-
- case DLL_THREAD_DETACH:
- VERBOSE(DLLTEXT("Thread detach.\r\n"));
- break;
- }
-
- return TRUE;
-}
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/globals.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/globals.cpp
deleted file mode 100644
index 785330cb..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/globals.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Globals.cpp
-//
-// PURPOSE: File that contains all the globals.
-//
-
-#include "precomp.h"
-#include "globals.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-///////////////////////////////////////
-// Globals
-///////////////////////////////////////
-
-// Module's Instance handle from DLLEntry of process.
-HINSTANCE ghInstance = NULL;
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/globals.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/globals.h
deleted file mode 100644
index 70d17f1c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/globals.h
+++ /dev/null
@@ -1,31 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Globals.h
-//
-// PURPOSE: Lists of globals declared in Globals.cpp.
-//
-#pragma once
-
-///////////////////////////////////////
-// Globals
-///////////////////////////////////////
-
-
-#define OEM_SIGNATURE 'MSFT'
-#define OEM_VERSION 0x00000001L
-
-// OEM Signature and version.
-#define PROP_TITLE L"OEM PS UI Replacement Page"
-#define DLLTEXT(s) TEXT("PSUIREP: ") TEXT(s)
-
-// OEM UI Misc defines.
-#define ERRORTEXT(s) TEXT("ERROR ") DLLTEXT(s)
-
-// Module's Instance handle from DLLEntry of process.
-extern HINSTANCE ghInstance;
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/intrface.cpp
deleted file mode 100644
index 5ab1bffe..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/intrface.cpp
+++ /dev/null
@@ -1,709 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.cpp
-//
-// PLATFORMS: Windows 2000, Windows XP, Windows Server 2003
-//
-
-#include "precomp.h"
-
-
-#include "precomp.h"
-#include "resource.h"
-#include "debug.h"
-#include "globals.h"
-#include "devmode.h"
-#include "stringutils.h"
-#include "helper.h"
-#include "features.h"
-#include "oemui.h"
-#include "intrface.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-////////////////////////////////////////////////////////
-// Internal Constants
-////////////////////////////////////////////////////////
-
-//
-// List all of the supported Driver UI Helper interface IIDs from the
-// latest to the oldest, that's the order we will query for the
-// the Driver UI Helper interface to use.
-//
-
-const IID *Helper_IIDs[] =
-{
- &IID_IPrintCoreUI2,
- &IID_IPrintOemDriverUI,
-};
-const NUM_HELPER_IIDs = (sizeof(Helper_IIDs)/sizeof(Helper_IIDs[0]));
-
-
-////////////////////////////////////////////////////////
-// Internal Globals
-////////////////////////////////////////////////////////
-
-static long g_cComponents = 0 ; // Count of active components
-static long g_cServerLocks = 0 ; // Count of locks
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IOemUI2 body
-//
-IOemUI2::IOemUI2()
-{
- VERBOSE(DLLTEXT("IOemUI2:IOemUI2() default constructor called.\r\n\r\n"));
-
- // Init ref count to 1 on creation, since AddRef() is implied.
- m_cRef = 1;
-
- // The default for UI Hiding is FALSE, since HideStandardUI method
- // will only be called by Driver UIs that support it.
- // Older Driver UIs don't know about this method and won't call us.
- m_bHidingStandardUI = FALSE;
-
- // Increment component count.
- InterlockedIncrement(&g_cComponents);
-}
-
-IOemUI2::~IOemUI2()
-{
- VERBOSE(DLLTEXT("IOemUI2:~IOemUI2() destructor called.\r\n\r\n"));
-
- // If this instance of the object is being deleted, then the reference
- // count should be zero.
- assert(0 == m_cRef);
-
- // Decrement component count.
- InterlockedDecrement(&g_cComponents);
-}
-
-HRESULT __stdcall IOemUI2::QueryInterface(const IID& iid, void** ppv)
-{
- VERBOSE(DLLTEXT("IOemUI2:QueryInterface entry.\r\n\r\n"));
-
-#if DBG
- TCHAR szIID[80] = {0};
- StringFromGUID2(iid, szIID, _countof(szIID)); // can not fail!
-#endif
-
- // Determine what object to return, if any.
- if(iid == IID_IUnknown)
- {
- *ppv = static_cast<IUnknown*>(this);
- }
- else if(iid == IID_IPrintOemUI2)
- {
- *ppv = static_cast<IPrintOemUI2*>(this);
- }
- else if(iid == IID_IPrintOemUI)
- {
- *ppv = static_cast<IPrintOemUI*>(this);
- }
- else
- {
- // Interface not supported.
-#if DBG
- VERBOSE(DLLTEXT("IOemUI2::QueryInterface %s not supported.\r\n"), szIID);
-#endif
-
- *ppv = NULL ;
- return E_NOINTERFACE ;
- }
-
-#if DBG
- VERBOSE(DLLTEXT("IOemUI2::QueryInterface returning pointer to %s.\r\n"), szIID);
-#endif
-
- reinterpret_cast<IUnknown*>(*ppv)->AddRef();
- return S_OK ;
-}
-
-ULONG __stdcall IOemUI2::AddRef()
-{
- VERBOSE(DLLTEXT("IOemUI2:AddRef entry.\r\n"));
- return InterlockedIncrement(&m_cRef) ;
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IOemUI2::Release()
-{
- VERBOSE(DLLTEXT("IOemUI2:Release entry.\r\n"));
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-HRESULT __stdcall IOemUI2::PublishDriverInterface(
- IUnknown *pIUnknown)
-{
- HRESULT hResult = S_OK;
-
-
- VERBOSE(DLLTEXT("IOemUI2:PublishDriverInterface entry.\r\n"));
-
- // Core Driver UI shouldn't call us more than once if we were successful.
- // Thus, if m_Helper is already valid, we shouldn't be getting called.
- ASSERT(!m_Helper.IsValid());
-
- // Need to store pointer to Driver Helper functions, if we already haven't.
- if (!m_Helper.IsValid())
- {
- PVOID pHelper = NULL;
-
-
- // Try to get the newest version fo the Helper function
- // that Driver UI supports.
- hResult = E_FAIL;
- for(DWORD dwIndex = 0; !SUCCEEDED(hResult) && (dwIndex < NUM_HELPER_IIDs); ++dwIndex)
- {
- // Query Driver UI for Helper interface.
- hResult = pIUnknown->QueryInterface(*Helper_IIDs[dwIndex], &pHelper);
- if(SUCCEEDED(hResult))
- {
- // INVARIANT: we got a Helper interface.
-
-
- // Store Helper interface.
- m_Helper.Assign(*Helper_IIDs[dwIndex], pHelper);
- }
- }
- }
-
- return hResult;
-}
-
-HRESULT __stdcall IOemUI2::GetInfo(
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- VERBOSE(DLLTEXT("IOemUI2::GetInfo(%d) entry.\r\r\n"), dwMode);
-
- // Validate parameters.
- if( (NULL == pcbNeeded)
- ||
- ( (OEMGI_GETSIGNATURE != dwMode)
- &&
- (OEMGI_GETVERSION != dwMode)
- &&
- (OEMGI_GETPUBLISHERINFO != dwMode)
- )
- )
- {
- WARNING(DLLTEXT("IOemUI2::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER\r\r\n"));
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Set expected buffer size and number of bytes written.
- *pcbNeeded = sizeof(DWORD);
-
- // Check buffer size is sufficient.
- if((cbSize < *pcbNeeded) || (NULL == pBuffer))
- {
- WARNING(DLLTEXT("IOemUI2::GetInfo() exit insufficient buffer!\r\r\n"));
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- // OEM DLL Signature
- case OEMGI_GETSIGNATURE:
- *(PDWORD)pBuffer = OEM_SIGNATURE;
- break;
-
- // OEM DLL version
- case OEMGI_GETVERSION:
- *(PDWORD)pBuffer = OEM_VERSION;
- break;
-
- // dwMode not supported.
- default:
- // Set written bytes to zero since nothing was written.
- WARNING(DLLTEXT("IOemUI2::GetInfo() exit mode not supported.\r\r\n"));
- *pcbNeeded = 0;
- SetLastError(ERROR_NOT_SUPPORTED);
- return E_FAIL;
- }
-
- VERBOSE(DLLTEXT("IOemUI2::GetInfo() exit S_OK, (*pBuffer is %#x).\r\r\n"), *(PDWORD)pBuffer);
- return S_OK;
-}
-
-HRESULT __stdcall IOemUI2::DevMode(
- DWORD dwMode,
- POEMDMPARAM pOemDMParam)
-{
- VERBOSE(DLLTEXT("IOemUI2:DevMode(%d, %#x) entry.\r\n"), dwMode, pOemDMParam);
-
- return hrOEMDevMode(dwMode, pOemDMParam);
-}
-
-HRESULT __stdcall IOemUI2::CommonUIProp(
- DWORD dwMode,
- POEMCUIPPARAM pOemCUIPParam)
-{
- VERBOSE(DLLTEXT("IOemUI2:CommonUIProp entry.\r\n"));
-
- return hrOEMPropertyPage(dwMode, pOemCUIPParam);
-}
-
-
-HRESULT __stdcall IOemUI2::DocumentPropertySheets(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IOemUI2:DocumentPropertySheets entry.\r\n"));
-
- return hrOEMDocumentPropertySheets(pPSUIInfo,
- lParam,
- m_Helper,
- &m_Features,
- m_bHidingStandardUI);
-}
-
-HRESULT __stdcall IOemUI2::DevicePropertySheets(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IOemUI2:DevicePropertySheets entry.\r\n"));
-
- return hrOEMDevicePropertySheets(pPSUIInfo,
- lParam,
- m_Helper,
- &m_Features,
- m_bHidingStandardUI);
-}
-
-HRESULT __stdcall IOemUI2::DeviceCapabilities(
- POEMUIOBJ poemuiobj,
- HANDLE hPrinter,
- _In_ PWSTR pDeviceName,
- WORD wCapability,
- PVOID pOutput,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- DWORD dwOld,
- DWORD *dwResult)
-{
- VERBOSE(DLLTEXT("IOemUI2:DeviceCapabilities entry.\r\n"));
-
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(pDeviceName);
- UNREFERENCED_PARAMETER(wCapability);
- UNREFERENCED_PARAMETER(pOutput);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
- UNREFERENCED_PARAMETER(dwOld);
- UNREFERENCED_PARAMETER(dwResult);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI2::DevQueryPrintEx(
- POEMUIOBJ poemuiobj,
- PDEVQUERYPRINT_INFO pDQPInfo,
- PDEVMODE pPublicDM,
- PVOID pOEMDM)
-{
- VERBOSE(DLLTEXT("IOemUI2:DevQueryPrintEx entry.\r\n"));
-
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(pDQPInfo);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI2::UpgradePrinter(
- DWORD dwLevel,
- PBYTE pDriverUpgradeInfo)
-{
- VERBOSE(DLLTEXT("IOemUI2:UpgradePrinter entry.\r\n"));
-
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(pDriverUpgradeInfo);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI2::PrinterEvent(
- _In_ PWSTR pPrinterName,
- INT iDriverEvent,
- DWORD dwFlags,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IOemUI2:PrinterEvent entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pPrinterName);
- UNREFERENCED_PARAMETER(iDriverEvent);
- UNREFERENCED_PARAMETER(dwFlags);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI2::DriverEvent(
- DWORD dwDriverEvent,
- DWORD dwLevel,
- LPBYTE pDriverInfo,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IOemUI2:DriverEvent entry.\r\n"));
-
- UNREFERENCED_PARAMETER(dwDriverEvent);
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(pDriverInfo);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-};
-
-
-HRESULT __stdcall IOemUI2::QueryColorProfile(
- HANDLE hPrinter,
- POEMUIOBJ poemuiobj,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- ULONG ulQueryMode,
- VOID *pvProfileData,
- ULONG *pcbProfileData,
- FLONG *pflProfileData)
-{
- VERBOSE(DLLTEXT("IOemUI2:QueryColorProfile entry.\r\n"));
-
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
- UNREFERENCED_PARAMETER(ulQueryMode);
- UNREFERENCED_PARAMETER(pvProfileData);
- UNREFERENCED_PARAMETER(pcbProfileData);
- UNREFERENCED_PARAMETER(pflProfileData);
-
- return E_NOTIMPL;
-};
-
-HRESULT __stdcall IOemUI2::FontInstallerDlgProc(
- HWND hWnd,
- UINT usMsg,
- WPARAM wParam,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IOemUI2:FontInstallerDlgProc entry.\r\n"));
-
- UNREFERENCED_PARAMETER(hWnd);
- UNREFERENCED_PARAMETER(usMsg);
- UNREFERENCED_PARAMETER(wParam);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-};
-
-HRESULT __stdcall IOemUI2::UpdateExternalFonts(
- HANDLE hPrinter,
- HANDLE hHeap,
- _In_ PWSTR pwstrCartridges)
-{
- VERBOSE(DLLTEXT("IOemUI2:UpdateExternalFonts entry.\r\n"));
-
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(hHeap);
- UNREFERENCED_PARAMETER(pwstrCartridges);
-
- return E_NOTIMPL;
-}
-
-// *********** IPrintOEMUI2 FUNCTIONS ****************
-
-//
-// QueryJobAttribtues
-//
-
-HRESULT __stdcall IOemUI2::QueryJobAttributes(
- HANDLE hPrinter,
- PDEVMODE pDevmode,
- DWORD dwLevel,
- LPBYTE lpAttributeInfo)
-{
- TERSE(DLLTEXT("IOemUI2:QueryJobAttributes entry.\r\n"));
-
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(pDevmode);
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(lpAttributeInfo);
-
- return E_NOTIMPL;
-}
-
-//
-// Hide Standard UI
-//
-
-HRESULT __stdcall IOemUI2::HideStandardUI(
- DWORD dwMode)
-{
- HRESULT hrReturn = E_NOTIMPL;
-
-
- TERSE(DLLTEXT("IOemUI2:HideStandardUI entry.\r\n"));
-
- switch(dwMode)
- {
- // By returning S_OK for both OEMCUIP_DOCPROP and OEMCUIP_PRNPROP,
- // we will hide the Standard UI for both Document Properties,
- // and Device Properties.
- // To not hide one or both, return E_NOTIMPL instead of S_OK,
- case OEMCUIP_DOCPROP:
- case OEMCUIP_PRNPROP:
- // Flag that we are hiding the Standard UI.
- // This is so we can tell easily between Driver UI
- // that supports HideStandardUI (such as WinXP PS UI),
- // or ones that don't (such as Win2K PS or Unidrv UI).
- m_bHidingStandardUI = TRUE;
-
- hrReturn = S_OK;
- break;
- }
-
- return hrReturn;
-}
-
-//
-// DocumentEvent
-//
-
-HRESULT __stdcall IOemUI2::DocumentEvent(
- HANDLE hPrinter,
- HDC hdc,
- INT iEsc,
- ULONG cbIn,
- PVOID pbIn,
- ULONG cbOut,
- PVOID pbOut,
- PINT piResult)
-{
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(hdc);
- UNREFERENCED_PARAMETER(iEsc);
- UNREFERENCED_PARAMETER(cbIn);
- UNREFERENCED_PARAMETER(pbIn);
- UNREFERENCED_PARAMETER(cbOut);
- UNREFERENCED_PARAMETER(pbOut);
- UNREFERENCED_PARAMETER(piResult);
-
- return E_NOTIMPL;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// oem class factory
-//
-class IOemCF : public IClassFactory
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- // *** IClassFactory methods ***
- STDMETHOD(CreateInstance) (THIS_
- LPUNKNOWN pUnkOuter,
- REFIID riid,
- LPVOID FAR* ppvObject);
- STDMETHOD(LockServer) (THIS_ BOOL bLock);
-
-
- // Constructor
- IOemCF(): m_cRef(1) { };
- ~IOemCF() { };
-
-protected:
- LONG m_cRef;
-
-};
-
-///////////////////////////////////////////////////////////
-//
-// Class factory body
-//
-HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv)
-{
- if ((iid == IID_IUnknown) || (iid == IID_IClassFactory))
- {
- *ppv = static_cast<IOemCF*>(this) ;
- }
- else
- {
-#if DBG
- TCHAR szOutput[80] = {0};
- StringFromGUID2(iid, szOutput, _countof(szOutput)); // can not fail!
- WARNING(DLLTEXT("IOemCF::QueryInterface %s not supported.\r\n"), szOutput);
-#endif
-
- *ppv = NULL ;
- return E_NOINTERFACE ;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef() ;
- return S_OK ;
-}
-
-ULONG __stdcall IOemCF::AddRef()
-{
- return InterlockedIncrement(&m_cRef) ;
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IOemCF::Release()
-{
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-// IClassFactory implementation
-HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter,
- const IID& iid,
- void** ppv)
-{
- //DbgPrint(DLLTEXT("Class factory:\t\tCreate component.")) ;
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Cannot aggregate.
- if (pUnknownOuter != NULL)
- {
- return CLASS_E_NOAGGREGATION ;
- }
-
- // Create component.
- IOemUI2* pOemCB = new IOemUI2 ;
- if (pOemCB == NULL)
- {
- return E_OUTOFMEMORY ;
- }
- // Get the requested interface.
- HRESULT hr = pOemCB->QueryInterface(iid, ppv) ;
-
- // Release the IUnknown pointer.
- // (If QueryInterface failed, component will delete itself.)
- pOemCB->Release() ;
- return hr ;
-}
-
-// LockServer
-HRESULT __stdcall IOemCF::LockServer(BOOL bLock)
-{
- if (bLock)
- {
- InterlockedIncrement(&g_cServerLocks) ;
- }
- else
- {
- InterlockedDecrement(&g_cServerLocks) ;
- }
- return S_OK ;
-}
-
-///////////////////////////////////////////////////////////
-//
-// Exported functions
-//
-
-
-// Can DLL unload now?
-//
-STDAPI DllCanUnloadNow()
-{
- //
- // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers
- // are unloaded, Unidrv and Pscript driver ignore the return value of
- // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL.
- //
- // If OEM DLL spins off a working thread that also uses the OEM DLL, the
- // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise
- // it may crash after Unidrv or Pscript calls FreeLibrary.
- //
-
- if ((g_cComponents == 0) && (g_cServerLocks == 0))
- {
- return S_OK ;
- }
- else
- {
- return S_FALSE;
- }
-}
-
-//
-// Get class factory
-//
-STDAPI DllGetClassObject(
- _In_ REFCLSID clsid,
- _In_ REFIID iid,
- _Outptr_ LPVOID* ppv)
-{
- VERBOSE(DLLTEXT("DllGetClassObject:Create class factory.\r\n"));
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Can we create this component?
- if (clsid != CLSID_OEMUI)
- {
- return CLASS_E_CLASSNOTAVAILABLE ;
- }
-
- // Create class factory.
- IOemCF* pFontCF = new IOemCF ; // Reference count set to 1
- // in constructor
- if (pFontCF == NULL)
- {
- return E_OUTOFMEMORY ;
- }
-
- // Get requested interface.
- HRESULT hr = pFontCF->QueryInterface(iid, ppv) ;
- pFontCF->Release() ;
-
- return hr ;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/intrface.h
deleted file mode 100644
index d723cbb7..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/intrface.h
+++ /dev/null
@@ -1,220 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.h
-//
-// PURPOSE: Header of interface for PScript5UI replacement plug-in.
-//
-#pragma once
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IOemUI2
-//
-class IOemUI2: public IPrintOemUI2
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- //
- // Get OEM dll related information
- //
-
- STDMETHOD(GetInfo) (THIS_ DWORD dwMode, PVOID pBuffer, DWORD cbSize,
- PDWORD pcbNeeded);
-
- //
- // OEMDevMode
- //
-
- STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) ;
-
- //
- // Method for publishing Driver interface.
- //
- STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown);
-
- //
- // OEMCommonUIProp
- //
-
- STDMETHOD(CommonUIProp) (THIS_
- DWORD dwMode,
- POEMCUIPPARAM pOemCUIPParam
- );
-
- //
- // OEMDocumentPropertySheets
- //
-
- STDMETHOD(DocumentPropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
- //
- // OEMDevicePropertySheets
- //
-
- STDMETHOD(DevicePropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
-
- //
- // OEMDevQueryPrintEx
- //
-
- STDMETHOD(DevQueryPrintEx) (THIS_
- POEMUIOBJ poemuiobj,
- PDEVQUERYPRINT_INFO pDQPInfo,
- PDEVMODE pPublicDM,
- PVOID pOEMDM
- );
-
- //
- // OEMDeviceCapabilities
- //
-
- STDMETHOD(DeviceCapabilities) (THIS_
- POEMUIOBJ poemuiobj,
- HANDLE hPrinter,
- _In_ PWSTR pDeviceName,
- WORD wCapability,
- PVOID pOutput,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- DWORD dwOld,
- DWORD *dwResult
- );
-
- //
- // OEMUpgradePrinter
- //
-
- STDMETHOD(UpgradePrinter) (THIS_
- DWORD dwLevel,
- PBYTE pDriverUpgradeInfo
- );
-
- //
- // OEMPrinterEvent
- //
-
- STDMETHOD(PrinterEvent) (THIS_
- _In_ PWSTR pPrinterName,
- INT iDriverEvent,
- DWORD dwFlags,
- LPARAM lParam
- );
-
- //
- // OEMDriverEvent
- //
-
- STDMETHOD(DriverEvent)(THIS_
- DWORD dwDriverEvent,
- DWORD dwLevel,
- LPBYTE pDriverInfo,
- LPARAM lParam
- );
-
- //
- // OEMQueryColorProfile
- //
-
- STDMETHOD(QueryColorProfile) (THIS_
- HANDLE hPrinter,
- POEMUIOBJ poemuiobj,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- ULONG ulReserved,
- VOID *pvProfileData,
- ULONG *pcbProfileData,
- FLONG *pflProfileData);
-
- //
- // OEMFontInstallerDlgProc
- //
-
- STDMETHOD(FontInstallerDlgProc) (THIS_
- HWND hWnd,
- UINT usMsg,
- WPARAM wParam,
- LPARAM lParam
- );
- //
- // UpdateExternalFonts
- //
-
- STDMETHOD(UpdateExternalFonts) (THIS_
- HANDLE hPrinter,
- HANDLE hHeap,
- _In_ PWSTR pwstrCartridges
- );
-
- //
- // IPrintOemUI2 methods
- //
-
- //
- // QueryJobAttributes
- //
-
- STDMETHOD(QueryJobAttributes) (THIS_
- HANDLE hPrinter,
- PDEVMODE pDevmode,
- DWORD dwLevel,
- LPBYTE lpAttributeInfo
- );
-
- //
- // Hide Standard UI
- //
-
- STDMETHOD(HideStandardUI) (THIS_
- DWORD dwMode
- );
-
- //
- // DocumentEvent
- //
-
- STDMETHOD(DocumentEvent) (THIS_
- HANDLE hPrinter,
- HDC hdc,
- INT iEsc,
- ULONG cbIn,
- PVOID pbIn,
- ULONG cbOut,
- PVOID pbOut,
- PINT piResult
- );
-
-
- IOemUI2();
- virtual ~IOemUI2();
-
-protected:
- LONG m_cRef; // Reference count
- BOOL m_bHidingStandardUI; // Flag indicating if we are hiding the Standard UI.
- // NOTE: Not all Driver UI versions support hinding
- // the Standard Driver UI.
- CUIHelper m_Helper; // Container for Driver UI Helper interface.
- CFeatures m_Features; // Core Driver features and feature options.
-};
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/oemui.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/oemui.cpp
deleted file mode 100644
index 331be437..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/oemui.cpp
+++ /dev/null
@@ -1,1042 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: OEMUI.cpp
-//
-//
-// PURPOSE: Main file for OEM UI test module.
-//
-
-#include "precomp.h"
-#include "resource.h"
-#include "debug.h"
-#include "globals.h"
-#include "devmode.h"
-#include "stringutils.h"
-#include "helper.h"
-#include "features.h"
-#include "oemui.h"
-
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-////////////////////////////////////////////////////////
-// INTERNAL MACROS and DEFINES
-////////////////////////////////////////////////////////
-
-typedef struct _tagCBUserData
-{
- HANDLE hComPropSheet;
- HANDLE hPropPage;
- POEMUIPSPARAM pOEMUIParam;
- PFNCOMPROPSHEET pfnComPropSheet;
- CUIHelper *pHelper;
- POEMUIOBJ poemuiobj;
- BOOL bPermission;
- BOOL bHidingStandardUI;
-
-} CBUSERDATA, *PCBUSERDATA;
-
-
-
-////////////////////////////////////////////////////////
-// INTERNAL PROTOTYPES
-////////////////////////////////////////////////////////
-
-static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam);
-static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam);
-LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam);
-LONG APIENTRY OEMDocUIItemCallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam);
-LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam);
-LONG APIENTRY OEMDevUICallBack(PCPSUICBPARAM pCallbackParam);
-INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam);
-static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems);
-
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems to display OEM device or document property UI.
-//
-HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam)
-{
- HRESULT hResult = S_OK;
-
-
- VERBOSE(DLLTEXT("hrOEMPropertyPage(%d) entry.\r\n"), dwMode);
-
- // Validate parameters.
- if( (OEMCUIP_DOCPROP != dwMode)
- &&
- (OEMCUIP_PRNPROP != dwMode)
- )
- {
- ERR(ERRORTEXT("hrOEMPropertyPage() ERROR_INVALID_PARAMETER.\r\n"));
- VERBOSE(DLLTEXT("\tdwMode = %d, pOEMUIParam = %#lx.\r\n"), dwMode, pOEMUIParam);
-
- // Return invalid parameter error.
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- case OEMCUIP_DOCPROP:
- hResult = hrDocumentPropertyPage(dwMode, pOEMUIParam);
- break;
-
- case OEMCUIP_PRNPROP:
- hResult = hrPrinterPropertyPage(dwMode, pOEMUIParam);
- break;
-
- default:
- // Should never reach this!
- ERR(ERRORTEXT("hrOEMPropertyPage() Invalid dwMode, %d"), dwMode);
- SetLastError(ERROR_INVALID_PARAMETER);
- hResult = E_FAIL;
- break;
- }
-
- return hResult;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems to display OEM document property UI.
-//
-static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam)
-{
- HRESULT hrResult = S_OK;
-
- UNREFERENCED_PARAMETER(dwMode);
-
- if(NULL == pOEMUIParam->pOEMOptItems)
- {
- // Fill in the number of OptItems to create for OEM document property UI.
- pOEMUIParam->cOEMOptItems = 1;
-
- VERBOSE(DLLTEXT("hrDocumentPropertyPage() requesting %d number of items.\r\n"), pOEMUIParam->cOEMOptItems);
- }
- else
- {
- POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM;
-
-
- VERBOSE(DLLTEXT("hrDocumentPropertyPage() fill out %d items.\r\n"), pOEMUIParam->cOEMOptItems);
-
- // Init UI Callback reference.
- pOEMUIParam->OEMCUIPCallback = OEMDocUIItemCallBack;
-
- // Init OEMOptItmes.
- InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems);
-
- // Fill out tree view items.
-
- // New section.
- pOEMUIParam->pOEMOptItems[0].Level = 1;
- pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE;
- pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData;
-
- hrResult = GetStringResource(pOEMUIParam->hOEMHeap,
- (HMODULE) pOEMUIParam->hModule,
- IDS_ADV_SECTION,
- &pOEMUIParam->pOEMOptItems[0].pName);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("hrDocumentPropertyPage() failed to get section name. (hrResult = 0x%x)\r\n"),
- hrResult);
- goto Exit;
- }
-
- pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2);
-
- pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100;
- }
-
-
-Exit:
-
- return hrResult;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems to display OEM printer property UI.
-//
-static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam)
-{
- HRESULT hrResult = S_OK;
-
- UNREFERENCED_PARAMETER(dwMode);
-
- if(NULL == pOEMUIParam->pOEMOptItems)
- {
- // Fill in the number of OptItems to create for OEM printer property UI.
- pOEMUIParam->cOEMOptItems = 1;
-
- VERBOSE(DLLTEXT("hrPrinterPropertyPage() requesting %d number of items.\r\n"), pOEMUIParam->cOEMOptItems);
- }
- else
- {
- DWORD dwError;
- DWORD dwDeviceValue;
- DWORD dwType;
- DWORD dwNeeded;
-
-
- VERBOSE(DLLTEXT("hrPrinterPropertyPage() fill out %d items.\r\n"), pOEMUIParam->cOEMOptItems);
-
- // Get device settings value from printer.
- dwError = GetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, &dwType, (PBYTE) &dwDeviceValue,
- sizeof(dwDeviceValue), &dwNeeded);
- if( (ERROR_SUCCESS != dwError)
- ||
- (dwDeviceValue > 100)
- )
- {
- // Failed to get the device value or value is invalid, just use the default.
- dwDeviceValue = 0;
- }
-
- // Init UI Callback reference.
- pOEMUIParam->OEMCUIPCallback = OEMPrinterUICallBack;
-
- // Init OEMOptItmes.
- InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems);
-
- // Fill out tree view items.
-
- // New section.
- pOEMUIParam->pOEMOptItems[0].Level = 1;
- pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE;
- hrResult = GetStringResource(pOEMUIParam->hOEMHeap,
- (HMODULE) pOEMUIParam->hModule,
- IDS_DEV_SECTION,
- &pOEMUIParam->pOEMOptItems[0].pName);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("hrPrinterPropertyPage() failed to get section name. (hrResult = 0x%x)\r\n"),
- hrResult);
- goto Exit;
- }
-
- pOEMUIParam->pOEMOptItems[0].Sel = dwDeviceValue;
-
- pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2);
-
- pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100;
- }
-
-Exit:
-
- return hrResult;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Adds property page to Document property sheet.
-//
-HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam,
- CUIHelper &Helper,
- CFeatures *pFeatures,
- BOOL bHidingStandardUI)
-{
- LONG_PTR lResult = 0;
- HRESULT hrResult = S_OK;
-
- VERBOSE(DLLTEXT("OEMDocumentPropertySheets() entry.\r\n"));
-
- // Validate parameters.
- if( (NULL == pPSUIInfo)
- ||
- (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version)
- )
- {
- ERR(ERRORTEXT("OEMDocumentPropertySheets() ERROR_INVALID_PARAMETER.\r\n"));
-
- // Return invalid parameter error.
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Do action.
- switch(pPSUIInfo->Reason)
- {
- case PROPSHEETUI_REASON_INIT:
- {
- WORD wFeatures = 0;
- WORD wIndex = 0;
- DWORD dwSheets = 0;
- PCBUSERDATA pUserData = NULL;
- POEMUIPSPARAM pOEMUIParam = (POEMUIPSPARAM) pPSUIInfo->lParamInit;
- BOOL bPermission = ((pOEMUIParam->dwFlags & DM_NOPERMISSION) == 0);
- HANDLE hHeap = pOEMUIParam->hOEMHeap;
- POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM;
- COMPROPSHEETUI Sheet;
-
-
- // Make sure that we have the Core Driver Features.
- // Only get features if we are hiding the standard
- // document property sheets.
- if(bHidingStandardUI)
- {
- pFeatures->Acquire(hHeap, Helper, pOEMUIParam->poemuiobj);
- wFeatures = pFeatures->GetCount(OEMCUIP_DOCPROP);
- }
-
- // Init property page.
- memset(&Sheet, 0, sizeof(COMPROPSHEETUI));
- Sheet.cbSize = sizeof(COMPROPSHEETUI);
- Sheet.Flags = bPermission ? CPSUIF_UPDATE_PERMISSION : 0;
- Sheet.hInstCaller = ghInstance;
- Sheet.pHelpFile = NULL;
- Sheet.pfnCallBack = OEMDocUICallBack;
- Sheet.pDlgPage = CPSUI_PDLGPAGE_TREEVIEWONLY;
- Sheet.cOptItem = wFeatures + 1;
- Sheet.IconID = IDI_CPSUI_PRINTER;
- Sheet.CallerVersion = 0x100;
- Sheet.OptItemVersion = 0x100;
-
- // Get Caller's name.
- hrResult = GetStringResource(hHeap, ghInstance, IDS_NAME, &Sheet.pCallerName);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("hrOEMDocumentPropertySheets() failed to get caller name. (hrResult = 0x%x)\r\n"),
- hrResult);
- goto Exit;
- }
-
- // Get section name.
- hrResult = GetStringResource(hHeap, ghInstance, IDS_SECTION, &Sheet.pOptItemName);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("hrOEMDocumentPropertySheets() failed to get section name. (hrResult = 0x%x)\r\n"),
- hrResult);
- goto Exit;
- }
-
- // Init user data.
- pUserData = (PCBUSERDATA) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(CBUSERDATA));
- if(NULL == pUserData)
- {
- ERR(ERRORTEXT("hrOEMDocumentPropertySheets() failed to allocate user data.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
- pUserData->hComPropSheet = pPSUIInfo->hComPropSheet;
- pUserData->pfnComPropSheet = pPSUIInfo->pfnComPropSheet;
- pUserData->pOEMUIParam = pOEMUIParam;
- pUserData->pHelper = &Helper;
- pUserData->poemuiobj = pOEMUIParam->poemuiobj;
- pUserData->bPermission = bPermission;
- pUserData->bHidingStandardUI = bHidingStandardUI;
- Sheet.UserData = (ULONG_PTR) pUserData;
-
- // Create OptItems for page.
- Sheet.pOptItem = CreateOptItems(hHeap, Sheet.cOptItem);
- if(NULL == Sheet.pOptItem)
- {
- ERR(ERRORTEXT("hrOEMDocumentPropertySheets() failed to allocate OPTITEMs.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- // Add Core Driver features.
- for(wIndex = 0; wIndex < wFeatures; ++wIndex)
- {
- // Initialize level and basic state for feature.
- Sheet.pOptItem[wIndex].Level = 1;
- Sheet.pOptItem[wIndex].Flags = OPTIF_COLLAPSE;
-
- // Get the OPTITEM for this feature.
- hrResult = pFeatures->InitOptItem(hHeap,
- Sheet.pOptItem + wIndex,
- wIndex,
- OEMCUIP_DOCPROP);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("hrOEMDocumentPropertySheets() failed to get OPTITEM for feature %hs.\r\n"),
- pFeatures->GetKeyword(wIndex, OEMCUIP_DOCPROP));
-
- goto Exit;
- }
- }
-
- // Initialize Plug-in OptItems
- Sheet.pOptItem[wIndex].Level = 1;
- Sheet.pOptItem[wIndex].Flags = OPTIF_COLLAPSE;
- Sheet.pOptItem[wIndex].Sel = pOEMDev->dwDriverData;
-
- // get optitem name.
- hrResult = GetStringResource(hHeap, ghInstance, IDS_SECTION, &Sheet.pOptItem[wIndex].pName);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("hrOEMDocumentPropertySheets() failed to get OptItem %d name. (hrResult = 0x%x)\r\n"),
- wIndex,
- hrResult);
- goto Exit;
- }
-
- Sheet.pOptItem[wIndex].pOptType = CreateOptType(hHeap, 2);
-
- Sheet.pOptItem[wIndex].pOptType->Type = TVOT_UDARROW;
- Sheet.pOptItem[wIndex].pOptType->pOptParam[1].IconID = 0;
- Sheet.pOptItem[wIndex].pOptType->pOptParam[1].lParam = 100;
-
-
- // Add property sheets.
- lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PCOMPROPSHEETUI,
- (LPARAM)&Sheet, (LPARAM)&dwSheets);
- }
- break;
-
- case PROPSHEETUI_REASON_GET_INFO_HEADER:
- {
- PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam;
-
- pHeader->pTitle = (LPTSTR)PROP_TITLE;
- lResult = TRUE;
- }
- break;
-
- case PROPSHEETUI_REASON_GET_ICON:
- // No icon
- lResult = 0;
- break;
-
- case PROPSHEETUI_REASON_SET_RESULT:
- {
- PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam;
-
- lResult = pInfo->Result;
- }
- break;
-
- case PROPSHEETUI_REASON_DESTROY:
- lResult = TRUE;
- break;
- }
-
-
-Exit:
-
- pPSUIInfo->Result = lResult;
- return hrResult;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Adds property page to printer property sheet.
-//
-HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam,
- CUIHelper &Helper,
- CFeatures *pFeatures,
- BOOL bHidingStandardUI)
-{
- LONG_PTR lResult = 0;
- HRESULT hrResult = S_OK;
-
-
- VERBOSE(DLLTEXT("hrOEMDevicePropertySheets(%#x, %#x) entry\r\n"), pPSUIInfo, lParam);
-
- // Validate parameters.
- if( (NULL == pPSUIInfo)
- ||
- (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version)
- )
- {
- ERR(ERRORTEXT("hrOEMDevicePropertySheets() ERROR_INVALID_PARAMETER.\r\n"));
-
- // Return invalid parameter error.
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- Dump(pPSUIInfo);
-
- // Do action.
- switch(pPSUIInfo->Reason)
- {
- case PROPSHEETUI_REASON_INIT:
- {
- PROPSHEETPAGE Page;
-
- // If hiding standard UI, then
- // need to add Device Settings page, too.
- if(bHidingStandardUI)
- {
- POEMUIPSPARAM pOEMUIParam = (POEMUIPSPARAM) pPSUIInfo->lParamInit;
- BOOL bPermission = ((pOEMUIParam->dwFlags & DPS_NOPERMISSION) == 0);
- HANDLE hHeap = pOEMUIParam->hOEMHeap;
- WORD wFeatures = 0;
- WORD wIndex = 0;
- DWORD dwSheets = 0;
- DLGPAGE DlgPage;
- PCBUSERDATA pUserData = NULL;
- COMPROPSHEETUI Sheet;
-
-
- // Make sure that we have the Core Driver Features.
- pFeatures->Acquire(hHeap, Helper, pOEMUIParam->poemuiobj);
- wFeatures = pFeatures->GetCount(OEMCUIP_PRNPROP);
-
- // Init DlgPage struct for Device Settings replacement page.
- memset(&DlgPage, 0, sizeof(DLGPAGE));
- DlgPage.cbSize = sizeof(DLGPAGE);
- DlgPage.DlgTemplateID = DP_STD_TREEVIEWPAGE;
-
- // Get Device Settings display name.
- hrResult = GetStringResource(hHeap, ghInstance, IDS_DEVICE_SETTINGS_NAME, &DlgPage.pTabName);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("hrOEMDevicePropertySheets() failed to get Device Settings display name. (hrResult = 0x%x)\r\n"),
- hrResult);
- goto Exit;
- }
-
- // Init Device Settings replacement page.
- memset(&Sheet, 0, sizeof(COMPROPSHEETUI));
- Sheet.cbSize = sizeof(COMPROPSHEETUI);
- Sheet.Flags = bPermission ? CPSUIF_UPDATE_PERMISSION : 0;
- Sheet.hInstCaller = ghInstance;
- Sheet.pHelpFile = NULL;
- Sheet.pfnCallBack = OEMDevUICallBack;
- Sheet.pDlgPage = &DlgPage; //CPSUI_PDLGPAGE_TREEVIEWONLY;
- Sheet.cOptItem = wFeatures;
- Sheet.cDlgPage = 1;
- Sheet.IconID = IDI_CPSUI_PRINTER;
- Sheet.CallerVersion = 0x100;
- Sheet.OptItemVersion = 0x100;
-
- // Get Caller's name.
- hrResult = GetStringResource(hHeap, ghInstance, IDS_NAME, &Sheet.pCallerName);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("hrOEMDevicePropertySheets() failed to get caller name. (hrResult = 0x%x)\r\n"),
- hrResult);
- goto Exit;
- }
-
- // Get section name.
- hrResult = GetStringResource(hHeap, ghInstance, IDS_SECTION, &Sheet.pOptItemName);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("hrOEMDevicePropertySheets() failed to get section name. (hrResult = 0x%x)\r\n"),
- hrResult);
- goto Exit;
- }
-
- // Allocate and init User data used in our callback for this page.
- pUserData = (PCBUSERDATA) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(CBUSERDATA));
- if(NULL == pUserData)
- {
- ERR(ERRORTEXT("hrOEMDevicePropertySheets() failed to allocate user data.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
- pUserData->hComPropSheet = pPSUIInfo->hComPropSheet;
- pUserData->pfnComPropSheet = pPSUIInfo->pfnComPropSheet;
- pUserData->pOEMUIParam = pOEMUIParam;
- pUserData->pHelper = &Helper;
- pUserData->poemuiobj = pOEMUIParam->poemuiobj;
- pUserData->bPermission = bPermission;
- pUserData->bHidingStandardUI = bHidingStandardUI;
- Sheet.UserData = (ULONG_PTR) pUserData;
-
- // Create OptItems for page.
- Sheet.pOptItem = CreateOptItems(hHeap, Sheet.cOptItem);
- if(NULL == Sheet.pOptItem)
- {
- ERR(ERRORTEXT("hrOEMDevicePropertySheets() failed to allocate OPTITEMs.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- // Add Core Driver features.
- for(wIndex = 0; wIndex < wFeatures; ++wIndex)
- {
- // Initialize level and basic state for feature.
- Sheet.pOptItem[wIndex].Level = 1;
- Sheet.pOptItem[wIndex].Flags = OPTIF_COLLAPSE;
-
- // Get the OPTITEM for this feature.
- hrResult = pFeatures->InitOptItem(hHeap,
- Sheet.pOptItem + wIndex,
- wIndex,
- OEMCUIP_PRNPROP);
- if(!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("hrOEMDevicePropertySheets() failed to get OPTITEM for feature %hs.\r\n"),
- pFeatures->GetKeyword(wIndex, OEMCUIP_PRNPROP));
-
- goto Exit;
- }
- }
-
- // Add property sheets.
- lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PCOMPROPSHEETUI,
- (LPARAM)&Sheet, (LPARAM)&dwSheets);
- if(!SUCCEEDED(lResult))
- {
- ERR(ERRORTEXT("hrOEMDevicePropertySheets() failed to add Device Settings replacement page. (lResult = 0x%x)\r\n"),
- lResult);
- goto Exit;
- }
- }
-
- // Init our property page.
- memset(&Page, 0, sizeof(PROPSHEETPAGE));
- Page.dwSize = sizeof(PROPSHEETPAGE);
- Page.dwFlags = PSP_DEFAULT;
- Page.hInstance = ghInstance;
- Page.pszTemplate = MAKEINTRESOURCE(IDD_DEVICE_PROPPAGE);
- Page.pfnDlgProc = DevicePropPageProc;
-
- // Add property sheets.
- lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PROPSHEETPAGE, (LPARAM)&Page, 0);
- if(!SUCCEEDED(lResult))
- {
- ERR(ERRORTEXT("hrOEMDevicePropertySheets() failed to add our Device Property page. (lResult = 0x%x)\r\n"),
- lResult);
- goto Exit;
- }
-
- VERBOSE(DLLTEXT("hrOEMDevicePropertySheets() pfnComPropSheet returned %d.\r\n"), lResult);
- }
- break;
-
- case PROPSHEETUI_REASON_GET_INFO_HEADER:
- {
- PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam;
-
- pHeader->pTitle = (LPTSTR)PROP_TITLE;
- lResult = TRUE;
- }
- break;
-
- case PROPSHEETUI_REASON_GET_ICON:
- // No icon
- lResult = 0;
- break;
-
- case PROPSHEETUI_REASON_SET_RESULT:
- {
- PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam;
-
- lResult = pInfo->Result;
- }
- break;
-
- case PROPSHEETUI_REASON_DESTROY:
- lResult = TRUE;
- break;
- }
-
-
-Exit:
-
- pPSUIInfo->Result = lResult;
- return hrResult;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// OptItems call back for OEM printer property UI.
-//
-LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam)
-{
- LONG lReturn = CPSUICB_ACTION_NONE;
-
- VERBOSE(DLLTEXT("OEMPrinterUICallBack() entry, Reason is %d.\r\n"), pCallbackParam->Reason);
-
- switch(pCallbackParam->Reason)
- {
- case CPSUICB_REASON_APPLYNOW:
- {
- DWORD dwDriverValue = pOEMUIParam->pOEMOptItems[0].Sel;
-
- // Store OptItems state in printer data.
- SetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, REG_DWORD, (PBYTE) &dwDriverValue, sizeof(DWORD));
- }
- break;
-
- default:
- break;
- }
-
- return lReturn;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Call back for OEM device property UI.
-//
-#pragma warning(push)
-// 2 MAX_PATH strings just slightly exceed the default threshold for the prefast stack usage warning
-#pragma warning( disable : 6262 )
-INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam)
-{
- switch (uiMsg)
- {
- case WM_COMMAND:
- switch(HIWORD(wParam))
- {
- case BN_CLICKED:
- switch(LOWORD(wParam))
- {
- case IDC_CALIBRATE:
- // Just display a message that the printer is calibrated,
- // since we don't acutally calibrate anything.
- {
- TCHAR szName[MAX_PATH];
- TCHAR szCalibrated[MAX_PATH];
-
-
- LoadString(ghInstance, IDS_NAME, szName, sizeof(szName)/sizeof(szName[0]));
- LoadString(ghInstance, IDS_CALIBRATED, szCalibrated, sizeof(szCalibrated)/sizeof(szCalibrated[0]));
- MessageBox(hDlg, szCalibrated, szName, MB_OK);
- }
- break;
- }
- break;
-
- default:
- return FALSE;
- }
- return TRUE;
-
- case WM_NOTIFY:
- {
- switch (((LPNMHDR)lParam)->code) // type of notification message
- {
- case PSN_SETACTIVE:
- break;
-
- case PSN_KILLACTIVE:
- break;
-
- case PSN_APPLY:
- break;
-
- case PSN_RESET:
- break;
- }
- }
- break;
- }
-
- return FALSE;
-}
-#pragma warning(pop)
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// OptItems call back for OEM document property UI.
-//
-LONG APIENTRY OEMDocUIItemCallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam)
-{
- LONG lReturn = CPSUICB_ACTION_NONE;
- POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM;
-
-
- VERBOSE(DLLTEXT("OEMDocUIItemCallBack() entry, Reason is %d.\r\n"), pCallbackParam->Reason);
-
- switch(pCallbackParam->Reason)
- {
- case CPSUICB_REASON_APPLYNOW:
- // Store OptItems state in DEVMODE.
- pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel;
- break;
-
- case CPSUICB_REASON_KILLACTIVE:
- pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel;
- break;
-
- case CPSUICB_REASON_SETACTIVE:
- if((DWORD)(pOEMUIParam->pOEMOptItems[0].Sel) != pOEMDev->dwAdvancedData)
- {
- pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData;
- pOEMUIParam->pOEMOptItems[0].Flags |= OPTIF_CHANGED;
- lReturn = CPSUICB_ACTION_OPTIF_CHANGED;
- }
- break;
-
- default:
- break;
- }
-
- return lReturn;
-}
-
-
-LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam)
-{
- WORD wItems = pCallbackParam->cOptItem;
- LONG lReturn = CPSUICB_ACTION_NONE;
- POPTITEM pOptItem = pCallbackParam->pOptItem;
- PCBUSERDATA pUserData = (PCBUSERDATA) pCallbackParam->UserData;
- HANDLE hHeap = pUserData->pOEMUIParam->hOEMHeap;
- POEMDEV pOEMDev = (POEMDEV) pUserData->pOEMUIParam->pOEMDM;
-
-
- VERBOSE(DLLTEXT("OEMDocUICallBack() entry, Reason is %d.\r\n"), pCallbackParam->Reason);
-
- //
- // If user has no permission to change anything, then
- // simply return without taking any action.
- //
-
- if (!pUserData->bPermission && (pCallbackParam->Reason != CPSUICB_REASON_ABOUT))
- return CPSUICB_ACTION_NONE;
-
- switch(pCallbackParam->Reason)
- {
- case CPSUICB_REASON_APPLYNOW:
- if(wItems > 0)
- {
- // Save feature options if hidig standard UI.
- if(pUserData->bHidingStandardUI)
- {
- HRESULT hrResult;
-
-
- // Save feature OPTITEMs.
- hrResult = SaveFeatureOptItems(hHeap,
- pUserData->pHelper,
- pUserData->poemuiobj,
- pCallbackParam->hDlg,
- pOptItem,
- wItems);
- if(!SUCCEEDED(hrResult))
- {
- // Return that we didn't save changes.
- // NOTE: it is up to SaveFeatureOptItems() to display
- // any UI for failure.
- return CPSUICB_ACTION_NO_APPLY_EXIT;
- }
- }
-
- // Save OPTITEM that we explicitly added.
- pOEMDev->dwDriverData = pOptItem[wItems - 1].Sel;
- pUserData->pfnComPropSheet(pUserData->hComPropSheet, CPSFUNC_SET_RESULT,
- (LPARAM)pUserData->hPropPage,
- (LPARAM)CPSUI_OK);
-
- }
- break;
-
- case CPSUICB_REASON_KILLACTIVE:
- if(wItems > 0)
- {
- // Update OPTITEM that we explicitly added.
- pOEMDev->dwDriverData = pOptItem[wItems - 1].Sel;
- }
- break;
-
- case CPSUICB_REASON_SETACTIVE:
- if(wItems > 0)
- {
- if((DWORD)(pOptItem[wItems - 1].Sel) != pOEMDev->dwDriverData)
- {
- // Update OPTITEM that we explicitly added.
- pOptItem[wItems - 1].Sel = pOEMDev->dwDriverData;
- pOptItem[wItems - 1].Flags |= OPTIF_CHANGED;
- }
- }
- lReturn = CPSUICB_ACTION_OPTIF_CHANGED;
- break;
-
- default:
- break;
- }
-
- return lReturn;
-}
-
-LONG APIENTRY OEMDevUICallBack(PCPSUICBPARAM pCallbackParam)
-{
- WORD wItems = pCallbackParam->cOptItem;
- LONG lReturn = CPSUICB_ACTION_NONE;
- POPTITEM pOptItem = pCallbackParam->pOptItem;
- PCBUSERDATA pUserData = (PCBUSERDATA) pCallbackParam->UserData;
- HANDLE hHeap = pUserData->pOEMUIParam->hOEMHeap;
-
-
- VERBOSE(DLLTEXT("OEMDevUICallBack() entry, Reason is %d.\r\n"), pCallbackParam->Reason);
-
- //
- // If user has no permission to change anything, then
- // simply return without taking any action.
- //
-
- if (!pUserData->bPermission && (pCallbackParam->Reason != CPSUICB_REASON_ABOUT))
- return CPSUICB_ACTION_NONE;
-
- switch(pCallbackParam->Reason)
- {
- case CPSUICB_REASON_APPLYNOW:
- if(wItems > 0)
- {
- // Save feature options if hidig standard UI.
- if(pUserData->bHidingStandardUI)
- {
- HRESULT hrResult;
-
-
- // Save feature OPTITEMs.
- hrResult = SaveFeatureOptItems(hHeap,
- pUserData->pHelper,
- pUserData->poemuiobj,
- pCallbackParam->hDlg,
- pOptItem,
- wItems);
- if(!SUCCEEDED(hrResult))
- {
- // Return that we didn't save changes.
- // NOTE: it is up to SaveFeatureOptItems() to display
- // any UI for failure.
- return CPSUICB_ACTION_NO_APPLY_EXIT;
- }
- }
-
-
- pUserData->pfnComPropSheet(pUserData->hComPropSheet, CPSFUNC_SET_RESULT,
- (LPARAM)pUserData->hPropPage,
- (LPARAM)CPSUI_OK);
- }
- break;
-
- case CPSUICB_REASON_KILLACTIVE:
- break;
-
- case CPSUICB_REASON_SETACTIVE:
- break;
-
- default:
- break;
- }
-
- return lReturn;
-}
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Creates and Initializes OptItems.
-//
-POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems)
-{
- POPTITEM pOptItems = NULL;
- SIZE_T sizeOfOptItems = 0;
-
- // Compute the size of memory needed for the OptItems:
- if (SUCCEEDED(SIZETMult(sizeof(OPTITEM), (SIZE_T)dwOptItems, &sizeOfOptItems)))
- {
- // Allocate memory for OptItems;
- pOptItems = (POPTITEM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeOfOptItems);
- if(NULL != pOptItems)
- {
- InitOptItems(pOptItems, dwOptItems);
- }
- else
- {
- ERR(ERRORTEXT("CreateOptItems() failed to allocate memory for OPTITEMs!\r\n"));
- }
- }
- else
- {
- ERR(ERRORTEXT("CreateOptItems() failed to compute necessary memory size for OPTITEMs!\r\n"));
- }
-
- return pOptItems;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems.
-//
-static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems)
-{
- VERBOSE(DLLTEXT("InitOptItems() entry.\r\n"));
-
- // Zero out memory.
- memset(pOptItems, 0, sizeof(OPTITEM) * dwOptItems);
-
- // Set each OptItem's size, and Public DM ID.
- for(DWORD dwCount = 0; dwCount < dwOptItems; dwCount++)
- {
- pOptItems[dwCount].cbSize = sizeof(OPTITEM);
- pOptItems[dwCount].DMPubID = DMPUB_NONE;
- }
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Allocates and initializes OptType for OptItem.
-//
-POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams)
-{
- POPTTYPE pOptType = NULL;
-
-
- VERBOSE(DLLTEXT("CreateOptType() entry.\r\n"));
-
- // Allocate memory from the heap for the OPTTYPE; the driver will take care of clean up.
- pOptType = (POPTTYPE) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OPTTYPE));
- if(NULL != pOptType)
- {
- // Initialize OPTTYPE.
- pOptType->cbSize = sizeof(OPTTYPE);
- pOptType->Count = wOptParams;
-
- // Allocate memory from the heap for the OPTPARAMs for the OPTTYPE.
- pOptType->pOptParam = (POPTPARAM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, wOptParams * sizeof(OPTPARAM));
- if(NULL != pOptType->pOptParam)
- {
- // Initialize the OPTPARAMs.
- for(WORD wCount = 0; wCount < wOptParams; wCount++)
- {
- pOptType->pOptParam[wCount].cbSize = sizeof(OPTPARAM);
- }
- }
- else
- {
- ERR(ERRORTEXT("CreateOptType() failed to allocated memory for OPTPARAMs!\r\n"));
-
- // Free allocated memory and return NULL.
- HeapFree(hHeap, 0, pOptType);
- pOptType = NULL;
- }
- }
- else
- {
- ERR(ERRORTEXT("CreateOptType() failed to allocated memory for OPTTYPE!\r\n"));
- }
-
- return pOptType;
-}
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/oemui.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/oemui.h
deleted file mode 100644
index c00b87ef..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/oemui.h
+++ /dev/null
@@ -1,33 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: OEMUI.H
-//
-#pragma once
-
-
-////////////////////////////////////////////////////////
-// OEM UI Defines
-////////////////////////////////////////////////////////
-
-// Printer registry keys where OEM data is stored.
-#define OEMUI_VALUE TEXT("OEMUI_VALUE")
-#define OEMUI_DEVICE_VALUE TEXT("OEMUI_DEVICE_VALUE")
-
-
-////////////////////////////////////////////////////////
-// Prototypes
-////////////////////////////////////////////////////////
-
-HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam);
-HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, CUIHelper &Helper, CFeatures *pFeatures,
- BOOL bHidingStandardUI);
-HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, CUIHelper &Helper, CFeatures *pFeatures,
- BOOL bHidingStandardUI);
-
-POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems);
-POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams);
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/precomp.h
deleted file mode 100644
index 1374db76..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/precomp.h
+++ /dev/null
@@ -1,55 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// PURPOSE: Header files that should be in the precompiled header.
-//
-#pragma once
-
-// Necessary for compiling under VC.
-#if(!defined(WINVER) || (WINVER < 0x0500))
- #undef WINVER
- #define WINVER 0x0500
-#endif
-#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500))
- #undef _WIN32_WINNT
- #define _WIN32_WINNT 0x0500
-#endif
-
-
-
-// Required header files that shouldn't change often.
-
-
-#include <STDDEF.H>
-#include <STDLIB.H>
-#include <OBJBASE.H>
-#include <STDARG.H>
-#include <STDIO.H>
-#include <LIMITS.H>
-#include <WINDEF.H>
-#include <WINERROR.H>
-#include <WINBASE.H>
-#include <WINGDI.H>
-#include <WINDDI.H>
-#include <WINSPOOL.H>
-#include <TCHAR.H>
-#include <EXCPT.H>
-#include <ASSERT.H>
-#include <PRSHT.H>
-#include <COMPSTUI.H>
-#include <WINDDIUI.H>
-#include <PRINTOEM.H>
-#include <INITGUID.H>
-#include <PRCOMOEM.H>
-
-// Safe integer functions to detect integer overflow/underflow conditions:
-#include <intsafe.h>
-
-// StrSafe.h needs to be included last
-// to disallow unsafe string functions.
-#include <STRSAFE.H>
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/precompsrc.cpp
deleted file mode 100644
index 5944cf51..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/precompsrc.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "precomp.h" \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/psuirep.def b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/psuirep.def
deleted file mode 100644
index eacb15a5..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/psuirep.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY PSUIREP
-EXPORTS DllGetClassObject PRIVATE
- DllCanUnloadNow PRIVATE \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/resource.h
deleted file mode 100644
index 958598da..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/resource.h
+++ /dev/null
@@ -1,92 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by OEMUI.rc
-//
-#define IDS_SECTION 1
-#define IDS_CALIBRATED 2
-#define IDS_NAME 3
-#define IDS_DEVICE_SETTINGS_NAME 4
-#define IDS_CONSTRAINT_CONFLICT 5
-#define IDS_DEV_SECTION 6
-#define IDS_ADV_SECTION 10
-#define IDD_DEVICE_PROPPAGE 106
-#define IDD_DOC_PROPPAGE 107
-#define IDS_POSTSCRIPT_VM 400
-#define IDS_KBYTES 401
-#define IDS_SECONDS 402
-#define IDS_PSTIMEOUTS 403
-#define IDS_JOBTIMEOUT 404
-#define IDS_WAITTIMEOUT 405
-#define IDS_PRINTER_DEFAULT 406
-#define IDS_INSTALLABLE_OPTIONS 407
-#define IDS_DOWNLOAD_AS_SOFTFONT 408
-#define IDS_USE_DEVFONTS 409
-#define IDS_FONTSUB_OPTION 410
-#define IDS_FONTSUB_DEFAULT 411
-#define IDS_FONTSUB_SLOW 412
-#define IDS_FONTSUB_TABLE 413
-#define IDS_DEFAULT_TRAY 414
-#define IDS_DRAW_ONLY_FROM_SELECTED 415
-#define IDS_RESTORE_DEFAULTS 417
-#define IDS_PRINTER_FEATURES 418
-#define IDS_METAFILE_SPOOLING 419
-#define IDS_ENABLED 420
-#define IDS_DISABLED 421
-#define IDS_PSOPTIONS 422
-#define IDS_MIRROR 423
-#define IDS_NEGATIVE_PRINT 424
-#define IDS_PAGEINDEP 425
-#define IDS_COMPRESSBMP 426
-#define IDS_CTRLD_BEFORE 427
-#define IDS_CTRLD_AFTER 428
-#define IDS_JOB_CONTROL 429
-#define IDS_TEXT_ASGRX 431
-#define IDS_PAGE_PROTECTION 432
-#define IDS_CANCEL_CONFLICT 433
-#define IDS_IGNORE_CONFLICT 434
-#define IDS_RESOLVE_CONFLICT 435
-#define IDS_GETDATA_FAILED 436
-#define IDS_DRIVERUI_COLORMODE 437
-#define IDS_ENVELOPE 438
-#define IDS_ENV_PREFIX 439
-#define IDS_PSPROTOCOL 440
-#define IDS_PSPROTOCOL_ASCII 441
-#define IDS_PSPROTOCOL_BCP 442
-#define IDS_PSPROTOCOL_TBCP 443
-#define IDS_PSPROTOCOL_BINARY 444
-#define IDS_TRAY_FORMSOURCE 445
-#define IDS_OEMERR_DLGTITLE 446
-#define IDS_OEMERR_OPTITEM 447
-#define IDS_OEMERR_PROPSHEET 448
-#define IDS_CANCEL_CONFLICT_FINAL 449
-#define IDS_PSERROR_HANDLER 450
-#define IDS_PSMINOUTLINE 451
-#define IDS_PSMAXBITMAP 452
-#define IDS_PIXELS 453
-#define IDS_PSOUTPUT_OPTION 454
-#define IDS_PSOPT_SPEED 455
-#define IDS_PSOPT_PORTABILITY 456
-#define IDS_PSOPT_EPS 457
-#define IDS_PSOPT_ARCHIVE 458
-#define IDS_PSTT_DLFORMAT 459
-#define IDS_TTDL_DEFAULT 460
-#define IDS_TTDL_TYPE1 461
-#define IDS_TTDL_TYPE3 462
-#define IDS_TTDL_TYPE42 463
-#define IDS_PSLEVEL 471
-#define IDS_TRUE_GRAY_TEXT 507
-#define IDS_TRUE_GRAY_GRAPH 508
-#define IDS_ADD_EURO 509
-#define IDS_PSCRIPT_CUSTOMSIZE 600
-#define IDC_CALIBRATE 1001
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 103
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1002
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.gpd b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.gpd
deleted file mode 100644
index fa3e7864..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.gpd
+++ /dev/null
@@ -1,763 +0,0 @@
-*GPDFileName: "ptpcplpr.gpd"
-*GPDFileVersion: "1.0"
-*GPDSpecVersion: "1.0"
-*Include: "StdNames.gpd"
-*Include: "ttfsub.gpd"
-*ModelName: "UniDrv PT/PC Plugin Provider"
-*MasterUnits: PAIR(1200, 1200)
-*ResourceDLL: "unires.dll"
-*PrinterType: PAGE
-*MaxCopies: 99
-*PrintRate: 16
-*PrintRateUnit: PPM
-*PrintRatePPM: 16
-
-*%******************************************************************************************
-*% Orientation
-*%******************************************************************************************
-*Feature: Orientation
-{
- *rcNameID: =ORIENTATION_DISPLAY
- *DefaultOption: PORTRAIT
- *Option: PORTRAIT
- {
- *rcNameID: =PORTRAIT_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.6
- *Cmd: "<1B>&l0O"
- }
- }
- *Option: LANDSCAPE_CC90
- {
- *rcNameID: =LANDSCAPE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.8
- *Cmd: "<1B>&l1O"
- }
- }
-}
-
-*%******************************************************************************************
-*% Input Bin
-*%******************************************************************************************
-*Feature: InputBin
-{
- *rcNameID: =PAPER_SOURCE_DISPLAY
- *DefaultOption: AUTO
- *Option: AUTO
- {
- *rcNameID: =AUTO_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.11
- *Cmd: "<1B>&l0H"
- }
- }
- *Option: UPPER
- {
- *rcNameID: =UPPER_TRAY_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.11
- *Cmd: "<1B>&l1H"
- }
- }
-}
-
-*%******************************************************************************************
-*% Resolution
-*%******************************************************************************************
-*Feature: Resolution
-{
- *rcNameID: =RESOLUTION_DISPLAY
- *DefaultOption: Option2
- *Option: Option1
- {
- *Name: "600 x 600" =DOTS_PER_INCH
- *DPI: PAIR(600, 600)
- *TextDPI: PAIR(600, 600)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
- *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
- *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.7
- *Cmd: "@PJL SET RESOLUTION=600<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t600R"
- }
- }
- *Option: Option2
- {
- *Name: "300 x 300" =DOTS_PER_INCH
- *DPI: PAIR(300, 300)
- *TextDPI: PAIR(300, 300)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
- *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
- *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.7
- *Cmd: "@PJL SET RESOLUTION=300<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R"
- }
- }
- *Option: Option3
- {
- *Name: "150 x 150" =DOTS_PER_INCH
- *DPI: PAIR(150, 150)
- *TextDPI: PAIR(150, 150)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
- *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
- *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.7
- *Cmd: "@PJL SET RESOLUTION=150<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t150R"
- }
- }
-}
-
-*%******************************************************************************************
-*% HP-GL/2 Graphics Support
-*%******************************************************************************************
-*Ifdef: WINNT_51
-*Personality: =PERSONALITY_HPGL2
-*Feature: GraphicsMode
-{
- *rcNameID: =GRAPHICSMODE_DISPLAY
- *DefaultOption: RASTERMODE
- *Option: HPGL2MODE
- {
- *rcNameID: =GRAPHICSMODE_HPGL2_DISPLAY
- }
- *Option: RASTERMODE
- {
- *rcNameID: =GRAPHICSMODE_RASTER_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.6
- *Cmd: "@PJL SET LIMAGEENHANCE=OFF<0A>"
- }
- }
-}
-*Endif:
-
-*%******************************************************************************************
-*% Paper Size
-*%******************************************************************************************
-*Feature: PaperSize
-{
- *rcNameID: =PAPER_SIZE_DISPLAY
- *DefaultOption: LETTER
- *Option: LETTER
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 1028
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9500, 12500)
- *PrintableOrigin: PAIR(400, 400)
- *CursorOrigin: PAIR(300, 300)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t5260x7704Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9500, 12200)
- *PrintableOrigin: PAIR(450, 300)
- *CursorOrigin: PAIR(200, 12900)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t7332x5880Y"
- }
- }
- }
- }
- *Option: LEGAL
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 1692
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9000, 15500)
- *PrintableOrigin: PAIR(400, 600)
- *CursorOrigin: PAIR(180, 300)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t5880x8900Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9000, 15500)
- *PrintableOrigin: PAIR(400, 900)
- *CursorOrigin: PAIR(180, 16500)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t8900x5880Y"
- }
- }
- }
- }
- *Option: EXECUTIVE
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 4109
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(8100, 11500)
- *PrintableOrigin: PAIR(300, 300)
- *CursorOrigin: PAIR(300, 200)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t4860x7344Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(8300, 11500)
- *PrintableOrigin: PAIR(200, 300)
- *CursorOrigin: PAIR(200, 12300)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t7272x4980Y"
- }
- }
- }
- }
- *Option: A4
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 4249
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9100, 13200)
- *PrintableOrigin: PAIR(400, 300)
- *CursorOrigin: PAIR(288, 180)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t5594x8201Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9100, 13200)
- *PrintableOrigin: PAIR(400, 300)
- *CursorOrigin: PAIR(204, 13824)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t8129x5714Y"
- }
- }
- }
- }
- *Option: B5
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 3198
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(7900, 11140)
- *PrintableOrigin: PAIR(352, 300)
- *CursorOrigin: PAIR(300, 100)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t4970x7040Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(7760, 11140)
- *PrintableOrigin: PAIR(300, 400)
- *CursorOrigin: PAIR(100, 11940)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t6780x4970Y"
- }
- }
- }
- }
-}
-
-*%******************************************************************************************
-*% Media Type
-*%******************************************************************************************
-*Feature: MediaType
-{
- *rcNameID: =MEDIA_TYPE_DISPLAY
- *DefaultOption: STANDARD
- *Option: STANDARD
- {
- *rcNameID: =PLAIN_PAPER_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.15
- *Cmd: "<1B>&n6WdPlain"
- }
- }
- *Option: CustomPhotographicPaper
- {
- *Name: "Photographic"
- *PrintSchemaKeywordMap: "Photographic"
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.15
- *Cmd: "<1B>&n13WdPhotographic"
- }
- }
-}
-
-*%******************************************************************************************
-*% Color Mode
-*%******************************************************************************************
-*Feature: ColorMode
-{
- *rcNameID: =COLOR_PRINTING_MODE_DISPLAY
- *DefaultOption: 24bpp
- *Option: Mono
- {
- *rcNameID: =MONO_DISPLAY
- *DevNumOfPlanes: 1
- *DevBPP: 1
- *Color?: FALSE
- }
- *Option: Color
- {
- *rcNameID: =COLOR_DISPLAY
- *DevNumOfPlanes: 3
- *DevBPP: 1
- *DrvBPP: 4
- EXTERN_GLOBAL: *RasterSendAllData?: TRUE
- *ColorPlaneOrder: LIST(CYAN, MAGENTA, YELLOW)
- *Command: CmdSendCyanData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"V" }
- *Command: CmdSendMagentaData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"V" }
- *Command: CmdSendYellowData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelectBlackColor { *Cmd : "<1B>*v7S" }
- *Command: CmdSelectRedColor { *Cmd : "<1B>*v6S" }
- *Command: CmdSelectGreenColor { *Cmd : "<1B>*v5S" }
- *Command: CmdSelectYellowColor { *Cmd : "<1B>*v4S" }
- *Command: CmdSelectBlueColor { *Cmd : "<1B>*v3S" }
- *Command: CmdSelectMagentaColor { *Cmd : "<1B>*v2S" }
- *Command: CmdSelectCyanColor { *Cmd : "<1B>*v1S" }
- *Command: CmdSelectWhiteColor { *Cmd : "<1B>*v0S" }
- *Command: CmdSelect
- {
- *Order: PAGE_SETUP.16
- *Cmd: "<1B>*r-3U"
- }
- }
- *Option: 8bpp
- {
- *rcNameID: =8BPP_DISPLAY
- *DevNumOfPlanes: 1
- *DevBPP: 8
- *DrvBPP: 8
- *PaletteSize: 256
- *PaletteProgrammable? : TRUE
- *Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c"
-+ %d{PaletteIndexToProgram} "I" }
- *Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" }
- *Command: CmdSelect
- {
- *Order: PAGE_SETUP.16
- *Cmd: "<1B>*v1N<1B>*v1O<1B>*t0I<1B>*l184O<1B>*v6W<000108080808>"
- }
- }
- *Option: 24bpp
- {
- *rcNameID: =24BPP_DISPLAY
- *DevNumOfPlanes: 1
- *DevBPP: 24
- *DrvBPP: 24
- *Command: CmdEnableDRC { *Cmd : "<1B>*b3M" }
- *PaletteSize: 256
- *PaletteProgrammable? : TRUE
- *Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c"
-+ %d{PaletteIndexToProgram} "I" }
- *Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" }
- *Command: CmdSetSrcBmpWidth { *Cmd : "<1B>*r" %d{RasterDataWidthInBytes / 3}"S" }
- *Command: CmdSelect
- {
- *Order: PAGE_SETUP.16
- *Cmd: "<1B>*v1N<1B>*v1O<1B>*l184O<1B>*v6W<0003080808081B>*v0a0b0c7i255a255b255c0I<1B>*"
-+ "o3W<060400>"
- }
- }
-}
-
-*%******************************************************************************************
-*% HalfTone
-*%******************************************************************************************
-*Feature: Halftone
-{
- *rcNameID: =HALFTONING_DISPLAY
- *DefaultOption: HT_PATSIZE_AUTO
- *Option: HT_PATSIZE_AUTO
- {
- *rcNameID: =HT_AUTO_SELECT_DISPLAY
- }
- *Option: HT_PATSIZE_SUPERCELL_M
- {
- *rcNameID: =HT_SUPERCELL_DISPLAY
- }
- *Option: HT_PATSIZE_6x6_M
- {
- *rcNameID: =HT_DITHER6X6_DISPLAY
- }
- *Option: HT_PATSIZE_8x8_M
- {
- *rcNameID: =HT_DITHER8X8_DISPLAY
- }
-}
-
-*%******************************************************************************************
-*% Memory
-*%
-*% Note: Unidrv uses the font memory information to estimate when it needs to stop
-*% downloading fonts for a page, and thus driver writers should err on the conservative
-*% side. Otherwise, printers will generate "out of memory" device errors for pages with
-*% a large number of fonts / unique glyphs.
-*%******************************************************************************************
-*Feature: Memory
-{
- *rcNameID: =PRINTER_MEMORY_DISPLAY
- *DefaultOption: 32768KB
- *Option: 4096KB
- {
- *Name: "4MB"
- *MemoryConfigKB: PAIR(4096, 6750)
- }
- *Option: 8192KB
- {
- *Name: "8MB"
- *MemoryConfigKB: PAIR(8192, 10350)
- }
- *Option: 16384KB
- {
- *Name: "16MB"
- *MemoryConfigKB: PAIR(16384, 13950)
- }
- *Option: 24576KB
- {
- *Name: "24MB"
- *MemoryConfigKB: PAIR(24576, 21150)
- }
- *Option: 32768KB
- {
- *Name: "32MB"
- *MemoryConfigKB: PAIR(32768, 28350)
- }
- *Option: 49152KB
- {
- *Name: "48MB"
- *MemoryConfigKB: PAIR(49152, 43050)
- }
- *Option: 65536KB
- {
- *Name: "64MB"
- *MemoryConfigKB: PAIR(65536, 57150)
- }
- *Option: 98304KB
- {
- *Name: "96MB"
- *MemoryConfigKB: PAIR(98304, 85950)
- }
- *Option: 102400KB
- {
- *Name: "100MB"
- *MemoryConfigKB: PAIR(102400, 89700)
- }
- *Option: 114688KB
- {
- *Name: "112MB"
- *MemoryConfigKB: PAIR(114688, 100550)
- }
- *Option: 131072KB
- {
- *Name: "128MB"
- *MemoryConfigKB: PAIR(131072, 116250)
- }
-}
-
-*%******************************************************************************************
-*% Duplex Unit
-*%******************************************************************************************
-*Feature: DuplexUnit
-{
- *rcNameID: 429
- *FeatureType: PRINTER_PROPERTY
- *DefaultOption: FALSE
- *Option: FALSE
- {
- *rcNameID: 444
- *DisabledFeatures: LIST(Duplex.VERTICAL, Duplex.HORIZONTAL)
- }
- *Option: TRUE
- {
- *rcNameID: 443
- }
-}
-
-*%******************************************************************************************
-*% Duplex Type
-*%******************************************************************************************
-*Feature: Duplex
-{
- *rcNameID: =TWO_SIDED_PRINTING_DISPLAY
- *DefaultOption: NONE
- *Option: NONE
- {
- *rcNameID: =NONE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.9
- *Cmd: "<1B>&l0S"
- }
- }
- *Option: VERTICAL
- {
- *rcNameID: =FLIP_ON_LONG_EDGE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.9
- *Cmd: "<1B>&l1S"
- }
- }
- *Option: HORIZONTAL
- {
- *rcNameID: =FLIP_ON_SHORT_EDGE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.9
- *Cmd: "<1B>&l2S"
- }
- }
-}
-
-*%******************************************************************************************
-*% Page Photo Printing Intent
-*%******************************************************************************************
-*Feature: PhotoPrintingIntent
-{
- *Name: "Photo Printing Intent"
- *PrintSchemaKeywordMap: "PagePhotoPrintingIntent"
- *DefaultOption: None
- *Option: None
- {
- *Name: "None"
- *PrintSchemaKeywordMap: "None"
- }
- *Option: Draft
- {
- *Name: "Draft"
- *PrintSchemaKeywordMap: "PhotoDraft"
- }
- *Option: Standard
- {
- *Name: "Standard"
- *PrintSchemaKeywordMap: "PhotoStandard"
- }
- *Option: Best
- {
- *Name: "Best"
- *PrintSchemaKeywordMap: "PhotoBest"
- }
-}
-
-
-*Feature: OutputQuality
-{
- *Name: "Page Output Quality"
- *PrintSchemaKeywordMap: "PageOutputQuality"
- *DefaultOption: None
- *Option: None
- {
- *Name: "None"
- *PrintSchemaKeywordMap: "None"
- }
- *Option: Draft
- {
- *Name: "Draft"
- *PrintSchemaKeywordMap: "Draft"
- }
- *Option: High
- {
- *Name: "High"
- *PrintSchemaKeywordMap: "High"
- }
- *Option: Photographic
- {
- *Name: "Photographic"
- *PrintSchemaKeywordMap: "Photographic"
- }
-}
-
-*%******************************************************************************************
-*% Page Protect
-*%******************************************************************************************
-*Feature: PageProtect
-{
- *rcNameID: =PAGE_PROTECTION_DISPLAY
- *DefaultOption: OFF
- *Option: ON
- {
- *rcNameID: =ON_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.1
- *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=LETTER<0A>"
- }
- }
- *Option: OFF
- {
- *rcNameID: =OFF_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.1
- *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=OFF<0A>"
- }
- }
-}
-
-*%******************************************************************************************
-*% Doc setup commands
-*%******************************************************************************************
-*Command: CmdStartDoc
-{
- *Order: DOC_SETUP.7
- *Cmd: "<1B>&u1200D<1B>*r0F"
-}
-*Command: CmdStartPage
-{
- *Order: PAGE_SETUP.1
- *Cmd: "<1B>*b0M<0D>"
-}
-*Command: CmdEndJob
-{
- *Order: JOB_FINISH.1
- *Cmd: "<1B>E<1B>%%-12345X@PJL<20>LPORTROTATE<0A><1B>%%-12345X"
-}
-*Command: CmdCopies
-{
- *Order: DOC_SETUP.13
- *Cmd: "<1B>&l" %d{NumOfCopies}"X"
-}
-
-*%******************************************************************************************
-*% Cursor, Page and Color Commands
-*%******************************************************************************************
-*RotateCoordinate?: TRUE
-*RotateRaster?: TRUE
-*RotateFont?: TRUE
-*TextCaps: LIST(TC_CR_90,TC_UA_ABLE)
-*MemoryUsage: LIST(FONT, RASTER, VECTOR)
-*CursorXAfterCR: AT_PRINTABLE_X_ORIGIN
-*BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE)
-*XMoveThreshold: 0
-*YMoveThreshold: 0
-*XMoveUnit: 300
-*YMoveUnit: 300
-*Command: CmdXMoveAbsolute { *Cmd : "<1B>*p" %d{(DestX) }"X" }
-*Command: CmdXMoveRelRight { *Cmd : "<1B>*p+" %d[0,9600]{max_repeat((DestXRel) )}"X" }
-*Command: CmdXMoveRelLeft { *Cmd : "<1B>*p-" %d[0,9600]{max_repeat((DestXRel) )}"X" }
-*Command: CmdYMoveAbsolute { *Cmd : "<1B>*p" %d{(DestY) }"Y" }
-*Command: CmdYMoveRelDown { *Cmd : "<1B>*p+" %d{(DestYRel) }"Y" }
-*Command: CmdYMoveRelUp { *Cmd : "<1B>*p-" %d{(DestYRel) }"Y" }
-*Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c"
-+ %d{PaletteIndexToProgram} "I" }
-*Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" }
-*Command: CmdCR { *Cmd : "<0D>" }
-*Command: CmdLF { *Cmd : "<0A>" }
-*Command: CmdFF { *Cmd : "<0C>" }
-*Command: CmdBackSpace { *Cmd : "<08>" }
-*Command: CmdUniDirectionOn { *Cmd : "<00>" }
-*Command: CmdUniDirectionOff { *Cmd : "<00>" }
-*Command: CmdPushCursor { *Cmd : "<1B>&f0S" }
-*Command: CmdPopCursor { *Cmd : "<1B>&f1S" }
-*Command: CmdSetSimpleRotation { *Cmd : "<1B>&a" %d{PrintDirInCCDegrees}"P" }
-*EjectPageWithFF?: TRUE
-*Command: CmdEnableTIFF4 { *Cmd : "<1B>*b2M" }
-*Command: CmdDisableCompression { *Cmd : "<1B>*b0M" }
-*OutputDataFormat: H_BYTE
-*OptimizeLeftBound?: TRUE
-*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN
-*CursorYAfterSendBlockData: AUTO_INCREMENT
-
-*%******************************************************************************************
-*% Font Descriptions and Commands
-*%******************************************************************************************
-*TTFSEnabled?: TRUE
-*DefaultFont: 136
-*DefaultCTT: 0
-*CharPosition: BASELINE
-*DeviceFonts: LIST(136,138,146,147,148,149,150,151,152,153,154,155,156,157,
-+ 163,164,165,166,196,197,198,199,200,201,202,203,209,210,
-+ 211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,
-+ 227,228,229,230)
-*MinFontID: 16534
-*MaxFontID: 32768
-*switch: Resolution
-{
- *case: Option1
- {
- *FontFormat: HPPCL_OUTLINE
- }
- *case: Option2
- {
- *FontFormat: HPPCL_OUTLINE
- }
- *case: Option3
- {
- *FontFormat: HPPCL_RES
- }
-}
-*Command: CmdSetFontID { *Cmd : "<1B>*c" %d{NextFontID}"D" }
-*Command: CmdSelectFontID { *Cmd : "<1B>(" %d{CurrentFontID}"X" }
-*Command: CmdSetCharCode { *Cmd : "<1B>*c" %d{NextGlyph}"E" }
-*Command: CmdUnderlineOn { *Cmd : "<1B>&dD" }
-*Command: CmdUnderlineOff { *Cmd : "<1B>&d@" }
-*Command: CmdWhiteTextOn { *Cmd : "<1B>*v1o1T" }
-*Command: CmdWhiteTextOff { *Cmd : "<1B>*v0o0T" }
-
-
-*%********************************************************************************************
-*%* Vector Commands.
-*%********************************************************************************************
-*MinGrayFill: 1
-*MaxGrayFill: 100
-*Command: CmdSetRectWidth { *Cmd : "<1B>*c" %d{(RectXSize) }"A" }
-*Command: CmdSetRectHeight { *Cmd : "<1B>*c" %d{(RectYSize) }"B" }
-*Command: CmdRectGrayFill { *Cmd : "<1B>*c" %d{GrayPercentage }"g2P" }
-*Command: CmdRectWhiteFill { *Cmd : "<1B>*c1P" }
-*Command: CmdRectBlackFill { *Cmd : "<1B>*c0P" }
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.inf b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.inf
deleted file mode 100644
index 067896bd..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.inf
+++ /dev/null
Binary files differ
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.ini b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.ini
deleted file mode 100644
index 5535181a..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[OEMFiles]
-OEMConfigFile1=PTPCPLPR.DLL
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/PTPCPLPR.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/PTPCPLPR.vcxproj
deleted file mode 100644
index 33380c3f..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/PTPCPLPR.vcxproj
+++ /dev/null
@@ -1,904 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Win10 Debug|ARM64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|Win32">
- <Configuration>Win10 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|x64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|ARM64">
- <Configuration>Win10 Release</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|Win32">
- <Configuration>Win10 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|x64">
- <Configuration>Win10 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|Win32">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|Win32">
- <Configuration>Win8 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|Win32">
- <Configuration>Win7 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|Win32">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|Win32">
- <Configuration>Win8 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|Win32">
- <Configuration>Win7 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|x64">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|x64">
- <Configuration>Win8 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|x64">
- <Configuration>Win7 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|x64">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|x64">
- <Configuration>Win8 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|x64">
- <Configuration>Win7 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{CED613CF-6666-43FC-9414-02AFBDA83A34}</ProjectGuid>
- <RootNamespace>$(MSBuildProjectName)</RootNamespace>
- <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration>
- <Platform Condition="'$(Platform)' == ''">Win32</Platform>
- <SampleGuid>{77D353B7-7DE8-4AB3-A89C-86F5EB1FC56C}</SampleGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <PropertyGroup>
- <OutDir>$(IntDir)</OutDir>
- </PropertyGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ItemGroup Label="WrappedTaskItems" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetName>PTPCPLPR</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetName>PTPCPLPR</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetName>PTPCPLPR</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <TargetName>PTPCPLPR</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <TargetName>PTPCPLPR</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetName>PTPCPLPR</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetName>PTPCPLPR</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetName>PTPCPLPR</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <TargetName>PTPCPLPR</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <TargetName>PTPCPLPR</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetName>PTPCPLPR</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetName>PTPCPLPR</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetName>PTPCPLPR</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <TargetName>PTPCPLPR</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetName>PTPCPLPR</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetName>PTPCPLPR</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetName>PTPCPLPR</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <TargetName>PTPCPLPR</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies>
- <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies>
- <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies>
- <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies>
- <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies>
- <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies>
- <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies>
- <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies>
- <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies>
- <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies>
- <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies>
- <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies>
- <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies>
- <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies>
- <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies>
- <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies>
- <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies>
- <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies>
- <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="dllentry.cxx">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.hxx</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.hxx.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="globals.cxx">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.hxx</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.hxx.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="intrface.cxx">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.hxx</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.hxx.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="oemptprovider.cxx">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.hxx</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.hxx.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.hxx</PreCompiledHeaderFile>
- <PreCompiledHeader>Create</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.hxx.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="printschema.cxx">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.hxx</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.hxx.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="xmlhandler.cxx">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.hxx</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.hxx.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ResourceCompile Include="PTPCPlPr.rc" />
- </ItemGroup>
- <ItemGroup>
- <Inf Exclude="@(Inf)" Include="*.inf" />
- <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" />
- </ItemGroup>
- <ItemGroup>
- <None Exclude="@(None)" Include="*.txt;*.htm;*.html" />
- <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" />
- <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/PTPCPLPR.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/PTPCPLPR.vcxproj.Filters
deleted file mode 100644
index abd9c1c0..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/PTPCPLPR.vcxproj.Filters
+++ /dev/null
@@ -1,272 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions>
- <UniqueIdentifier>{968C24E3-F5FE-4473-9D02-E46A409462B6}</UniqueIdentifier>
- </Filter>
- <Filter Include="Header Files">
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- <UniqueIdentifier>{D7302931-5FEA-4B5A-B5B1-7B1938023A9E}</UniqueIdentifier>
- </Filter>
- <Filter Include="Resource Files">
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions>
- <UniqueIdentifier>{1475CB34-56B8-45D0-9740-D86566D868E6}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="dllentry.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="globals.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="intrface.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="oemptprovider.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="printschema.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="xmlhandler.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- <ClInclude Include="debug.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="globals.hxx" />
- <ClInclude Include="intrface.hxx" />
- <ClInclude Include="oem.hxx" />
- <ClInclude Include="oemptprovider.hxx" />
- <ClInclude Include="precomp.hxx" />
- <ClInclude Include="printschema.hxx" />
- <ClInclude Include="xmlhandler.hxx" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="PTPCPlPr.rc">
- <Filter>Resource Files</Filter>
- </ResourceCompile>
- </ItemGroup>
- <ItemGroup>
- <None Include="ptpcplpr.def">
- <Filter>Source Files</Filter>
- </None>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/debug.hxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/debug.hxx
deleted file mode 100644
index 877fd6e3..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/debug.hxx
+++ /dev/null
@@ -1,82 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Debug.hxx
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debugging functions. Also defines the various debug macros.
-//
-//
-
-#pragma once
-
-/////////////////////////////////////////////////////////
-// Macros
-/////////////////////////////////////////////////////////
-//
-// These macros are used for debugging purposes. They expand
-// to white spaces on a free build. Here is a brief description
-// of what they do and how they are used:
-//
-// giDebugLevel
-// Global variable which set the current debug level to control
-// the amount of debug messages emitted.
-//
-// WARNING(msg)
-// Display a message if the current debug level is <= DBG_WARNING.
-// The message format is: WRN filename (linenumber): message
-//
-// ERR(msg)
-// Similiar to WARNING macro above - displays a message
-// if the current debug level is <= DBG_ERROR.
-//
-// ASSERT(cond)
-// Verify a condition is true. If not, force a breakpoint.
-//
-// RIP(msg)
-// Display a message and force a breakpoint.
-//
-// Usage:
-// WARNING("App passed NULL pointer, ignoring...\n");
-//
-
-#define DBG_VERBOSE 0
-#define DBG_WARNING 1
-#define DBG_ERROR 2
-#define DBG_NONE 3
-
-// VC and Build use different debug defines.
-#if defined (DBG) || defined (_DEBUG)
-
- // __declspec(selectany) ensures that even if this is defined in multiple compilation
- // modules, they will all resolve to the same symbol in the linked DLL
- __declspec(selectany) INT giDebugLevel = 2;
-
- #define STRINGIZE(x) #x
- #define QUOTE(x) STRINGIZE(x)
- #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__)
-
- #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); }
- #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); }
- #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); }
- #define ASSERT(cond) { if (!(cond)) RIP("\n"); }
- #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); }
-
-#else // !DBG
-
- #define VERBOSE(msg)
- #define WARNING(msg)
- #define ERR(msg)
- #define ASSERT(cond)
- #define RIP(msg)
-
-#endif
-
-
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/dllentry.cxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/dllentry.cxx
deleted file mode 100644
index 4934dfc2..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/dllentry.cxx
+++ /dev/null
@@ -1,48 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: dllentry.cxx
-//
-// PURPOSE: Source module for DLL entry function(s).
-//
-
-#include "precomp.hxx"
-#include "oem.hxx"
-#include "debug.hxx"
-#include "globals.hxx"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-///////////////////////////////////////////////////////////
-//
-// DLL entry point
-//
-BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID )
-{
- switch(wReason)
- {
- case DLL_PROCESS_ATTACH:
- VERBOSE(DLLTEXT("Process attach.\r\n"));
- ghInstance = hInst;
- break;
-
- case DLL_THREAD_ATTACH:
- VERBOSE(DLLTEXT("Thread attach.\r\n"));
- break;
-
- case DLL_PROCESS_DETACH:
- VERBOSE(DLLTEXT("Process detach.\r\n"));
- break;
-
- case DLL_THREAD_DETACH:
- VERBOSE(DLLTEXT("Thread detach.\r\n"));
- break;
- }
-
- return TRUE;
-}
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/globals.cxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/globals.cxx
deleted file mode 100644
index 75abea62..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/globals.cxx
+++ /dev/null
@@ -1,21 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: globals.cxx
-//
-
-#include "precomp.hxx"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-///////////////////////////////////////
-// Globals
-///////////////////////////////////////
-
-// Module's Instance handle from DLLEntry of process.
-HINSTANCE ghInstance = NULL;
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/globals.hxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/globals.hxx
deleted file mode 100644
index 72f3aa11..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/globals.hxx
+++ /dev/null
@@ -1,25 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: globals.hxx
-//
-
-#pragma once
-
-//
-// Maximum string length limit for STRSAFE string length function StringCchLength
-// Must be less than or equal to maximum upper bound on string length defined by STRSAFE
-// library ie STRSAFE_MAX_CCH
-//
-#define STR_MAX_CCH 10000
-
-///////////////////////////////////////
-// Globals
-///////////////////////////////////////
-
-// Module's Instance handle from DLLEntry of process.
-extern HINSTANCE ghInstance;
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/intrface.cxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/intrface.cxx
deleted file mode 100644
index 3d6f3b90..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/intrface.cxx
+++ /dev/null
@@ -1,493 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: intrface.cxx
-//
-//
-// PURPOSE: Implementation of interface for PScript4, PScript5, Unidrv4,
-// Unidrv5 UI plug-ins.
-//
-//
-
-
-#include "precomp.hxx"
-#include "debug.hxx"
-#include "intrface.hxx"
-#include "oem.hxx"
-#include "oemptprovider.hxx"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-////////////////////////////////////////////////////////
-// Private Globals
-////////////////////////////////////////////////////////
-
-static long g_cComponents = 0 ; // Count of active components
-static long g_cServerLocks = 0 ; // Count of locks
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IOemUI body
-//
-
-IOemUI::~IOemUI()
-{
- // If this instance of the object is being deleted, then the reference
- // count should be zero.
- assert(0 == m_cRef);
-}
-
-HRESULT __stdcall IOemUI::QueryInterface(const IID& iid, void** ppv)
-{
- VERBOSE(DLLTEXT("IOemUI:QueryInterface entry.\r\n\r\n"));
- if (IID_IUnknown == iid)
- {
- *ppv = static_cast<IUnknown*>(this);
- VERBOSE(DLLTEXT("IOemUI:Return pointer to IUnknown.\r\n\r\n"));
- }
- else if (IID_IPrintOemUI == iid)
- {
- *ppv = static_cast<IPrintOemUI*>(this) ;
- VERBOSE(DLLTEXT("IOemUI:Return pointer to IPrintOemUI.\r\n"));
- }
- else
- {
- VERBOSE(DLLTEXT("IOemUI::QueryInterface not supported.\r\n"));
- *ppv = NULL ;
- return E_NOINTERFACE ;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef() ;
- return S_OK ;
-}
-
-ULONG __stdcall IOemUI::AddRef()
-{
- VERBOSE(DLLTEXT("IOemUI:AddRef entry.\r\n"));
- return InterlockedIncrement(&m_cRef) ;
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IOemUI::Release()
-{
- VERBOSE(DLLTEXT("IOemUI:Release entry.\r\n"));
- ASSERT (0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
- }
- return cRef;
-}
-
-HRESULT __stdcall IOemUI::PublishDriverInterface(
- IUnknown *)
-{
- VERBOSE(DLLTEXT("IOemUI:PublishDriverInterface entry.\r\n"));
-
- return S_OK;
-}
-
-HRESULT __stdcall IOemUI::GetInfo(
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- VERBOSE(DLLTEXT("IOemUI::GetInfo entry.\r\r\n"));
-
- // Validate parameters.
- if( (NULL == pcbNeeded)
- ||
- ( (OEMGI_GETSIGNATURE != dwMode)
- &&
- (OEMGI_GETVERSION != dwMode)
- &&
- (OEMGI_GETPUBLISHERINFO != dwMode)
- )
- )
- {
- WARNING(DLLTEXT("IOemUI::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER\r\r\n"));
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Set expected buffer size and number of bytes written.
- *pcbNeeded = sizeof(DWORD);
-
- // Check buffer size is sufficient.
- if((cbSize < *pcbNeeded) || (NULL == pBuffer))
- {
- WARNING(DLLTEXT("IOemUI::GetInfo() exit insufficient buffer!\r\r\n"));
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- // OEM DLL Signature
- case OEMGI_GETSIGNATURE:
- *(PDWORD)pBuffer = OEM_SIGNATURE;
- break;
-
- // OEM DLL version
- case OEMGI_GETVERSION:
- *(PDWORD)pBuffer = OEM_VERSION;
- break;
-
- // dwMode not supported.
- default:
- // Set written bytes to zero since nothing was written.
- WARNING(DLLTEXT("IOemUI::GetInfo() exit mode not supported.\r\r\n"));
- *pcbNeeded = 0;
- SetLastError(ERROR_NOT_SUPPORTED);
- return E_FAIL;
- }
-
- VERBOSE(DLLTEXT("IOemUI::GetInfo() exit S_OK.\r\r\n"));
- return S_OK;
-}
-
-HRESULT __stdcall IOemUI::DevMode(
- DWORD ,
- POEMDMPARAM )
-{
- VERBOSE(DLLTEXT("IOemUI:DevMode entry.\r\n"));
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI::CommonUIProp(
- DWORD ,
- POEMCUIPPARAM)
-{
- VERBOSE(DLLTEXT("IOemUI:CommonUIProp entry.\r\n"));
-
- return E_NOTIMPL;
-}
-
-
-HRESULT __stdcall IOemUI::DocumentPropertySheets(
- PPROPSHEETUI_INFO ,
- LPARAM )
-{
- VERBOSE(DLLTEXT("IOemUI:DocumentPropertySheets entry.\r\n"));
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI::DevicePropertySheets(
- PPROPSHEETUI_INFO ,
- LPARAM )
-{
- VERBOSE(DLLTEXT("IOemUI:DevicePropertySheets entry.\r\n"));
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI::DeviceCapabilities(
- POEMUIOBJ ,
- HANDLE ,
-_In_ PWSTR ,
- WORD ,
- PVOID ,
- PDEVMODE ,
- PVOID ,
- DWORD ,
- DWORD * )
-{
- VERBOSE(DLLTEXT("IOemUI:DeviceCapabilities entry.\r\n"));
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI::DevQueryPrintEx(
- POEMUIOBJ ,
- PDEVQUERYPRINT_INFO ,
- PDEVMODE ,
- PVOID )
-{
- VERBOSE(DLLTEXT("IOemUI:DevQueryPrintEx entry.\r\n"));
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI::UpgradePrinter(
- DWORD ,
- PBYTE )
-{
- VERBOSE(DLLTEXT("IOemUI:UpgradePrinter entry.\r\n"));
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI::PrinterEvent(
-_In_ PWSTR ,
- INT ,
- DWORD ,
- LPARAM )
-{
- VERBOSE(DLLTEXT("IOemUI:PrinterEvent entry.\r\n"));
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI::DriverEvent(
- DWORD ,
- DWORD ,
- LPBYTE ,
- LPARAM )
-{
- VERBOSE(DLLTEXT("IOemUI:DriverEvent entry.\r\n"));
-
- return E_NOTIMPL;
-};
-
-
-#define PROFILE_NAME L"OEMPROFILE.icm\0"
-
-HRESULT __stdcall IOemUI::QueryColorProfile(
- HANDLE ,
- POEMUIOBJ ,
- PDEVMODE ,
- PVOID ,
- ULONG ,
- VOID *,
- ULONG *,
- FLONG *)
-{
-
- VERBOSE(DLLTEXT("IOemUI:QueryColorProfile entry.\r\n"));
-
- return E_NOTIMPL;
-};
-
-HRESULT __stdcall IOemUI::FontInstallerDlgProc(
- HWND ,
- UINT ,
- WPARAM ,
- LPARAM )
-{
- VERBOSE(DLLTEXT("IOemUI:FontInstallerDlgProc entry.\r\n"));
-
- return E_NOTIMPL;
-};
-
-HRESULT __stdcall IOemUI::UpdateExternalFonts(
- HANDLE ,
- HANDLE ,
-_In_ PWSTR )
-{
- VERBOSE(DLLTEXT("IOemUI:UpdateExternalFonts entry.\r\n"));
-
- return E_NOTIMPL;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// oem class factory
-//
-class IOemCF : public IClassFactory
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- // *** IClassFactory methods ***
- STDMETHOD(CreateInstance) (THIS_
- LPUNKNOWN pUnkOuter,
- REFIID riid,
- LPVOID FAR* ppvObject);
- STDMETHOD(LockServer) (THIS_ BOOL bLock);
-
-
- // Constructor
- IOemCF(): m_cRef(1) {};
- ~IOemCF() {};
-
-protected:
- LONG m_cRef;
-
-};
-
-///////////////////////////////////////////////////////////
-//
-// Class factory body
-//
-HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv)
-{
- if ((IID_IUnknown == iid) || (IID_IClassFactory == iid))
- {
- *ppv = static_cast<IOemCF*>(this) ;
- }
- else
- {
- VERBOSE(DLLTEXT("IOemCF::QueryInterface not supported.\r\n"));
- *ppv = NULL ;
- return E_NOINTERFACE ;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef() ;
- return S_OK ;
-}
-
-ULONG __stdcall IOemCF::AddRef()
-{
- return InterlockedIncrement(&m_cRef) ;
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IOemCF::Release()
-{
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
- }
- return cRef;
-}
-
-// IClassFactory implementation
-HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter,
- const IID& iid,
- void** ppv)
-{
- HRESULT hr = S_OK;
-
- //DbgPrint(DLLTEXT("Class factory:\t\tCreate component.")) ;
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Cannot aggregate.
- if (NULL != pUnknownOuter)
- {
- return CLASS_E_NOAGGREGATION ;
- }
-
- // Create component.
- IOemUI* pOemCB = new IOemUI ;
- if (NULL == pOemCB)
- {
- return E_OUTOFMEMORY ;
- }
- // Get the requested interface.
- hr = pOemCB->QueryInterface(iid, ppv) ;
-
- // Release the IUnknown pointer.
- // (If QueryInterface failed, component will delete itself.)
- pOemCB->Release() ;
-
- if (FAILED(hr))
- {
- IOEMPTProvider * pOemPT = new IOEMPTProvider();
-
- if(NULL == pOemPT)
- {
- return E_OUTOFMEMORY;
- }
-
- hr = pOemPT->QueryInterface(iid, ppv) ;
-
- pOemPT->Release();
- }
-
- return hr ;
-}
-
-// LockServer
-HRESULT __stdcall IOemCF::LockServer(BOOL bLock)
-{
- if (bLock)
- {
- InterlockedIncrement(&g_cServerLocks) ;
- }
- else
- {
- InterlockedDecrement(&g_cServerLocks) ;
- }
- return S_OK ;
-}
-
-///////////////////////////////////////////////////////////
-//
-// Exported functions
-//
-
-
-// Can DLL unload now?
-//
-STDAPI DllCanUnloadNow()
-{
- //
- // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers
- // are unloaded, Unidrv and Pscript driver ignore the return value of
- // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL.
- //
- // If OEM DLL spins off a working thread that also uses the OEM DLL, the
- // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise
- // it may crash after Unidrv or Pscript calls FreeLibrary.
- //
-
- if ((0 == g_cComponents) && (0 == g_cServerLocks))
- {
- return S_OK ;
- }
- else
- {
- return S_FALSE;
- }
-}
-
-//
-// Get class factory
-//
-STDAPI DllGetClassObject(
- _In_ REFCLSID clsid,
- _In_ REFIID iid,
- _Outptr_ LPVOID* ppv)
-{
- VERBOSE(DLLTEXT("DllGetClassObject:Create class factory.\r\n"));
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Can we create this component?
- if (CLSID_OEMUI != clsid && CLSID_OEMPTPROVIDER != clsid)
- {
- return CLASS_E_CLASSNOTAVAILABLE ;
- }
-
- // Create class factory.
- IOemCF* pFontCF = new IOemCF ; // Reference count set to 1
- // in constructor
- if (NULL == pFontCF)
- {
- return E_OUTOFMEMORY ;
- }
-
- // Get requested interface.
- HRESULT hr = pFontCF->QueryInterface(iid, ppv) ;
- pFontCF->Release() ;
-
- return hr ;
-}
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/intrface.hxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/intrface.hxx
deleted file mode 100644
index 99b950d3..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/intrface.hxx
+++ /dev/null
@@ -1,178 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: intrface.cxx
-//
-// PURPOSE: Header of interface for PScript4, PScript5, Unidrv4,
-// Unidrv5 UI plug-ins.
-//
-//
-
-#pragma once
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IOemUI
-//
-class IOemUI: public IPrintOemUI
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- //
- // Method for publishing Driver interface.
- //
- STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown);
-
- //
- // Get OEM dll related information
- //
-
- STDMETHOD(GetInfo) (THIS_ DWORD dwMode, PVOID pBuffer, DWORD cbSize,
- PDWORD pcbNeeded);
-
- //
- // OEMDevMode
- //
-
- STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) ;
-
- //
- // OEMCommonUIProp
- //
-
- STDMETHOD(CommonUIProp) (THIS_
- DWORD dwMode,
- POEMCUIPPARAM pOemCUIPParam
- );
-
- //
- // OEMDocumentPropertySheets
- //
-
- STDMETHOD(DocumentPropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
- //
- // OEMDevicePropertySheets
- //
-
- STDMETHOD(DevicePropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
-
- //
- // OEMDevQueryPrintEx
- //
-
- STDMETHOD(DevQueryPrintEx) (THIS_
- POEMUIOBJ poemuiobj,
- PDEVQUERYPRINT_INFO pDQPInfo,
- PDEVMODE pPublicDM,
- PVOID pOEMDM
- );
-
- //
- // OEMDeviceCapabilities
- //
-
- STDMETHOD(DeviceCapabilities) (THIS_
- POEMUIOBJ poemuiobj,
- HANDLE hPrinter,
- _In_ PWSTR pDeviceName,
- WORD wCapability,
- PVOID pOutput,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- DWORD dwOld,
- DWORD *dwResult
- );
-
- //
- // OEMUpgradePrinter
- //
-
- STDMETHOD(UpgradePrinter) (THIS_
- DWORD dwLevel,
- PBYTE pDriverUpgradeInfo
- );
-
- //
- // OEMPrinterEvent
- //
-
- STDMETHOD(PrinterEvent) (THIS_
- _In_ PWSTR pPrinterName,
- INT iDriverEvent,
- DWORD dwFlags,
- LPARAM lParam
- );
-
- //
- // OEMDriverEvent
- //
-
- STDMETHOD(DriverEvent)(THIS_
- DWORD dwDriverEvent,
- DWORD dwLevel,
- LPBYTE pDriverInfo,
- LPARAM lParam
- );
-
- //
- // OEMQueryColorProfile
- //
-
- STDMETHOD(QueryColorProfile) (THIS_
- HANDLE hPrinter,
- POEMUIOBJ poemuiobj,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- ULONG ulReserved,
- VOID *pvProfileData,
- ULONG *pcbProfileData,
- FLONG *pflProfileData);
-
- //
- // OEMFontInstallerDlgProc
- //
-
- STDMETHOD(FontInstallerDlgProc) (THIS_
- HWND hWnd,
- UINT usMsg,
- WPARAM wParam,
- LPARAM lParam
- );
- //
- // UpdateExternalFonts
- //
-
- STDMETHOD(UpdateExternalFonts) (THIS_
- HANDLE hPrinter,
- HANDLE hHeap,
- _In_ PWSTR pwstrCartridges
- );
-
- IOemUI() : m_cRef(1) {};
- ~IOemUI();
-
-protected:
- LONG m_cRef;
-};
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oem.hxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oem.hxx
deleted file mode 100644
index a8c7b03c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oem.hxx
+++ /dev/null
@@ -1,26 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: oem.hxx
-//
-
-#pragma once
-
-////////////////////////////////////////////////////////
-// OEM Defines
-////////////////////////////////////////////////////////
-
-#define OEM_SIGNATURE 'MSFT'
-#define OEM_VERSION 0x00000001L
-
-////////////////////////////////////////////////////////
-// OEM UI Defines
-////////////////////////////////////////////////////////
-
-// OEM UI Misc defines.
-#define DLLTEXT(s) "PTPC Plugin: " s
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oemptprovider.cxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oemptprovider.cxx
deleted file mode 100644
index e0e94632..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oemptprovider.cxx
+++ /dev/null
@@ -1,1145 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED
-// TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: oemptprovider.cxx
-//
-//
-// PURPOSE: Implementation of IOEMPTProvider Class.
-// The Provider class implements the
-// IPrintOemPrintTicketProvider interface functions that
-// provide the plug-in access to Print Ticket and allow the
-// plug-in to understand the Unidrv private setting in
-// the Print Ticket and expose its private settings to
-// Unidrv by putting them publicly in the Print Ticket. The
-// various provider methods make use of the
-// IPrintCoreHelper Interface methods to
-// create instances of XML objects and to communicate
-// information with Unidrv.
-//
-// Functions:
-// IPrintOemPrintTicketProvider Interface Functions.
-// Private Functions of class IOEMPTProvider.
-//
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-#include "precomp.hxx"
-#include "globals.hxx"
-#include "debug.hxx"
-#include "oem.hxx"
-#include "xmlhandler.hxx"
-#include "oemptprovider.hxx"
-#include "printschema.hxx"
-
-/*++
-
-Routine Name:
-
- IOEMPTProvider constructor
-
-Routine Description:
-
- Constructor
-
-Arguments:
-
- None
-
-Return Value:
-
- None
-
---*/
-IOEMPTProvider::IOEMPTProvider()
- : m_pCoreHelper(NULL),
- m_cRef(1)
-{
-}
-
-/*++
-
-Routine Name:
-
- IOEMPTProvider destructor
-
-Routine Description:
-
- Destructor
-
-Arguments:
-
- None
-
-Return Value:
-
- None
-
---*/
-
-IOEMPTProvider::~IOEMPTProvider()
-{
-
- //
- // Make sure that helper interface is released.
- //
- if (m_pCoreHelper)
- {
- m_pCoreHelper->Release();
- m_pCoreHelper = NULL;
- }
-
- //
- // If this instance of the object is being deleted, then the reference
- // count should be zero.
- //
- ASSERT(0 == m_cRef);
-
-}
-
-/*++
-
-Routine Name:
-
- IOEMPTProvider QueryInterface
-
-Routine Description:
-
- Returns a pointer to a specified interface on an object to which a client currently holds an
- interface pointer.
- This function must call IUnknown::AddRef on the pointer it returns.
-
-Arguments:
-
- riid - Identifier of requested Interface.
- ppObj - Output variable that receives the pointer to requested Interface on success
-
-Return Value:
-
- HRESULT
- S_OK - If the Interface requested is supported
- E_NOINTERFACE otherwise
-
---*/
-
-STDMETHODIMP IOEMPTProvider::QueryInterface(
- REFIID riid,
- void **ppObj
- )
-{
- if ((IID_IUnknown == riid) || (IID_IPrintOemPrintTicketProvider == riid))
- {
- *ppObj = static_cast<IPrintOemPrintTicketProvider *>(this);
- }
- else
- {
- *ppObj = NULL ;
- return E_NOINTERFACE ;
- }
- reinterpret_cast<IUnknown*>(*ppObj)->AddRef();
- return S_OK ;
-}
-
-/*++
-
-Routine Name:
-
- AddRef
-
-Routine Description:
-
- The AddRef method increments the reference count for an an interface
- on an object. It should be called for every new copy of a pointer to
- an interface on a given object.
-
-Arguments:
-
- None
-
-Return Value:
-
- Returns the value of the new reference count.
-
---*/
-
-STDMETHODIMP_(ULONG) IOEMPTProvider::AddRef(
- VOID
- )
-{
- return InterlockedIncrement(&m_cRef);
-}
-
-/*++
-
-Routine Name:
-
- Release
-
-Routine Description:
-
- The Release method decrements the reference count for the calling
- interface on a object. If the reference count on the object falls
- to 0, the object is freed from memory.
-
-Arguments:
-
- None
-
-Return Value:
-
- Returns the resulting value of the reference count.
-
---*/
-_At_(this, __drv_freesMem(object))
-STDMETHODIMP_(ULONG) IOEMPTProvider::Release(
- THIS
- )
-{
- ULONG cRef = InterlockedDecrement(&m_cRef);
-
- if (0 == cRef)
- {
- delete this;
- }
- return cRef;
-}
-
-/*++
-
-Routine Name:
-
- GetSupportedVersions
-
-Routine Description:
-
- The routine returns major versions of Printschema schema supported by the plug-in Provider.
-
-
-Arguments:
- hPrinter - Printer Handle
- ppVersions - OUT pointer to array of version numbers to be filled in by the plug-in
- cVersions - OUT pointer to count of Number of versions supported by plug-in
-
-Return Value:
- HRESULT
- S_OK - On Success
- E_* - On failure
-
---*/
-STDMETHODIMP IOEMPTProvider::GetSupportedVersions
-(
- _In_ HANDLE ,
- _Outptr_result_buffer_maybenull_(*cVersions) INT *ppVersions[],
- _Out_ INT *cVersions
- )
-{
- VERBOSE(DLLTEXT("IOEMPTProvider::GetSupportedVersions: entry.\r\n"));
-
- HRESULT hr = S_OK;
-
- //
- // check if input parameters are valid
- //
- if (!ppVersions || !cVersions)
- {
- return E_INVALIDARG;
- }
-
- //
- // The Plug-in Provider need to allocate memory for the input version array and
- // then fill it with version information
- //
- *ppVersions = (INT *)CoTaskMemAlloc(sizeof(INT));
-
- if (!*ppVersions)
- {
- *cVersions = 0;
- return E_OUTOFMEMORY;
- }
- else
- {
- //
- // version number 1 is the only version supported currently
- //
-
- *cVersions = 1;
- (*ppVersions)[0] = PRINTSCHEMA_VERSION_NUMBER;
- }
-
- return hr;
-}
-
-/*++
-
-Routine Name:
-
- BindPrinter
-
-Routine Description:
-
- Bind Printer is the part of the Unidrv's activity to bind to a device. It allows the plug-in to cache
- certain information that can be used later on.
-
-Arguments:
-
- hPrinter - Printer Handle supplied by Unidrv
- version - version of Printschema
- pOptions - Flags passed out to set configurable options supported by caller
- cNamespaces - Count of private namespaces of plug-in
- ppNamespaces - OUT pointer to the array of Namespace URIs filled in by plug-in
-
-Return Value:
-
- HRESULT
- S_OK - On Success
- E_VERSION_NOT_SUPPORTED - if printer version specified is not supported by plug-in
- E_* - On any other failure
-
---*/
-
-STDMETHODIMP IOEMPTProvider::BindPrinter
-(
- _In_ HANDLE hPrinter,
- INT version,
- _Out_ POEMPTOPTS pOptions,
- _Out_ INT *cNamespaces,
- _Outptr_result_buffer_maybenull_(*cNamespaces) BSTR **ppNamespaces
- )
-{
- VERBOSE(DLLTEXT("IOEMPTProvider::BindPrinter: entry.\r\n"));
-
- HRESULT hr = S_OK;
-
- //
- // check if input parameters are NULL
- // Printer Handle should be provided by Unidrv in this call, which is cached by plug-in provider and
- // is later on used while making calls to Plug-in Helper Interface methods.
- //
- if (!pOptions || !cNamespaces || !ppNamespaces || !hPrinter)
- {
- return E_INVALIDARG;
- }
-
-
- *ppNamespaces = NULL;
-
- *cNamespaces = 0;
-
- //
- // Agree on the Printschema version with Unidrv
- // Version 1 is the only version currently supported
- //
- if (PRINTSCHEMA_VERSION_NUMBER != version)
- {
- return E_VERSION_NOT_SUPPORTED;
- }
-
- //
- // Bind to the Physical Printer device
- // cache the printer handle for further use
- //
- m_hPrinterCached = hPrinter;
-
- //
- // Flags to set configurable options,
- // OEMPT_DEFAULT defined in prcomoem.h
- //
- *pOptions = OEMPT_DEFAULT;
-
- return hr;
-
-}
-
-/*++
-
-Routine Name:
-
- PublishPrintTicketHelperInterface
-
-Routine Description:
-
- For a number of operations, the plug-in needs to use the Helper Interface utilities provided by
- Unidrv. Unidrv uses this method to publish the Print Ticket Helper Interface, IPrintCoreHelper.
- Plug-in should return SUCCESS after successfully incrementing the reference count of the interface.
-
-Arguments:
-
- pHelper - IPrintCoreHelper interface pointer
-
-Return Value:
-
- HRESULT
- S_OK - On Success
- E_* - On failure
-
---*/
-STDMETHODIMP IOEMPTProvider::PublishPrintTicketHelperInterface
-(
- _In_ IUnknown *pHelper
- )
-{
- VERBOSE(DLLTEXT("IOEMPTProvider::PublishPrintTicketHelperInterface: entry.\r\n"));
-
- if (!pHelper)
- {
- return E_INVALIDARG;
- }
-
- HRESULT hr = S_OK;
-
- //
- // Need to store pointer to Driver Helper functions, if we already haven't.
- //
- if (NULL == m_pCoreHelper)
- {
- hr = pHelper->QueryInterface(IID_IPrintCoreHelperUni, (VOID**)&m_pCoreHelper);
- }
-
- //
- // It's possible that this routine will publish other interfaces in the
- // future. If the object published did not support the desired interface,
- // this routine should still succeed.
- //
- // If the helper interface is needed, but for some reason was not
- // published (this would be an error on the OS's part), you should
- // detect this and fail during the call-back where you intended to
- // use the helper interface.
- //
-
- if (E_NOINTERFACE == hr)
- {
- hr = S_OK;
- }
-
- return hr;
-}
-
-/*++
-
-Routine Name:
-
- QueryDeviceDefaultNamespace
-
-Routine Description:
-
- Plug-in should specify the name of Private namespace URI that Unidrv
- should be using to handle any features defined in the GPD that Unidrv
- does not recognize plug-in may specify a set of namespaces as a result
- of the call to BindPrinter method, and Unidrv needs to know which of
- them is to be used as default namespace so that, for all the features
- that Unidrv does not recognize, it will put them under this namespace
- in Print Ticket.
-
- This method is optional. A plug-in can return E_NOTIMPL from this
- method if there are multiple plug-ins and another plug-in is providing
- the default, or if the plug-in does not want to change the default
- namespace that unidrv provides.
-
- Note: It is Unidrv's responsibility to add the private namespace URI
- that plug-in has specified through this call in the root node of the
- DOM document, and also define a prefix for it so that plug-in should
- use the prefix defined by Unidrv when it wishes to add any new node to
- the Print Ticket under its private namespace. Plug-in should not define
- its own prefix for this default private namespace URI.
-
-Arguments:
-
- pbstrNamespaceUri - OUT Pointer to namespace URI to be filled in and returned by plug-in
-
-Return Value:
-
- HRESULT
- S_OK - On success
- E_* - On failure
-
---*/
-
-STDMETHODIMP IOEMPTProvider::QueryDeviceDefaultNamespace
-(
- _Out_ BSTR *
- )
-{
- VERBOSE(DLLTEXT("IOEMPTProvider::QueryDeviceDefaultNamespace: entry.\r\n"));
-
- return E_NOTIMPL;
-}
-
-/*++
-
-Routine Name:
-
- ConvertPrintTicketToDevMode
-
-Routine Description:
-
- Unidrv will call this routine before it performs its part of PT->DM
- conversion. The plug-in is passed with an input Print Ticket that is
- fully populated, and Devmode which has default settings in it. For
- this conversion, the plug-in needs to undo whatever changes it made to
- the Print Ticket during Devmode->PT conversion.
-
-Arguments:
-
- pPrintTicket - pointer to input Print Ticket
- cbDevmode - size in bytes of input full devmode
- pDevmode - pointer to input full devmode buffer
- cbDrvPrivateSize - buffer size in bytes of plug-in private devmode
- pPrivateDevmode - pointer to plug-in private devmode buffer
-
-
-Return Value:
-
- HRESULT
- S_OK - On Success
- E_* - On failure
-
---*/
-
-STDMETHODIMP IOEMPTProvider::ConvertPrintTicketToDevMode
-(
- _In_ IXMLDOMDocument2 *pPrintTicket,
- ULONG cbDevmode,
- _Inout_updates_bytes_(cbDevmode)
- PDEVMODE pDevmode,
- ULONG , // cbDrvPrivateSize
- _Inout_ PVOID // pPrivateDevmode
- )
-{
- VERBOSE(DLLTEXT("IOEMPTProvider::ConvertPrintTicketToDevMode: entry.\r\n"));
-
- //
- // cbDrvPrivateSize will be 0 because this plug-in doesn't
- // support a private DEVMODE.
- //
- if (!cbDevmode || !pDevmode || !pPrintTicket)
- {
- return E_INVALIDARG;
- }
-
- return S_OK;
-}
-
-/*++
-
-Routine Name:
-
- ConvertDevModeToPrintTicket
-
-Routine Description:
-
- Unidrv will call the routine with an Input Print
- Ticket that is populated with public and Unidrv private features. For
- those features in the GPD that Unidrv does not understand, it puts
- them in the PT under the private namespace (either specified by the
- plug-in through QueryDeviceDefaultNamespace or created by itself). It
- is the plug-in's responsibility to read the corresponding features
- from the input PT and put them in public printschema namespace, so
- that any higher level application making use of a print ticket can
- read and interpret these settings.
-
-
-Arguments:
-
- cbDevmode - size in bytes of input full devmode
- pDevmode - pointer to input full devmode buffer
- cbDrvPrivateSize - buffer size in bytes of plug-in private devmode
- pPrivateDevmode - pointer to plug-in private devmode buffer
- pPrintTicket - pointer to input Print Ticket
-
-Return Value:
-
- HRESULT
- S_OK - On Success
- E_* - On failure
-
---*/
-STDMETHODIMP IOEMPTProvider::ConvertDevModeToPrintTicket
-(
- ULONG cbDevmode,
- _Inout_updates_bytes_(cbDevmode)
- PDEVMODE pDevmode,
- ULONG , // cbDrvPrivateSize
- _Inout_ PVOID , // pPrivateDevmode,
- _Inout_ IXMLDOMDocument2 *pPrintTicket
- )
-{
- VERBOSE(DLLTEXT("IOEMPTProvider::ConvertDevModeToPrintTicket: entry.\r\n"));
-
- //
- // cbDrvPrivateSize will be 0 because this plug-in doesn't
- // support a private DEVMODE.
- //
- if (!cbDevmode || !pDevmode || !pPrintTicket)
- {
- return E_INVALIDARG;
- }
-
- HRESULT hr = S_OK;
-
- OEMPTXMLHandler opxh;
- EIntentValue eIntentValue = printschema::photoprintingintent::None;
-
- //
- // Initialize PrintTicketHandler
- //
-
- hr = opxh.SetRoot(pPrintTicket, m_pCoreHelper);
-
- if (SUCCEEDED(hr))
- {
- hr = ReadAndDeletePhotoPrintingIntent(opxh, eIntentValue);
- }
-
- if (S_FALSE == hr)
- {
- hr = S_OK;
- }
-
- return hr;
-}
-
-
-/*++
-
-Routine Name:
-
- CompletePrintCapabilities
-
-Routine Description:
-
- Unidrv calls this routine with an input Device Capabilities Document
- that is partially populated with Device capabilities information
- filled in by Unidrv for features that it understands. The plug-in
- needs to read any private features in the input Print Ticket, delete
- them and add them back under Printschema namespace so that higher
- level applications can understand them and make use of them.
-
-Arguments:
-
- pPrintTicket - pointer to input Print Ticket
- pCapabilities - pointer to Device Capabilities Document.
-
-Return Value:
-
- HRESULT
- S_OK - On Success
- E_* - On failure
-
---*/
-STDMETHODIMP IOEMPTProvider::CompletePrintCapabilities
-(
- _In_opt_ IXMLDOMDocument2 *,
- _Inout_ IXMLDOMDocument2 *pCapabilities
- )
-{
- VERBOSE(DLLTEXT("IOEMPTProvider::CompletePrintCapabilities: entry.\r\n"));
-
- if (!pCapabilities)
- {
- return E_INVALIDARG;
- }
-
- return S_OK;
-}
-
-/*++
-
-Routine Name:
-
- ExpandIntentOptions
-
-Routine Description:
-
- As part of its Merge and Validate Procedure, the
- Unidrv/Postscript driver will call this routine to give the plug-in a
- chance to expand options which represent intent into their individual
- settings in other features in the print ticket. This has two
- important effects: the client sees the results of the intent
- expansion, and unidrv resolves constraints against the individual
- features which are affected by the intent.
-
- If the plug-in does not support any intent features, then the plug-in
- should simply return S_OK.
-
-Arguments:
-
- pPrintTicket - Pointer to input Print Ticket.
-
-Return Value:
-
- HRESULT
- S_OK - On Success
- E_* - On failure
-
---*/
-
-STDMETHODIMP IOEMPTProvider::ExpandIntentOptions(
- _Inout_ IXMLDOMDocument2 *pPrintTicket
- )
-{
- VERBOSE(DLLTEXT("IOEMPTProvider::ExpandIntentOptions: entry.\r\n"));
-
- if (!pPrintTicket)
- {
- return E_INVALIDARG;
- }
-
- HRESULT hr = S_OK;
- OEMPTXMLHandler opxh;
-
- //
- // Initialize PrintTicketHandler
- //
-
- hr = opxh.SetRoot(pPrintTicket, m_pCoreHelper);
-
- //
- // Read in the photo printing intent value, if it exists. If it
- // doesn't, the default value of None is assumed instead.
- //
-
- EIntentValue eIntentValue = printschema::photoprintingintent::None;
-
- if (SUCCEEDED(hr))
- {
- hr = ReadAndDeletePhotoPrintingIntent(opxh, eIntentValue);
- }
-
- if (S_FALSE == hr)
- {
- hr = S_OK;
- }
-
- if (printschema::photoprintingintent::None != eIntentValue)
- {
- IOEMPTProvider::IntentConversionEntry entry = IOEMPTProvider::intentConversionTable[eIntentValue];
-
- //
- // Set appropriate values for PageMediaType and
- // PageOutputQuality. Override any existing values of the
- // options (by deleting before adding).
- //
-
- if (SUCCEEDED(hr))
- {
- hr = AddOrOverridePageMediaType(opxh, entry.pageMediaType);
- }
-
- if (SUCCEEDED(hr))
- {
- hr = AddOrOverridePageOutputQuality(opxh, entry.pageOutputQuality);
- }
- }
-
- return hr;
-}
-
-/*++
-
-Routine Name:
-
- ValidatePrintTicket
-
-Routine Description:
-
- The plug-in might need to delete any feature under private namespace
- from input PT that are also in the public namespace because of Merge
- and Validate.
-
- The Validate method should also perform any conflict resolution if
- necessary looking at the settings made in public and unidrv private
- part of Print Ticket, to make sure that the resultant Print Ticket is a
- valid one, and has all constraints resolved.
-
-Arguments:
-
- pBaseTicket - Pointer to input Print Ticket.
-
-Return Value:
-
- HRESULT
- S_NO_CONFLICT/S_CONFLICT_RESOLVED - On Success
- E_* - On failure
-
---*/
-
-STDMETHODIMP IOEMPTProvider::ValidatePrintTicket(
- _Inout_ IXMLDOMDocument2 *pPrintTicket
- )
-{
- VERBOSE(DLLTEXT("IOEMPTProvider::ValidatePrintTicket: entry.\r\n"));
-
- if (!pPrintTicket)
- {
- return E_INVALIDARG;
- }
-
- //
- // If the plug-in performs validation successfully, it needs to
- // send either S_NO_CONFLICT or S_CONFLICT_RESOLVED as the result
- // code, sending hr = S_OK will not work since Unidrv expects one
- // of the above two success codes to interpret successful
- // completion of plug-in validate method.
- //
-
- return S_NO_CONFLICT;
-}
-
-//
-// Private stuff
-//
-
-IOEMPTProvider::IntentConversionEntry IOEMPTProvider::intentConversionTable[] =
-{
- { NULL, NULL, },
- { printschema::pagemediatype::PLAIN, printschema::pageoutputquality::DRAFT, },
- { printschema::pagemediatype::PHOTOGRAPHIC, printschema::pageoutputquality::HIGH, },
- { printschema::pagemediatype::PHOTOGRAPHIC, printschema::pageoutputquality::PHOTOGRAPHIC, },
-};
-
-/*++
-
-Routine Name:
-
- ReadAndDeletePhotoPrintingIntent
-
-Routine Description:
-
- This function gets the value of the Photo Printing Intent from a Print
- Ticket and returns it in eIntentValue. It also deletes the entire
- feature from the Ticket.
-
-Arguments:
-
- opxh - reference to input XMLHandler
- eIntentValue - reference to output intent value
-
-Return Value:
-
- HRESULT
- S_OK - On success, if intent was found
- S_FALSE - On Success, if intent was not found
- E_* - On failure
-
---*/
-
-HRESULT IOEMPTProvider::ReadAndDeletePhotoPrintingIntent(
- OEMPTXMLHandler &opxh,
- EIntentValue &eIntentValue
- )
-{
- VERBOSE(DLLTEXT("IOEMPTProvider::ReadAndDeletePhotoPrintingIntent: entry.\r\n"));
-
- HRESULT hr = S_OK;
-
- IXMLDOMElement *pPhotoPrintingIntentFeature = NULL;
- IXMLDOMElement *pPhotoPrintingIntentOption = NULL;
-
- hr = opxh.GetFeatureNode(NULL, // meaning root is parent
- printschema::KEYWORDS_URI,
- printschema::photoprintingintent::FEATURE,
- &pPhotoPrintingIntentFeature);
-
- //
- // Check for S_OK == hr and not SUCCEEDED(hr) because
- // GetFeatureNode returns S_FALSE if feature is not found
- //
-
- if (S_OK == hr && pPhotoPrintingIntentFeature)
- {
- hr = opxh.GetOptionNode(pPhotoPrintingIntentFeature,
- &pPhotoPrintingIntentOption);
- }
-
- BSTR bstrIntentNamespace = NULL;
- BSTR bstrIntentValue = NULL;
-
- if (S_OK == hr && pPhotoPrintingIntentOption)
- {
- hr = opxh.GetXMLAttribute(pPhotoPrintingIntentOption, &bstrIntentNamespace, &bstrIntentValue);
- }
-
- if (S_OK == hr && NULL != bstrIntentNamespace)
- {
- if (0 != wcscmp(bstrIntentNamespace, printschema::KEYWORDS_URI))
- {
- //
- // We do not delete the node if it specifies a different
- // namespace
- //
- hr = S_FALSE;
- }
- }
-
- //
- // Search for intent, looping across all possible (valid) values, and store it in eIntentValue
- //
-
- if (S_OK == hr && NULL != bstrIntentValue)
- {
- EIntentValue e = EIntentValue(0);
-
- for (; e < printschema::photoprintingintent::EIntentValueMax; ++e)
- {
- if (0 == wcscmp(bstrIntentValue, printschema::photoprintingintent::OPTIONS[e]))
- {
- eIntentValue = e;
- break;
- }
- }
-
- if (printschema::photoprintingintent::EIntentValueMax == e)
- {
- //
- // We do not delete the node if the attribute name
- // in the Print Ticket is not one of the valid ones
- //
- hr = S_FALSE;
- }
- }
-
- //
- // If found, delete intent
- //
-
- if (S_OK == hr)
- {
- hr = opxh.DeleteFeatureNode(NULL, pPhotoPrintingIntentFeature);
- }
-
- //
- // Make sure all BSTRs are freed, ...
- //
-
- if (bstrIntentNamespace)
- {
- SysFreeString(bstrIntentNamespace);
- bstrIntentNamespace = NULL;
- }
-
- if (bstrIntentValue)
- {
- SysFreeString(bstrIntentValue);
- bstrIntentValue = NULL;
- }
-
- //
- // ... and interface pointers released
- //
-
- if (pPhotoPrintingIntentFeature)
- {
- pPhotoPrintingIntentFeature->Release();
- }
-
- if (pPhotoPrintingIntentOption)
- {
- pPhotoPrintingIntentOption->Release();
- }
-
- return hr;
-}
-
-/*++
-
-Routine Name:
-
- AddOrOverridePageMediaType
-
-Routine Description:
-
- This routine takes in the value of the PageMediaType to be set,
- depending on the intent that was present. It then deletes any existing
- PageMediaType value in the ticket, and then adds the new PageMediaType
- value.
-
-Arguments:
-
- opxh - reference to input XMLHandler
- lpcwstrPageMediaType - input PageMediaType string
-
-Return Value:
-
- HRESULT
- S_OK - On success
- E_* - On failure
-
---*/
-
-HRESULT IOEMPTProvider::AddOrOverridePageMediaType(
- OEMPTXMLHandler &opxh,
- LPCWSTR lpcwstrPageMediaType
- )
-{
- VERBOSE(DLLTEXT("IOEMPTProvider::AddOrOverridePageMediaType: entry.\r\n"));
-
- HRESULT hr = S_OK;
-
- if (NULL == lpcwstrPageMediaType)
- {
- return S_OK;
- }
-
- IXMLDOMElement *pPageMediaTypeOld = NULL;
- IXMLDOMElement *pPageMediaTypeNew = NULL;
-
- //
- // Search for, and delete any old PageMediaType option, since we're
- // going to override it
- //
-
- hr = opxh.GetFeatureNode(NULL,
- printschema::KEYWORDS_URI,
- printschema::pagemediatype::FEATURE,
- &pPageMediaTypeOld);
-
- if (S_OK == hr)
- {
- hr = opxh.DeleteFeatureNode(NULL, pPageMediaTypeOld);
- }
-
- //
- // GetFeatureNode might have returned S_FALSE if it couldn't find
- // such a node, so from now on, we check for SUCCEEDED
- //
-
- //
- // Create PageMediaType feature node
- //
-
- if (SUCCEEDED(hr))
- {
- hr = opxh.CreateFeatureNode(NULL,
- printschema::KEYWORDS_URI,
- printschema::pagemediatype::FEATURE,
- &pPageMediaTypeNew);
- }
-
- //
- // Create option node under the feature node above
- //
-
- if (SUCCEEDED(hr))
- {
- hr = opxh.CreateOptionNode(pPageMediaTypeNew,
- printschema::KEYWORDS_URI,
- lpcwstrPageMediaType,
- NULL);
- }
-
- if (pPageMediaTypeOld)
- {
- pPageMediaTypeOld->Release();
- }
-
- if (pPageMediaTypeNew)
- {
- pPageMediaTypeNew->Release();
- }
-
- return hr;
-}
-
-/*++
-
-Routine Name:
-
- AddOrOverridePageOutputQuality
-
-Routine Description:
-
- This routine, similar to AddOrOverridePageMediaType, takes in the
- value of the PageOutputQuality to be set, depending on the intent that
- was present. It then deletes any existing PageOutputQuality value in
- the ticket, and then adds the new PageOutputQuality value.
-
-Arguments:
-
- opxh - reference to input XMLHandler
- lpcwstrPageOutputQuality - input PageOutputQuality string
-
-Return Value:
-
- HRESULT
- S_OK - On success
- E_* - On failure
-
---*/
-
-HRESULT IOEMPTProvider::AddOrOverridePageOutputQuality(
- OEMPTXMLHandler &opxh,
- LPCWSTR lpcwstrPageOutputQuality
- )
-{
- VERBOSE(DLLTEXT("IOEMPTProvider::AddOrOverridePageOutputQuality: entry.\r\n"));
-
- HRESULT hr = S_OK;
-
- if (NULL == lpcwstrPageOutputQuality)
- {
- return S_OK;
- }
-
- IXMLDOMElement *pPageOutputQualityOld = NULL;
- IXMLDOMElement *pPageOutputQualityNew = NULL;
-
- //
- // Search for, and delete any old PageOutputQuality option, since we're
- // going to override it
- //
-
- hr = opxh.GetFeatureNode(NULL,
- printschema::KEYWORDS_URI,
- printschema::pageoutputquality::FEATURE,
- &pPageOutputQualityOld);
-
- if (S_OK == hr)
- {
- hr = opxh.DeleteFeatureNode(NULL, pPageOutputQualityOld);
- }
-
- //
- // GetFeatureNode might have returned S_FALSE if it couldn't find
- // such a node, so from now on, we check for SUCCEEDED
- //
-
- //
- // Create PageOutputQuality feature node
- //
-
- if (SUCCEEDED(hr))
- {
- hr = opxh.CreateFeatureNode(NULL,
- printschema::KEYWORDS_URI,
- printschema::pageoutputquality::FEATURE,
- &pPageOutputQualityNew);
- }
-
- //
- // Create option node under the feature node above
- //
-
- if (SUCCEEDED(hr))
- {
- hr = opxh.CreateOptionNode(pPageOutputQualityNew,
- printschema::KEYWORDS_URI,
- lpcwstrPageOutputQuality,
- NULL);
- }
-
- if (pPageOutputQualityOld)
- {
- pPageOutputQualityOld->Release();
- }
-
- if (pPageOutputQualityNew)
- {
- pPageOutputQualityNew->Release();
- }
-
- return hr;
-}
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oemptprovider.hxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oemptprovider.hxx
deleted file mode 100644
index 77b54be1..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oemptprovider.hxx
+++ /dev/null
@@ -1,143 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: oemptprovider.hxx
-//
-//
-// PURPOSE: Definition of IOEMPTProvider Class.
-//
-//
-
-#pragma once
-
-#include "xmlhandler.hxx"
-#include "printschema.hxx"
-
-using printschema::photoprintingintent::EIntentValue;
-
-//
-// The Provider class to Implement IPrintOemPrintTicketProvider Interface
-//
-
-class IOEMPTProvider : public IPrintOemPrintTicketProvider
-{
-public:
-
- //
- // Public Methods go here
- //
- IOEMPTProvider();
- virtual ~IOEMPTProvider();
-
- //
- // Basic COM Methods
- //
- STDMETHODIMP QueryInterface(THIS_ REFIID riid, void **ppvObj);
-
- STDMETHODIMP_(ULONG) AddRef(THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHODIMP_(ULONG) Release(THIS);
-
-
- //
- // IPrintOemPrintTicketProvider methods
- //
-
- STDMETHOD(GetSupportedVersions)(THIS_
- _In_ HANDLE hPrinter,
- _Outptr_result_buffer_maybenull_(*cVersions) INT *ppVersions[],
- _Out_ INT *cVersions
- );
-
- STDMETHOD(BindPrinter)(THIS_
- _In_ HANDLE hPrinter,
- INT version,
- _Out_ POEMPTOPTS pOptions,
- _Out_ INT *cNamespaces,
- _Outptr_result_buffer_maybenull_(*cNamespaces) BSTR **ppNamespaces
- );
-
- STDMETHOD(PublishPrintTicketHelperInterface)(THIS_
- _In_ IUnknown *pHelper
- );
-
- STDMETHOD(QueryDeviceDefaultNamespace)(THIS_
- _Out_ BSTR *pbstrNamespaceUri
- );
-
- STDMETHOD(ConvertPrintTicketToDevMode)(THIS_
- _In_ IXMLDOMDocument2 *pPrintTicket,
- ULONG cbDevmode,
- _Inout_updates_bytes_(cbDevmode)
- PDEVMODE pDevmode,
- ULONG cbDrvPrivateSize,
- _Inout_ PVOID pPrivateDevmode
- );
-
- STDMETHOD(ConvertDevModeToPrintTicket)(THIS_
- ULONG cbDevmode,
- _Inout_updates_bytes_(cbDevmode)
- PDEVMODE pDevmode,
- ULONG cbDrvPrivateSize,
- _Inout_ PVOID pPrivateDevmode,
- _Inout_ IXMLDOMDocument2 *pPrintTicket
- );
-
- STDMETHOD(CompletePrintCapabilities)(THIS_
- _In_opt_ IXMLDOMDocument2 *pPrintTicket,
- _Inout_ IXMLDOMDocument2 *pCapabilities
- );
-
- STDMETHOD(ExpandIntentOptions)(THIS_
- _Inout_ IXMLDOMDocument2 *pPrintTicket
- );
-
- STDMETHOD(ValidatePrintTicket)(THIS_
- _Inout_ IXMLDOMDocument2 *pPrintTicket
- );
-
-private:
-
- //
- // Data members go here
- //
- LONG m_cRef; // COM reference count
- HANDLE m_hPrinterCached; // cached printer handle
- IPrintCoreHelperUni *m_pCoreHelper; // cached pointer to plug-in helper interface
-
- struct IntentConversionEntry
- {
- LPCWSTR pageMediaType;
- LPCWSTR pageOutputQuality;
- };
-
- static IntentConversionEntry intentConversionTable[printschema::photoprintingintent::EIntentValueMax];
-
- //
- // Private Methods
- //
-
- HRESULT ReadAndDeletePhotoPrintingIntent(
- OEMPTXMLHandler &opxh,
- EIntentValue &eIntentValue
- );
-
- HRESULT AddOrOverridePageMediaType(
- OEMPTXMLHandler &opxh,
- LPCWSTR lpcwstrPageMediaType
- );
-
- HRESULT AddOrOverridePageOutputQuality(
- OEMPTXMLHandler &opxh,
- LPCWSTR lpcwstrPageOutputQuality
- );
-
-};
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/precomp.hxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/precomp.hxx
deleted file mode 100644
index fc8cb4be..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/precomp.hxx
+++ /dev/null
@@ -1,49 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: precomp.hxx
-//
-// PURPOSE: Header files that should be in the precompiled header.
-//
-
-#pragma once
-
-// Required header files that shouldn't change often.
-
-#include <STDDEF.H>
-#include <STDLIB.H>
-#include <OBJBASE.H>
-#include <STDARG.H>
-#include <STDIO.H>
-#include <WINDEF.H>
-#include <WINERROR.H>
-#include <WINBASE.H>
-#include <WINGDI.H>
-#include <windows.h>
-#include <WINSPOOL.H>
-#include <TCHAR.H>
-#include <INITGUID.H>
-#include <msxml6.h>
-#include <string.h>
-#include <EXCPT.H>
-#include <ASSERT.H>
-#include <PRSHT.H>
-#include <COMPSTUI.H>
-#include <WINDDI.H>
-#include <WINDDIUI.H>
-
-#include <PRINTOEM.H>
-#include <prdrvcom.h>
-#include <prcomoem.h>
-
-// StrSafe.h needs to be included last
-// to disallow unsafe string functions.
-#include <intsafe.h>
-#include <strsafe.h>
-
-#include "common.ver"
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/precompsrc.cpp
deleted file mode 100644
index 5d84a122..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/precompsrc.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "precomp.hxx" \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/printschema.cxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/printschema.cxx
deleted file mode 100644
index d22ffc10..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/printschema.cxx
+++ /dev/null
@@ -1,64 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: printschema.cxx
-//
-// PURPOSE: Constant definitions for print schema names.
-//
-//
-
-#include "precomp.hxx"
-#include "printschema.hxx"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-LPCWSTR printschema::FRAMEWORK_URI =
- L"http://schemas.microsoft.com/windows/2003/08/printing/printschemaframework";
-
-LPCWSTR printschema::KEYWORDS_URI =
- L"http://schemas.microsoft.com/windows/2003/08/printing/printschemakeywords";
-
-//
-// Element types defined in Printschema framework
-//
-
-LPCWSTR printschema::FEATURE_ELEMENT_NAME = L"Feature";
-LPCWSTR printschema::OPTION_ELEMENT_NAME = L"Option";
-LPCWSTR printschema::NAME_ATTRIBUTE_NAME = L"name";
-
-//
-// Elements described as Printschema keywords
-//
-
-LPCWSTR printschema::photoprintingintent::FEATURE = L"PagePhotoPrintingIntent";
-LPCWSTR printschema::photoprintingintent::OPTIONS[] = { L"None", L"PhotoDraft", L"PhotoStandard", L"PhotoBest", };
-
-namespace printschema
-{
- namespace photoprintingintent
- {
- //
- // operator prefix increment
- //
- const EIntentValue & operator++(EIntentValue &e)
-
- {
- e = (EIntentValue)(e + 1);
- return e;
- }
- }
-}
-
-LPCWSTR printschema::pagemediatype::FEATURE = L"PageMediaType";
-LPCWSTR printschema::pagemediatype::PLAIN = L"Plain";
-LPCWSTR printschema::pagemediatype::PHOTOGRAPHIC = L"Photographic";
-
-LPCWSTR printschema::pageoutputquality::FEATURE = L"PageOutputQuality";
-LPCWSTR printschema::pageoutputquality::DRAFT = L"Draft";
-LPCWSTR printschema::pageoutputquality::HIGH = L"High";
-LPCWSTR printschema::pageoutputquality::PHOTOGRAPHIC = L"Photographic";
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/printschema.hxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/printschema.hxx
deleted file mode 100644
index e6bd73b4..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/printschema.hxx
+++ /dev/null
@@ -1,74 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: printschema.hxx
-//
-// PURPOSE: Constant declarations for print schema names.
-//
-
-#pragma once
-
-typedef
-enum tagPrintschemaVersion
-{
- PRINTSCHEMA_VERSION_NUMBER = 1
-} EPrintschemaVersion;
-
-
-namespace printschema
-{
-
- extern LPCWSTR FRAMEWORK_URI;
-
- extern LPCWSTR KEYWORDS_URI;
-
- //
- // Element types defined in Printschema framework
- //
-
- extern LPCWSTR FEATURE_ELEMENT_NAME;
- extern LPCWSTR OPTION_ELEMENT_NAME;
- extern LPCWSTR NAME_ATTRIBUTE_NAME;
-
- //
- // Elements described as Printschema keywords
- //
-
- namespace photoprintingintent
- {
- extern LPCWSTR FEATURE;
-
- enum EIntentValue
- {
- None = 0,
- Draft,
- Standard,
- Best,
- EIntentValueMax, // size of enum list
- };
-
- extern LPCWSTR OPTIONS[EIntentValueMax];
-
- const EIntentValue & operator++(EIntentValue &e);
- }
-
- namespace pagemediatype
- {
- extern LPCWSTR FEATURE;
- extern LPCWSTR PLAIN;
- extern LPCWSTR PHOTOGRAPHIC;
- }
-
- namespace pageoutputquality
- {
- extern LPCWSTR FEATURE;
- extern LPCWSTR DRAFT;
- extern LPCWSTR HIGH;
- extern LPCWSTR PHOTOGRAPHIC;
- }
-
-}
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/ptpcplpr.def b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/ptpcplpr.def
deleted file mode 100644
index 20165c2d..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/ptpcplpr.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY PTPCPLPR
-EXPORTS DllGetClassObject PRIVATE
- DllCanUnloadNow PRIVATE
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/ptpcplpr.rc b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/ptpcplpr.rc
deleted file mode 100644
index c40881de..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/ptpcplpr.rc
+++ /dev/null
@@ -1,24 +0,0 @@
-#include "winres.h"
-#include <ntverp.h>
-
-#define VER_FILETYPE VFT_DLL
-#define VER_FILESUBTYPE VFT2_UNKNOWN
-#define VER_FILEDESCRIPTION_STR "PT/PC Plugin Provider Module"
-#define VER_INTERNALNAME_STR "PTPCPlPr"
-#define VER_ORIGINALFILENAME_STR "PTPCPlPr.dll"
-
-/////////////////////////////////////////////////////////////////////////////
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-#include "common.ver"
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/xmlhandler.cxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/xmlhandler.cxx
deleted file mode 100644
index 4bbee2e8..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/xmlhandler.cxx
+++ /dev/null
@@ -1,1612 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: xmlhandler.cxx
-//
-//
-// PURPOSE: Helper Class that handles all functionality related to
-// processing of input PrintTicket/PrintCapabilities XML documents.
-//
-//
-// Functions: Public and Private functions of class OEMPTXMLHandler.
-//
-
-#include "precomp.hxx"
-
-#include "globals.hxx"
-#include "printschema.hxx"
-#include "xmlhandler.hxx"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-//Disable the warnings generated by PFEFAST for conversion between wchar_t * and BSTR
-//because MSXML defines all its interfaces parameters as BSTR but officially declares itself
-//to be wchar_t safe.
-
-#pragma prefast(disable:__WARNING_WCHAR_TO_BSTR)
-
-//
-// MSXML makes the guarantee that we can call it's methods with LPTSTRs instead
-// of BSTRs, so we need to do a const cast whenever we pass our strings to MSXML.
-//
-#define MSXMLSTR(lptstr_value) (const_cast<BSTR>(lptstr_value))
-
-/*++
-Routine Name:
- OEMPTXMLHandler
-Routine Description:
- Print Ticket Handler Constructor
-
-
-Arguments:
- None
-
-Return Value:
- None
-
---*/
-
-OEMPTXMLHandler::OEMPTXMLHandler() :
- m_pRootDocument(NULL),
- m_pRootElement(NULL),
- m_pNSManager(NULL),
- m_dwNextIndex(0)
-{
-}
-
-/*++
-Routine Name:
- ~OEMPTXMLHandler(
-Routine Description:
- Print Ticket Handler Destructor
-
-Arguments:
- None
-
-Return Value:
- None
-
---*/
-
-OEMPTXMLHandler::~OEMPTXMLHandler()
-{
- if (m_pRootDocument)
- {
- m_pRootDocument->Release();
- m_pRootDocument = NULL;
- }
- if (m_pRootElement)
- {
- m_pRootElement->Release();
- m_pRootElement = NULL;
- }
- if (m_pNSManager)
- {
- m_pNSManager->Release();
- m_pNSManager = NULL;
- }
-}
-
-/*++
-Routine Name:
- SetRoot
-
-Routine Description:
-
- Initialization routine. Sets root of the DOM tree. Alos creates an instance of xml namespace manager
- using plug-in helper interface method.
-
- Note: This routine MUST BE called before any other xml handling routines are called.
- Note also that it is not necessary to call CoInitializeEx because Unidrv has already
- made that call while creating the DOM tree with appropriate arguments passed on to it
- and when Unidrv makes a call to one of plug-in interface routines, since plug-in is
- running in the same thread, it does not need to make that call again
- In fact the plug-in SHOULD NOT make that call to CoInitializeEx , because Unidrv must have made
- that call with some particular concurrency model settings which plug-in cannot find out,
- so the plug-in might end up changing the concurrency setting made by Unidrv.
-
-Arguments:
- pRoot - Root of the input DOM tree.
-
-
-Return Value:
- HRESULT Completion status code
-
---*/
-HRESULT
-OEMPTXMLHandler::SetRoot(
- _In_ IXMLDOMDocument2 *pRoot,
- _In_ IPrintCoreHelper *pHelper
- )
-{
- HRESULT hr = S_OK;
-
- //
- // check if input paramters are not NULL
- //
- if (!pRoot || !pHelper)
- {
- return E_INVALIDARG;
- }
-
- m_pRootDocument = pRoot;
-
- m_pRootDocument->AddRef();
-
-
- //
- // Make use of Plug-in Helper Interface method provided by Unidrv to create an Instance of MSXML Namespace Manager.
- // The plug-in must make use of Helper Interface provided by Unidrv while creating instance of namespacemanager
- // of MSXML DOM document, the plug-in should not load MSXML6.DLL by itself but should rely on Unidrv for
- // doing that
- //
- if (SUCCEEDED(hr))
- {
- //
- // Note: Current versions of Unidrv support MSXML6 hence plug-in should also support that and write its
- // code in compliance with MSXML6
- //
- hr = pHelper->CreateInstanceOfMSXMLObject(CLSID_MXNamespaceManager60, NULL, NULL, IID_IMXNamespaceManager, (void**)&m_pNSManager);
- }
-
- //
- // Get the Root Element of the document and store it in pRootElement.
- //
- if (SUCCEEDED(hr))
- {
- hr = m_pRootDocument->get_documentElement(&m_pRootElement);
- }
-
- if (FAILED(hr))
- {
- if (m_pRootDocument)
- {
- m_pRootDocument->Release();
- m_pRootDocument = NULL;
- }
-
- if (m_pRootElement)
- {
- m_pRootElement->Release();
- m_pRootElement = NULL;
- }
-
- if (m_pNSManager)
- {
- m_pNSManager->Release();
- m_pNSManager = NULL;
- }
- }
-
- return hr;
-}
-
-/*++
-Routine Name:
- CreateFeatureNode
-
-Routine Description:
-
- Creates a new Feature Node
-
-Arguments:
- pParent - parent node of the new feature node, if NULL, root is considered as parent
- pszNamespaceURI - namesapce URI to which new node belongs
- pszFeatureName - local name of the new feature node
- ppFeatureNode - out pointer to newly created node
-
-Return Value:
- HRESULT Completion status code
- S_OK on success
- E_* on failure
-
---*/
-
-HRESULT OEMPTXMLHandler::CreateFeatureNode(
- _In_opt_ IXMLDOMElement *pParent,
- _In_ PCWSTR pszNamespaceURI,
- _In_ PCWSTR pszFeatureName,
- _Out_opt_ IXMLDOMElement **ppFeatureNode
- )
-{
- HRESULT hr = S_OK;
- IXMLDOMElement *pNewElement = NULL;
- BSTR qName = NULL;
-
- if (!pszFeatureName)
- {
- return E_INVALIDARG;
- }
-
- if (!pParent)
- {
- pParent = m_pRootElement;
- }
-
-
- hr = CreateXMLElement(pParent, printschema::FEATURE_ELEMENT_NAME, printschema::FRAMEWORK_URI, &pNewElement);
-
- if (SUCCEEDED(hr))
- {
- hr = CreateQName(pNewElement, pszNamespaceURI, pszFeatureName, &qName);
- }
-
- if (SUCCEEDED(hr))
- {
-
- // The 'name' attibute node is not namespace qualified; it
- // belongs to the namespace of its parent (feature/option)
- // node.
-
- hr = CreateXMLAttribute(pNewElement, printschema::NAME_ATTRIBUTE_NAME, L"", qName);
- }
-
- if (qName)
- {
- SysFreeString(qName);
- qName = NULL;
- }
-
- if (SUCCEEDED(hr) && ppFeatureNode)
- {
- *ppFeatureNode = pNewElement;
- }
- else if (pNewElement)
- {
- pNewElement->Release();
- }
-
- return hr;
-
-}
-
-/*++
-Routine Name:
- CreateOptionNode
-
-Routine Description:
-
- Creates a new Option Node
-
-Arguments:
- pParent - parent node of the new Option node
- pszNamespaceURI - namesapce URI to which new node belongs
- pszFeatureName - local name of the new Option node
- ppOptionElement - out pointer to newly created node
-
-Return Value:
- HRESULT Completion status code
- S_OK on success
- E_* on failure
-
---*/
-
-HRESULT OEMPTXMLHandler::CreateOptionNode(
- _In_ IXMLDOMElement *pParent,
- _In_ PCWSTR pszNamespaceURI, //print schema URI that corresponds to prefix "prn:"
- _In_ PCWSTR pszOptionName, //"TopLeft" etc
- _Out_opt_ IXMLDOMElement **ppOptionElement
- )
-{
- HRESULT hr = S_OK;
- IXMLDOMElement *pNewElement = NULL;
- BSTR qName = NULL;
-
- if (!pParent)
- {
- return E_INVALIDARG;
- }
-
- hr = CreateXMLElement(pParent, printschema::OPTION_ELEMENT_NAME, printschema::FRAMEWORK_URI, &pNewElement);
-
- if (SUCCEEDED(hr))
- {
- hr = CreateQName(pNewElement, pszNamespaceURI, pszOptionName, &qName);
- }
-
- if (SUCCEEDED(hr))
- {
- // The 'name' attibute node is not namespace qualified; it
- // belongs to the namespace of its parent (feature/option)
- // node.
-
- hr = CreateXMLAttribute(pNewElement, printschema::NAME_ATTRIBUTE_NAME, L"", qName);
- }
-
- if (qName)
- {
- SysFreeString(qName);
- qName = NULL;
- }
-
- if (SUCCEEDED(hr) && ppOptionElement)
- {
- *ppOptionElement = pNewElement;
- }
- else if (pNewElement)
- {
- pNewElement->Release();
- }
-
- return hr;
-}
-
-/*++
-Routine Name:
- CreateXMLElement
-
-Routine Description:
- Generic method to create new XML element node
-
-Arguments:
-
- pParent - pointer to the parent node of the new nod eto be created, if NULL root of DOM tree is considered as parent
- pszElementName - local name of the newly created element
- pszNamespaceURI - namespace URI that the new element belongs to, the caller can only specify the namespace URI
- and not the prefix
- ppCreatedElement - double pointer to the newly created element returned by the procedure
-
-Return Value:
- HRESULT Completion status code
- S_OK - If the new element node is created successfully
- E_* - on failure
-
---*/
-
-HRESULT OEMPTXMLHandler::CreateXMLElement(
- _In_ IXMLDOMElement *pParent,
- _In_ PCWSTR pszElementName,
- _In_ PCWSTR pszNamespaceURI,
- _Out_ IXMLDOMElement **ppCreatedElement
- )
-{
- HRESULT hr = S_OK;
- IXMLDOMNode *pNewNode = NULL;
- BSTR bstrQName = NULL;
-
- if (!pParent || !pszElementName || !pszNamespaceURI || !ppCreatedElement)
- {
- return E_INVALIDARG;
- }
-
- //
- // create XML Qname
- //
- hr = CreateQName(pParent, pszNamespaceURI, pszElementName, &bstrQName);
-
- if (SUCCEEDED(hr))
- {
- VARIANT nodeType;
- VariantInit(&nodeType);
- V_VT(&nodeType) = VT_I4;
- V_I4(&nodeType) = NODE_ELEMENT;
- hr = m_pRootDocument->createNode(nodeType, bstrQName, MSXMLSTR(pszNamespaceURI), &pNewNode);
- if (SUCCEEDED(hr))
- VariantClear(&nodeType);
- }
-
- if (SUCCEEDED(hr))
- hr = pParent->appendChild(pNewNode, NULL);
-
-
- if (SUCCEEDED(hr))
- {
- //
- // we need to return Interface ptr to IXMLDOMElement.
- //
- hr = pNewNode->QueryInterface(IID_IXMLDOMElement, (void **)ppCreatedElement);
-
- //
- // if interface is not supported, E_* will be returned in hr,
- // we simply return that to the caller.
- //
- }
-
- if (pNewNode)
- {
- //
- // release reference to local node Created since it is no longer being used
- //
- pNewNode->Release();
- }
-
- if (bstrQName)
- {
- SysFreeString(bstrQName);
- bstrQName = NULL;
- }
-
- return hr;
-
-}
-
-/*++
-Routine Name:
- CreateQName
-
-Routine Description:
-
- Creates XML qname for given local name and namespace URI
- Note: It is assumed that a prefix for given URI is already defined in root of DOM document
- either by Unidrv or by plug-in itself.
- Routine fails if it doesnot find a predefined prefix for given URI.
-
-Arguments:
- pElement - context node
- pszUri - Uri
- pszLocalName - local name
- pQName - a pointer to resultant qname string defined by the routine
-
-Return Value:
- HRESULT Completion status code
-
- S_OK - On success
- E_FAIL - on failure to create Qname
-
---*/
-HRESULT OEMPTXMLHandler::CreateQName(
- _In_ IXMLDOMElement *pElement,
- _In_ PCWSTR pszUri,
- _In_ PCWSTR pszLocalName,
- _Out_ BSTR *pQName
- )
-{
- HRESULT hr = S_OK;
- BSTR bstrPrefixString = NULL;
- size_t prefixLen = 0;
- // Is it the default namespace? If so, don't stick a semicolon in the string
- size_t localNameLen = 0;
-
- if (!pszUri || !pszLocalName || !pQName)
- {
- return E_INVALIDARG;
- }
-
- *pQName = NULL;
-
- //
- // See if a prefix is already defined for the given URI
- //
-
- hr = getPrefix(pElement, pszUri, &bstrPrefixString);
-
- //
- // It is possible that during validation the prefix might not
- // already be defined if we're converting public features to GPD
- // features. In that case, we need to add a definition for the
- // feature namespace.
- //
-
- if (S_FALSE == hr)
- {
- hr = declarePrefix(pElement, pszUri, NULL, &bstrPrefixString);
- }
-
- if (SUCCEEDED(hr))
- {
- //
- // StrSafe function StringCchLength checks if the length of string is less than
- // maximum length specified, and returns S_OK if the input string is non NULL and
- // length is less that maximum length specified.
- // It returns length of string EXCLUDING null terminator
- //
- hr = StringCchLength(pszLocalName, STR_MAX_CCH, &localNameLen);
- }
-
- if (SUCCEEDED(hr))
- {
- if (bstrPrefixString)
- {
- hr = StringCchLength(bstrPrefixString, STR_MAX_CCH, &prefixLen);
- }
- }
-
- if (SUCCEEDED(hr))
- {
- if (prefixLen > 0)
- {
- // non-default namespace
-
- UINT cchLength = 0;
-
- if (SUCCEEDED(hr = SizeTAdd(prefixLen, localNameLen, &localNameLen)) &&
- SUCCEEDED(hr = SizeTAdd(localNameLen, 2, &localNameLen)) &&
- SUCCEEDED(hr = SizeTToUInt(localNameLen, &cchLength)))
- {
-
- *pQName = SysAllocStringLen(NULL, cchLength);
-
- if (*pQName)
- {
- // we got a terminator character as part of SysAllocString.
- hr = StringCchPrintf(*pQName, cchLength, L"%s:%s", bstrPrefixString, pszLocalName);
- }
- else
- {
- hr = E_OUTOFMEMORY;
- }
- }
- }
- else
- {
- // Default namespace ...
-
- UINT cchLength = 0;
-
- if (SUCCEEDED(hr = SizeTAdd(localNameLen, 1, &localNameLen)) &&
- SUCCEEDED(hr = SizeTToUInt(localNameLen, &cchLength)))
- {
- *pQName = SysAllocStringLen(NULL, cchLength);
-
- if (*pQName)
- {
- // we got a terminator character as part of SysAllocString.
- hr = StringCchPrintf(*pQName, cchLength, L"%s", pszLocalName);
- }
- else
- {
- hr = E_OUTOFMEMORY;
- }
- }
- }
- }
-
- if (bstrPrefixString)
- {
- SysFreeString(bstrPrefixString);
- bstrPrefixString = NULL;
- }
-
- if (FAILED(hr))
- {
- if (*pQName)
- {
- SysFreeString(*pQName);
- *pQName = NULL;
- }
- }
-
- return hr;
-}
-
-/*++
-Routine Name:
- CreateXMLAttribute
-
-Routine Description:
- Creates an attribute for the given XML element.
-
-Arguments:
-
- pElement - pointer to the element node to which an attribute is to be added
- pszAttributeName - local name of the attribute
- pszNamespaceURI - namespace URI to which the attribute belongs
- pszAttributeValue - value of the attribute
-
-Return Value:
- HRESULT Completion status code
- S_OK - on success
- E_* - on failure
-
---*/
-
-HRESULT OEMPTXMLHandler::CreateXMLAttribute(
- _In_ IXMLDOMElement *pElement,
- _In_ PCWSTR pszAttributeName, //"name="
- _In_ PCWSTR pszNamespaceURI, //"pt:"
- _In_ PCWSTR pszAttributeValue //"prn:"
- )
-{
- HRESULT hr = S_OK;
- IXMLDOMAttribute *pNewAttribute = NULL ;
- IXMLDOMNode *pNewNode = NULL ;
-
- if (!pElement || !pszAttributeName || ! pszNamespaceURI || !pszAttributeValue)
- {
- return E_INVALIDARG;
- }
-
- VARIANT nodeType;
- VariantInit(&nodeType);
- V_VT(&nodeType) = VT_I4;
- V_I4(&nodeType) = NODE_ATTRIBUTE;
- hr = m_pRootDocument->createNode(nodeType, MSXMLSTR(pszAttributeName), MSXMLSTR(pszNamespaceURI), &pNewNode);
- if (SUCCEEDED(hr))
- VariantClear(&nodeType);
-
- if (SUCCEEDED(hr))
- {
- hr = pNewNode->QueryInterface(IID_IXMLDOMAttribute, (void **)&pNewAttribute);
- }
-
- if (SUCCEEDED(hr))
- {
- VARIANT attrType;
- VariantInit(&attrType);
- V_VT(&attrType) = VT_BSTR;
- V_BSTR(&attrType) = SysAllocString(pszAttributeValue);
- hr = pNewAttribute->put_value(attrType);
- if (SUCCEEDED(hr))
- VariantClear(&attrType);
- }
-
- if (SUCCEEDED(hr))
- {
- hr = pElement->setAttributeNode(pNewAttribute, NULL);
- }
-
- if (SUCCEEDED(hr))
- {
- if (pNewAttribute)
- {
- pNewAttribute->Release();
- }
-
- }
- else if (pNewAttribute)
- pNewAttribute->Release();
-
- if (pNewNode)
- pNewNode->Release();
-
- return hr;
-}
-
-/*++
-Routine Name:
- GetXMLElement
-Routine Description:
- Returns an XML element with given namespace URI and given attribute
-
-Arguments:
-
- pParent - Parent of node to be found
- pszElementNamespaceURI - Namespace URI to which the element belongs
- pszElementName - Local Name of the element
- pszAttrNamespaceURI - Namespace URI to which the attribute of the element belongs
- pszAttrName - local name of the element attribute
- ppElement - out pointer to xml element so retrieved
-
-Return Value:
- HRESULT Completion status code
- S_OK - On Successfully locating XML node specified
- S_FALSE - If the specified XML node is not found
- E_* - On Failure
-
- Note: Since the module returns S_FALSE if the specified node is not found, the caller must be
- careful to check hr status to be S_OK before proceeding, just checking for SUCCEEDED(hr) might
- give wrong results
-
---*/
-HRESULT OEMPTXMLHandler::GetXMLElement(
- _In_ IXMLDOMElement *pParent,
- _In_ PCWSTR pszElementNamespaceURI,
- _In_ PCWSTR pszElementName,
- _In_ PCWSTR pszAttrNamespaceURI,
- _In_ PCWSTR pszAttrName,
- _Outptr_result_maybenull_ IXMLDOMElement **ppElement
- ) const
-{
- HRESULT hr = S_OK;
- LONG cChildren = 0;
- IXMLDOMNodeList *pChildren = NULL;
-
-
- if (!pParent || !pszElementNamespaceURI || !pszElementName || !pszAttrNamespaceURI || !pszAttrName)
- {
- return E_INVALIDARG;
- }
-
- *ppElement = NULL;
-
- //
- // Get a list of child nodes for the current DOM node
- //
- hr = pParent->get_childNodes(&pChildren);
-
- //
- // Get number of child nodes
- //
- if (SUCCEEDED(hr))
- {
- hr = pChildren->get_length(&cChildren);
- }
-
- if (SUCCEEDED(hr))
- {
- LONG i = 0;
- BOOL bFound = FALSE;
-
- for(i = 0;i < cChildren && !bFound;i++)
- {
- IXMLDOMNode *pCurNode;
- IXMLDOMElement *pCurElement = NULL;
-
- hr = pChildren->get_item(i, &pCurNode);
-
- if (SUCCEEDED(hr))
- {
- hr = pCurNode->QueryInterface(IID_IXMLDOMElement, (void **)&pCurElement);
- }
- if (S_OK == hr)
- {
- BSTR bstrElementName = NULL;
- BSTR bstrElementNamespaceURI = NULL;
-
- //
- // retrieve element name and namespace URI
- //
- hr = pCurElement->get_baseName(&bstrElementName);
-
- if (SUCCEEDED(hr))
- {
- hr = pCurElement->get_namespaceURI(&bstrElementNamespaceURI);
- }
-
- if (SUCCEEDED(hr) && bstrElementNamespaceURI && bstrElementName)
- {
-
- if (0 == wcscmp(bstrElementName, pszElementName) && 0 == wcscmp(bstrElementNamespaceURI, pszElementNamespaceURI))
- {
- //
- //check if element name matches
- //
- BSTR bstrAttrName = NULL;
- BSTR bstrAttrNamespaceURI = NULL;
- hr = GetXMLAttribute(pCurElement,&bstrAttrNamespaceURI,&bstrAttrName);
- if (SUCCEEDED(hr) && bstrAttrName && bstrAttrNamespaceURI)
- {
- if (0 == wcscmp(bstrAttrName, pszAttrName) && 0 == wcscmp(pszAttrNamespaceURI, bstrAttrNamespaceURI))
- {
- bFound = TRUE;
- *ppElement = pCurElement;
- (*ppElement)->AddRef();
- }
- else
- {
- hr = S_FALSE;
- }
- }
-
- SysFreeString(bstrAttrName);
- bstrAttrName = NULL;
-
- SysFreeString(bstrAttrNamespaceURI);
- bstrAttrNamespaceURI = NULL;
- }
- }
-
- SysFreeString(bstrElementName);
- bstrElementName = NULL;
-
- SysFreeString(bstrElementNamespaceURI);
- bstrElementNamespaceURI = NULL;
-
- if (pCurElement)
- {
- pCurElement->Release();
- }
- }
-
- if (pCurNode)
- {
- pCurNode->Release();
- }
- }
- }
-
- if (pChildren)
- pChildren->Release();
-
- if (SUCCEEDED(hr) && (*ppElement))
- {
- hr = S_OK;
- }
- else
- {
- hr = S_FALSE;
- }
-
- return hr;
-
-}
-
-/*++
-Routine Name:
- GetXMLElementWithoutAttribute
-
-Routine Description:
- Returns an XML element with given namespace URI.
-
-Arguments:
-
- pParent - Parent of node to be found
- pszElementNamespaceURI - Namespace URI to which the element belongs
- pszElementName - Local Name of the element
- ppChildElement - out pointer to xml element so retrieved
-
-Return Value:
- HRESULT Completion status code
- S_OK - On Successfully locating XML node specified
- S_FALSE - If the specified XML node is not found
- E_* - On Failure
-
- Note: Since the module returns S_FALSE if the specified node is not found, the caller must be
- careful to check hr status before proceeding, just checking for SUCCEEDED(hr) might
- give wrong results
-
---*/
-HRESULT OEMPTXMLHandler::GetXMLElementWithoutAttribute(
- _In_ IXMLDOMElement *pContext,
- _In_ PCWSTR pszElementNamespace,
- _In_ PCWSTR pszElementName,
- _Outptr_result_maybenull_ IXMLDOMElement **ppChildElement
- ) const
-{
- if (!pContext || !pszElementName || !pszElementNamespace || !ppChildElement)
- {
- return E_INVALIDARG;
- }
-
- HRESULT hr = S_OK;
- LONG cChildren = 0;
- IXMLDOMNodeList *pContextChildren;
- *ppChildElement = NULL;
-
- //
- // Get the list of child nodes
- //
- hr = pContext->get_childNodes(&pContextChildren);
-
- if (SUCCEEDED(hr))
- hr = pContextChildren->get_length(&cChildren);
-
- if (SUCCEEDED(hr))
- {
- for(LONG i = 0;i < cChildren && !(*ppChildElement);i++)
- {
-
- IXMLDOMNode *pCurrentNode;
- IXMLDOMElement *pCurrentElement;
- hr = pContextChildren->get_item(i, &pCurrentNode);
-
- //
- // See if its a DOM Element. Don't set hr here because we
- // fully expect that not everything in the context is an element.
- //
- if (SUCCEEDED(hr) && S_OK == pCurrentNode->QueryInterface(IID_IXMLDOMElement, (void**)&pCurrentElement))
- {
- BSTR pbstrBaseName = NULL;
- BSTR pbstrNamespaceURI = NULL;
-
- hr = pCurrentElement->get_baseName(&pbstrBaseName);
-
- if (SUCCEEDED(hr))
- {
- hr = pCurrentElement->get_namespaceURI(&pbstrNamespaceURI);
- }
- if (SUCCEEDED(hr) &&
- pbstrNamespaceURI &&
- pbstrBaseName &&
- 0 == wcscmp(pbstrNamespaceURI, pszElementNamespace) &&
- 0 == wcscmp(pbstrBaseName, pszElementName))
- {
- *ppChildElement = pCurrentElement;
- (*ppChildElement)->AddRef();
- }
-
- pCurrentElement->Release();
-
- SysFreeString(pbstrBaseName);
- pbstrBaseName = NULL;
-
- SysFreeString(pbstrNamespaceURI);
- pbstrNamespaceURI = NULL;
- }
-
- if (pCurrentNode)
- {
- pCurrentNode->Release();
- }
- }
- }
-
- if (pContextChildren)
- {
- pContextChildren->Release();
- }
-
- if (SUCCEEDED(hr))
- {
- if (*ppChildElement)
- {
- hr = S_OK;
- }
- else
- {
- hr = S_FALSE;
- }
- }
-
- return hr;
-}
-
-/*++
-Routine Name:
- GetXMLAttribute
-
-Routine Description:
- Returns an XML Attribute node with given namespace URI.
-
-Arguments:
-
- pParent - Parent of node to be found
- pszAttrNamespaceURI - Namespace URI to which the attribute belongs
- pszAttrName - Local Name of the attribute
- ppChildElement - out pointer to xml node so retrieved
-
-Return Value:
- HRESULT Completion status code
- S_OK - On Success
- E_* - On Failure
-
---*/
-HRESULT OEMPTXMLHandler::GetXMLAttribute(
- _In_ IXMLDOMElement *pElement,
- _Outptr_result_maybenull_ BSTR *ppAttrNamespaceURI,
- _Outptr_result_maybenull_ BSTR *ppAttrName
- ) const
-{
- HRESULT hr = S_OK;
- IXMLDOMNamedNodeMap *pAttrMap = NULL;
- IXMLDOMNode *pAttrNode = NULL;
-
- if (!pElement || !ppAttrNamespaceURI || !ppAttrName)
- {
- return E_INVALIDARG;
- }
-
- *ppAttrNamespaceURI = NULL;
- *ppAttrName = NULL;
-
- hr = pElement->get_attributes(&pAttrMap);
-
- if (SUCCEEDED(hr))
- {
- hr = pAttrMap->getNamedItem(MSXMLSTR(printschema::NAME_ATTRIBUTE_NAME),&pAttrNode);
- }
-
- if (S_OK == hr)
- {
- BSTR bstrAttrQName = NULL;
- IXMLDOMAttribute *pAttribute = NULL;
-
- hr = pAttrNode->QueryInterface(IID_IXMLDOMAttribute, (void **)&pAttribute);
-
- if (SUCCEEDED(hr))
- hr = pAttribute->get_text(&bstrAttrQName);
-
- if (S_OK == hr && bstrAttrQName)
- hr = getUri(pElement, bstrAttrQName, ppAttrNamespaceURI);
-
- if (S_OK == hr && bstrAttrQName)
- hr = getLocalName(bstrAttrQName, ppAttrName);
-
- if (pAttribute)
- pAttribute->Release();
-
- if (bstrAttrQName)
- {
- SysFreeString(bstrAttrQName);
- bstrAttrQName = NULL;
- }
- }
-
- if (pAttrMap)
- pAttrMap->Release();
- if (pAttrNode)
- pAttrNode->Release();
-
- if (FAILED(hr))
- {
- if (*ppAttrNamespaceURI)
- {
- SysFreeString(*ppAttrNamespaceURI);
- *ppAttrNamespaceURI = NULL;
- }
- if (*ppAttrName)
- {
- SysFreeString(*ppAttrName);
- *ppAttrName = NULL;
- }
- }
- return hr;
-}
-
-/*++
-Routine Name:
- GetFeatureNode
-
-Routine Description:
-
- Returns the feature node with specified attribute under printschema namespace
-
-Arguments:
- pParent - parent node of the feature node to be located
- pszAttrNamespaceURI - namespace URI for the attribute node of given feature node
- pszAttrName - attribute name for given feature node
- ppElement - OUT pointer to feature node to be returned
-
-Return Value:
- HRESULT Completion status code
- S_OK - On Successfully locating Feature node
- S_FALSE - If Feature node is not found
- E_* - On Failure
-
-
---*/
-HRESULT OEMPTXMLHandler::GetFeatureNode(
- _In_opt_ IXMLDOMElement *pParent,
- _In_ PCWSTR pszAttrNamespaceURI,
- _In_ PCWSTR pszAttrName,
- _Out_ _When_(return == S_FALSE, _At_(*ppElement, _Post_maybenull_))
- _When_(return != S_FALSE, _At_(*ppElement, _Post_valid_))
- IXMLDOMElement **ppElement
- ) const
-{
- HRESULT hr = S_OK;
-
- //
- // If no parent is specified, set root of DOM tree as parent
- //
- if (!pParent)
- {
- pParent = m_pRootElement;
- }
-
- hr = GetXMLElement(pParent, printschema::FRAMEWORK_URI, printschema::FEATURE_ELEMENT_NAME, pszAttrNamespaceURI, pszAttrName, ppElement);
-
- return hr;
-}
-
-/*++
-Routine Name:
- GetOptionNode
-
-Routine Description:
-
- Returns the option node under printschema namespace
-
-Arguments:
- pParent - parent node of the option node to be located
- ppElement - OUT pointer to option node to be returned
-
-Return Value:
- HRESULT Completion status code
- S_OK - On Successfully locating Option node
- S_FALSE - If Option node is not found
- E_* - On Failure
-
---*/
-HRESULT
-OEMPTXMLHandler::GetOptionNode(
- _In_ IXMLDOMElement *pParent,
- _Outptr_result_maybenull_ IXMLDOMElement **ppElement
- ) const
-{
- return GetXMLElementWithoutAttribute(pParent, printschema::FRAMEWORK_URI, printschema::OPTION_ELEMENT_NAME, ppElement);
-}
-
-/*++
-
-Routine Name:
- getLocalName
-Routine Description:
- Returns Local name for input XML Qname.
-
-Arguments:
- pszQName - Qname for which local name is to be found out
- ppbstrLocalName - OUT pointer to local name
-
-Return Value:
- HRESULT Completion status code
- S_OK - On Success
- E_* - On Failure
-
---*/
-HRESULT
-OEMPTXMLHandler::getLocalName(
- _In_ PCWSTR pszQName,
- _Out_ BSTR *ppbstrLocalName
- ) const
-{
- HRESULT hr = S_OK;
-
- if (!pszQName || !ppbstrLocalName)
- {
- return E_INVALIDARG;
- }
-
- *ppbstrLocalName = NULL;
-
- PCWSTR pszStartPos = wcschr(pszQName,L':');
-
- if (pszStartPos)
- {
- pszStartPos++;
- }
- else
- {
- pszStartPos = pszQName;
- }
-
- *ppbstrLocalName = SysAllocString(pszStartPos);
-
- if (!(*ppbstrLocalName))
- {
- hr = E_OUTOFMEMORY;
- }
-
- return hr;
-}
-
-
-/*++
-Routine Name:
- getUri
-Routine Description:
- Returns namespace URI for given input Qname and in context of given XML DOM node.
-Arguments:
- pContext - Input XML DOM node for current context
- pszQName - input qname
- pbstrURI - OUT pointer to URI to be returned
-Return Value:
-
- S_OK if found
- S_FALSE if not found
- E_OUTOFMEMORY if the string could not be allocated
- E_INVALIDARG if a non-optional param is null.
-
-Notes:
-
- This routine assumes that the string has already been
- validated, which should have happened in the managed code base.
- The string should either be of the form "prefix:localname",
- or "localname"
-
---*/
-HRESULT
-OEMPTXMLHandler::getUri(
- IXMLDOMElement *pContext,
- _In_ PCWSTR pszQName,
- _Out_ BSTR *pbstrURI
- ) const
-
-{
- HRESULT hr = S_OK;
- BOOL bNodePushed = FALSE;
-
- if (!(pContext && pbstrURI && pszQName))
- {
- return E_INVALIDARG;
- }
-
- PWSTR pszSplitPos = (_TCHAR*) wcschr(pszQName, L':');
- INT cchUri = 0;
- *pbstrURI = NULL;
-
- //
- // if splitpos is null, then there is no namespace
- // prefix, which means return the default namespace.
- //
- wchar_t wchSwapChar = L'\0';
- if (pszSplitPos)
- {
- wchSwapChar = *pszSplitPos;
- *pszSplitPos = (wchar_t)0;
- }
- else
- {
- pszQName = L"";
- }
-
- hr = m_pNSManager->pushNodeContext(pContext, TRUE);
-
- if (SUCCEEDED(hr))
- {
- bNodePushed = TRUE;
- // get the length first, then alloc the string
-#pragma prefast(suppress:__WARNING_INVALID_PARAM_VALUE_1, "According to MSDN, it is acceptable to pass a NULL buffer to getURI.")
- hr = m_pNSManager->getURI(pszQName, NULL, NULL, &cchUri);
- }
-
- if (S_OK == hr)
- {
- if (SUCCEEDED(hr))
- {
- // account for null terminator
- cchUri += 1;
-
- *pbstrURI = SysAllocStringLen(NULL, cchUri);
- if (!(*pbstrURI))
- {
- hr = E_OUTOFMEMORY;
- }
- }
-
- if (SUCCEEDED(hr))
- {
- hr = m_pNSManager->getURI(pszQName, NULL, *pbstrURI, &cchUri);
- }
-
- if (pszSplitPos)
- {
- *pszSplitPos = wchSwapChar;
- }
-
- if (FAILED(hr) && (*pbstrURI))
- {
- SysFreeString(*pbstrURI);
- *pbstrURI = NULL;
- }
- }
-
- if (bNodePushed)
- {
- hr = m_pNSManager->popContext();
- }
-
- return hr;
-}
-
-/*++
-
-Routine Name:
- getPrefix
-Routine Description:
-
- Returns predefined Prefix for the input namespace URI if one already exists
-
-Arguments:
- pContext - Current context node
- pszUri - namespace URI for which prefix is to be obtained
- pbstrPrefix - prefix string to be returned, if NULL routine just checks for
- existence of prefix
-
-Return Value:
- HRESULT Completion status code
- S_OK - on success
- S_FALSE - on failure
-
---*/
-HRESULT
-OEMPTXMLHandler::getPrefix(
- _In_ IXMLDOMElement *pContext,
- _In_ PCWSTR pszUri,
- _Outptr_opt_result_maybenull_ BSTR *pbstrPrefix
- ) const
-{
- HRESULT hr = S_OK;
- BOOL bNodePushed = FALSE;
- INT cchPrefix = 0;
-
- if (!pContext || !pszUri)
- return E_INVALIDARG;
-
- if (pbstrPrefix)
- {
- *pbstrPrefix = NULL;
- }
-
- //Push context "Deep" to get info abt all URI prefix mappings defined so far in the current DOM document
- hr = m_pNSManager->pushNodeContext(pContext, TRUE);
-
- if (SUCCEEDED(hr))
- {
- bNodePushed = TRUE;
-
- // get the length first, then alloc the string
-
- hr = m_pNSManager->getPrefix(pszUri, 0, NULL, &cchPrefix);
- }
-
-
- if (S_OK == hr && pbstrPrefix)
- {
-
- *pbstrPrefix = NULL;
- cchPrefix++;
-
- if (SUCCEEDED(hr))
- {
- *pbstrPrefix = SysAllocStringLen(NULL, cchPrefix);
-
- if (!(*pbstrPrefix))
- hr = E_OUTOFMEMORY;
- }
-
- if (SUCCEEDED(hr))
- {
- hr = m_pNSManager->getPrefix(pszUri, 0, *pbstrPrefix, &cchPrefix);
-
- }
-
- if (FAILED(hr) && (*pbstrPrefix))
- {
- SysFreeString(*pbstrPrefix);
- *pbstrPrefix = NULL;
- }
- }
-
- // Note: MSXML NSManager returns S_FALSE for an undeclared URI, and E_FAIL for an undeclared
- // prefix, hence it is safe to check for both here.
-
- if (E_FAIL == hr || S_FALSE == hr)
- {
- // NS manager didn't find the prefix. Tweak the result to S_FALSE
- hr = S_FALSE;
- }
-
- if (bNodePushed)
- {
- m_pNSManager->popContext();
- }
-
- return hr;
-}
-
-/*++
-
-Routine Name:
- declarePrefix
-
-Routine Description:
-
- This declares a new prefix for a given URI. This routine will always generate a new
- prefix definition, regardless of whether the URI is already defined. Use getPrefix
- to prevent duplicate definitions of namespace URI prefixes. If the preferred prefix is
- already in use or no preferred prefix is supplied the namespace will be declared using
- a generated namespace name.
-
-Arguments:
- pContext - The context in which you want to ensure that the prefix is properly declared
- in. This is where we check to see if the prefix is already in use. However, if not
- in use, the prefix will always be declared in the root of the document. This gaurantees
- 2 things: The prefix is declared in the entire document (though it may be overridden
- locally in other places), and the prefix has the expected meaning at the passed in pContext.
- pszUri - The URI to associate with the prefix.
- pszPreferredPrefix - prefix to use if not already defined, can be a BSTR or PCWSTR, either
- is acceptable
- pbstrNewPrefix - The actual prefix that was declared, which may be different from the
- preferred prefix
-
-Return Value:
- HRESULT Completion status code
- S_OK - on success
- S_FALSE - on failure
-
---*/
-HRESULT
-OEMPTXMLHandler::declarePrefix(
- _In_ IXMLDOMElement *pContext,
- _In_ PCWSTR pszUri,
- _In_opt_ PCWSTR pszPreferredPrefix,
- _Out_ BSTR *pbstrNewPrefix
- )
-{
- HRESULT hr = S_OK;
-
- // These two strings are tied ... the second string is used to print the number over top of a
- // copy of the first string, so chances are, if you change one, you need to change the other.
- PCWSTR szPrefixChars = L"ns0000";
- PCWSTR szPrefixPrintfPattern = L"ns%.4X";
-
- if (!(pContext && pszUri && pbstrNewPrefix))
- {
- return E_INVALIDARG;
- }
-
- *pbstrNewPrefix = NULL;
-
- // Check if the preferred prefix exists...
- //
- // If we got S_OK, the prefix exists, if we got E_*, bail out
- // anyway. Only declare the prefix if we successfully decided
- // it doesn't exist.
-
- if (pszPreferredPrefix)
- {
- INT unused = 0;
-
- if (SUCCEEDED(hr))
- {
- hr = m_pNSManager->pushNodeContext(pContext, TRUE);
- }
-
- if (SUCCEEDED(hr))
- {
-#pragma prefast(suppress:__WARNING_INVALID_PARAM_VALUE_1, "According to MSDN, it is acceptable to pass a NULL buffer to getURI.")
- hr = m_pNSManager->getURI(pszPreferredPrefix, NULL, NULL, &unused);
-
- // If the prefix is already defined, MSXML will return S_FALSE. In that
- // case, we don't want to declare another namespace with the same prefix
- if (S_FALSE != hr)
- {
- pszPreferredPrefix = NULL;
- }
-
- hr = m_pNSManager->popContext();
- }
-
- if (SUCCEEDED(hr) && pszPreferredPrefix)
- {
- *pbstrNewPrefix = SysAllocStringLen(pszPreferredPrefix, (UINT) wcslen(pszPreferredPrefix));
- }
- }
-
- // If we don't have a workable prefix, try to generate a namespace
- // Namespaces are in the form of NSxxxx where the x's are hex digits,
- // and there are sizeof(m_nextPrefix)*2 of them
- if (SUCCEEDED(hr) && !(*pbstrNewPrefix))
- {
- BOOL bFound = TRUE;
- UINT cchLength = (UINT) wcslen(szPrefixChars);
- *pbstrNewPrefix = SysAllocStringLen(NULL, cchLength);
- if (!(*pbstrNewPrefix))
- {
- hr = E_OUTOFMEMORY;
- }
- if (SUCCEEDED(hr))
- {
- do
- {
- INT unused = 0;
-
- // We're really unlikely to hit this. If we do we probably
- // have bigger problems. but put a reasonable cap on the
- // generated namespaces anyway.
- if (((UINT)m_dwNextIndex) >= (UINT)0xFFFF)
- {
- // We could reset the counter here, but it's very unlikely to
- // help matters, and could end up costing tons of CPU time if
- // caller ignored the error or retried.
- hr = E_FAIL;
- }
-
- if (SUCCEEDED(hr))
- {
- // now fill in the real value.
- hr = StringCchPrintf(*pbstrNewPrefix, cchLength+1, szPrefixPrintfPattern, (INT)m_dwNextIndex);
- }
-
- if (SUCCEEDED(hr))
- {
- // look up the URI associated with the prefix.
-#pragma prefast(suppress:__WARNING_INVALID_PARAM_VALUE_1, "According to MSDN, it is acceptable to pass a NULL buffer to getURI.")
- bFound = (S_OK == m_pNSManager->getURI(*pbstrNewPrefix, pContext, NULL, &unused));
- }
-
- m_dwNextIndex++;
-
- } while(SUCCEEDED(hr) && bFound);
-
- if (bFound)
- {
- SysFreeString(*pbstrNewPrefix);
- *pbstrNewPrefix = NULL;
- }
- }
- }
-
- if (SUCCEEDED(hr) && *pbstrNewPrefix)
- {
- // We'll always put declarations at the root
- if (SUCCEEDED(hr))
- {
- // Create the namespace declaration string
- UINT cchDeclLength = (UINT)(wcslen(L"xmlns:") + wcslen(*pbstrNewPrefix));
-
- BSTR bstrDecl = SysAllocStringLen(NULL, cchDeclLength);
- if (!bstrDecl)
- {
- hr = E_OUTOFMEMORY;
- }
-
- // Add the new declaration to the root of the document. This is important because
- // we really don't want to re-declare the namespace at every element. Just starts
- // to look really messy, and adds a lot of bloat.
- if (SUCCEEDED(hr))
- {
- hr = StringCchPrintf(bstrDecl, cchDeclLength+1, L"xmlns:%s", *pbstrNewPrefix);
- }
-
- if (SUCCEEDED(hr))
- {
- hr = CreateXMLAttribute(m_pRootElement, bstrDecl, L"", pszUri);
- }
-
- SysFreeString(bstrDecl);
- bstrDecl = NULL;
-
- // Explicitly let the namespace manager know about our prefix
-
- if (SUCCEEDED(hr))
- {
- hr = m_pNSManager->declarePrefix(*pbstrNewPrefix, pszUri);
- }
- }
- }
-
- if (FAILED(hr))
- {
- SysFreeString(*pbstrNewPrefix);
- *pbstrNewPrefix = NULL;
- }
-
- return hr;
-}
-
-/*++
-Routine Name:
- DeleteFeatureNode
-Routine Description:
-
- Deletes given input Feature node and all its children from DOM tree
-
-Arguments:
-
- pParent - Parent node of the XML DOM node to be deleted
- pElement - XML DOM node to be deleted
-
-Return Value:
- HRESULT Completion status code
- S_OK - On Success
- E_* - On failure
---*/
-HRESULT
-OEMPTXMLHandler::DeleteFeatureNode(
- _In_opt_ IXMLDOMNode *pParent,
- _In_ IXMLDOMNode *pElement
- )
-{
- HRESULT hr = S_OK;
-
- IXMLDOMNode *pRemovedElement = NULL;
-
- if (!pElement)
- {
- return E_INVALIDARG;
- }
-
- //
- // if no parent node specified assume root of DOM tree as parent
- //
-
- if (!pParent)
- {
- pParent = m_pRootElement;
- }
-
- //
- // MSXML function removeChild removes the given child of the XML
- // element and all its children, even the Attribute nodes defined
- // for given element node if any are removed. Hence we do not need
- // to worry about recursively removing all the children of the
- // given node before removing it
- //
-
- hr = pParent->removeChild(pElement, &pRemovedElement);
-
- if (pRemovedElement)
- {
- pRemovedElement->Release();
- }
-
- return hr ;
-}
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/xmlhandler.hxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/xmlhandler.hxx
deleted file mode 100644
index 2767c282..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/xmlhandler.hxx
+++ /dev/null
@@ -1,162 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: xmlhandler.hxx
-//
-//
-// PURPOSE: Helper Class that handles all functionality related to
-// processing of input PrintTicket/PrintCapabilities XML document
-//
-//
-
-#pragma once
-
-//
-// Print ticket handler class that performs all XML handling for the
-// sample code
-//
-
-class OEMPTXMLHandler
-{
-
-public:
-
- OEMPTXMLHandler();
- virtual ~OEMPTXMLHandler();
-
- HRESULT SetRoot(
- _In_ IXMLDOMDocument2 *pRoot,
- _In_ IPrintCoreHelper *pHelper
- );
-
- //
- // Node creation methods
- //
-
- HRESULT CreateFeatureNode(
- _In_opt_ IXMLDOMElement *pParent,
- _In_ PCWSTR pszNamespaceURI,
- _In_ PCWSTR pszFeatureName,
- _Out_opt_ IXMLDOMElement **ppFeatureNode
- );
-
- HRESULT CreateOptionNode(
- _In_ IXMLDOMElement *pParent,
- _In_ PCWSTR pszNamespaceURI,
- _In_ PCWSTR pszOptionName,
- _Out_opt_ IXMLDOMElement **ppOptionElement
- );
-
- //
- // Get methods
- //
-
- HRESULT GetXMLAttribute(
- _In_ IXMLDOMElement *pElement,
- _Outptr_result_maybenull_ BSTR *pszAttrNamespaceURI,
- _Outptr_result_maybenull_ BSTR *pszAttrName
- ) const;
-
- HRESULT GetFeatureNode(
- _In_opt_ IXMLDOMElement *pParent,
- _In_ PCWSTR pszAttrNamespaceURI,
- _In_ PCWSTR pszAttrName,
- _Out_ _When_(return == S_FALSE, _At_(*ppElement, _Post_maybenull_))
- _When_(return != S_FALSE, _At_(*ppElement, _Post_valid_))
- IXMLDOMElement **ppElement
- ) const;
-
- HRESULT GetOptionNode(
- _In_ IXMLDOMElement *pParent,
- _Outptr_result_maybenull_ IXMLDOMElement **ppElement
- ) const;
-
- HRESULT DeleteFeatureNode(
- _In_opt_ IXMLDOMNode *pParent,
- _In_ IXMLDOMNode *pElement
- );
-
-private:
-
- IXMLDOMDocument2 *m_pRootDocument;
- IXMLDOMElement *m_pRootElement;
- IMXNamespaceManager *m_pNSManager;
- DWORD m_dwNextIndex;
-
- HRESULT GetXMLElement(
- _In_ IXMLDOMElement *pParent,
- _In_ PCWSTR pszElementNamespaceURI,
- _In_ PCWSTR pszElementName,
- _In_ PCWSTR pszAttrNamespaceURI,
- _In_ PCWSTR pszAttrName,
- _Outptr_result_maybenull_ IXMLDOMElement **ppElement
- ) const;
-
- HRESULT GetXMLElementWithoutAttribute(
- _In_ IXMLDOMElement *pContext,
- _In_ PCWSTR pszElementNamespaceURI,
- _In_ PCWSTR pszElementName,
- _Outptr_result_maybenull_ IXMLDOMElement **ppChildElement
- ) const;
-
- HRESULT getPrefix(
- _In_ IXMLDOMElement *pContext,
- _In_ PCWSTR pszUri,
- _Outptr_opt_result_maybenull_ BSTR *pbstrPrefix
- ) const;
-
- HRESULT declarePrefix(
- _In_ IXMLDOMElement *pContext,
- _In_ LPCWSTR pszUri,
- _In_opt_ LPCWSTR pszPreferredPrefix,
- _Out_ BSTR *newPrefix
- );
-
- HRESULT CreateQName(
- _In_ IXMLDOMElement *pElement,
- _In_ PCWSTR pszUri,
- _In_ PCWSTR pszLocalName,
- _Out_ BSTR *pQName
- );
-
- //
- // Adds attributes to existing XML element
- //
-
- HRESULT CreateXMLAttribute(
- _In_ IXMLDOMElement *pElement,
- _In_ PCWSTR pszAttributeName,
- _In_ PCWSTR pszNamespaceURI,
- _In_ PCWSTR pszAttributeValue
- );
-
- //
- // Creates new XML element node
- //
- HRESULT CreateXMLElement(
- _In_ IXMLDOMElement *pParent,
- _In_ PCWSTR pszElementName,
- _In_ PCWSTR pszNamespaceURI,
- _Out_ IXMLDOMElement **ppCreatedElement
- );
-
- //
- // Helpers
- //
- HRESULT getLocalName(
- _In_ PCWSTR pszQName,
- _Out_ BSTR *ppbstrLocalName
- ) const;
-
- HRESULT getUri(
- IXMLDOMElement *pContext,
- _In_ PCWSTR pszQName,
- _Out_ BSTR *pbstrURI
- ) const;
-
-};
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SYNCSET.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SYNCSET.vcxproj
deleted file mode 100644
index cf56c5f6..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SYNCSET.vcxproj
+++ /dev/null
@@ -1,1066 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Win10 Debug|ARM64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|Win32">
- <Configuration>Win10 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|x64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|ARM64">
- <Configuration>Win10 Release</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|Win32">
- <Configuration>Win10 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|x64">
- <Configuration>Win10 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|Win32">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|Win32">
- <Configuration>Win8 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|Win32">
- <Configuration>Win7 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|Win32">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|Win32">
- <Configuration>Win8 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|Win32">
- <Configuration>Win7 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|x64">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|x64">
- <Configuration>Win8 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|x64">
- <Configuration>Win7 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|x64">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|x64">
- <Configuration>Win8 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|x64">
- <Configuration>Win7 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}</ProjectGuid>
- <RootNamespace>$(MSBuildProjectName)</RootNamespace>
- <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration>
- <Platform Condition="'$(Platform)' == ''">Win32</Platform>
- <SampleGuid>{A7A17685-16BD-4A90-9E09-A46B09CF3A1F}</SampleGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <PropertyGroup>
- <OutDir>$(IntDir)</OutDir>
- </PropertyGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ItemGroup Label="WrappedTaskItems" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetName>SYNCSET</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetName>SYNCSET</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetName>SYNCSET</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <TargetName>SYNCSET</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <TargetName>SYNCSET</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetName>SYNCSET</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetName>SYNCSET</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetName>SYNCSET</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <TargetName>SYNCSET</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <TargetName>SYNCSET</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetName>SYNCSET</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetName>SYNCSET</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetName>SYNCSET</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <TargetName>SYNCSET</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetName>SYNCSET</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetName>SYNCSET</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetName>SYNCSET</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <TargetName>SYNCSET</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="debug.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="devmode.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="globals.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="oemui.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Create</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ResourceCompile Include="oemui.rc" />
- </ItemGroup>
- <ItemGroup>
- <Inf Exclude="@(Inf)" Include="*.inf" />
- <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" />
- </ItemGroup>
- <ItemGroup>
- <None Exclude="@(None)" Include="*.txt;*.htm;*.html" />
- <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" />
- <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SYNCSET.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SYNCSET.vcxproj.Filters
deleted file mode 100644
index 9737750a..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SYNCSET.vcxproj.Filters
+++ /dev/null
@@ -1,272 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions>
- <UniqueIdentifier>{72226DBB-2FE2-4E91-99A5-A18952A112EB}</UniqueIdentifier>
- </Filter>
- <Filter Include="Header Files">
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- <UniqueIdentifier>{C3708A9B-9215-44CC-96A2-0C0B656486BF}</UniqueIdentifier>
- </Filter>
- <Filter Include="Resource Files">
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions>
- <UniqueIdentifier>{D44A3AF2-69E5-4F32-BC8A-7636FB947722}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="debug.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="devmode.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="globals.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="oemui.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="oemui.rc">
- <Filter>Resource Files</Filter>
- </ResourceCompile>
- </ItemGroup>
- <ItemGroup>
- <None Include="SyncSet.def">
- <Filter>Source Files</Filter>
- </None>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SyncSet.def b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SyncSet.def
deleted file mode 100644
index 68bdffc0..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SyncSet.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY OEMUI
-EXPORTS DllGetClassObject PRIVATE
- DllCanUnloadNow PRIVATE \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/debug.cpp b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/debug.cpp
deleted file mode 100644
index f7a3d842..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/debug.cpp
+++ /dev/null
@@ -1,405 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Debug.cpp
-//
-// PURPOSE: Debug functions.
-//
-//
-
-#include "precomp.h"
-#include "debug.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-////////////////////////////////////////////////////////
-// INTERNAL DEFINES
-////////////////////////////////////////////////////////
-
-#define DEBUG_BUFFER_SIZE 1024
-#define PATH_SEPARATOR '\\'
-#define MAX_LOOP 10
-
-// Determine what level of debugging messages to eject.
-#ifdef VERBOSE_MSG
- #define DEBUG_LEVEL DBG_VERBOSE
-#elif TERSE_MSG
- #define DEBUG_LEVEL DBG_TERSE
-#elif WARNING_MSG
- #define DEBUG_LEVEL DBG_WARNING
-#elif ERROR_MSG
- #define DEBUG_LEVEL DBG_ERROR
-#elif RIP_MSG
- #define DEBUG_LEVEL DBG_RIP
-#elif NO_DBG_MSG
- #define DEBUG_LEVEL DBG_NONE
-#else
- #define DEBUG_LEVEL DBG_WARNING
-#endif
-
-
-
-////////////////////////////////////////////////////////
-// EXTERNAL GLOBALS
-////////////////////////////////////////////////////////
-
-INT giDebugLevel = DEBUG_LEVEL;
-
-
-
-
-////////////////////////////////////////////////////////
-// INTERNAL PROTOTYPES
-////////////////////////////////////////////////////////
-
-static BOOL DebugMessageV(LPCSTR lpszMessage, va_list arglist);
-static BOOL DebugMessageV(DWORD dwSize, LPCWSTR lpszMessage, va_list arglist);
-
-
-
-
-//////////////////////////////////////////////////////////////////////////
-// Function: DebugMessageV
-//
-// Description: Outputs variable argument debug string.
-//
-//
-// Parameters:
-//
-// dwSize Size of temp buffer to hold formated string.
-//
-// lpszMessage Format string.
-//
-// arglist Variable argument list..
-//
-//
-// Returns:
-//
-//
-// Comments:
-//
-//
-//////////////////////////////////////////////////////////////////////////
-
-static BOOL DebugMessageV(LPCSTR lpszMessage, va_list arglist)
-{
- DWORD dwSize = DEBUG_BUFFER_SIZE;
- DWORD dwLoop = 0;
- LPSTR lpszMsgBuf = NULL;
- HRESULT hr;
-
-
- // Parameter checking.
- if( (NULL == lpszMessage)
- ||
- (0 == dwSize)
- )
- {
- return FALSE;
- }
-
- do
- {
- // Allocate memory for message buffer.
- if(NULL != lpszMsgBuf)
- {
- delete[] lpszMsgBuf;
- dwSize *= 2;
- }
- lpszMsgBuf = new CHAR[dwSize + 1];
- if(NULL == lpszMsgBuf)
- {
- return FALSE;
- }
-
- hr = StringCbVPrintfA(lpszMsgBuf, (dwSize + 1) * sizeof(CHAR), lpszMessage, arglist);
-
- // Pass the variable parameters to wvsprintf to be formated.
- } while (FAILED(hr) && (STRSAFE_E_INSUFFICIENT_BUFFER == hr) && (++dwLoop < MAX_LOOP) );
-
- // Dump string to Debug output.
- OutputDebugStringA(lpszMsgBuf);
-
- // Cleanup.
- delete[] lpszMsgBuf;
-
- return SUCCEEDED(hr);
-}
-
-
-//////////////////////////////////////////////////////////////////////////
-// Function: DebugMessageV
-//
-// Description: Outputs variable argument debug string.
-//
-//
-// Parameters:
-//
-// dwSize Size of temp buffer to hold formated string.
-//
-// lpszMessage Format string.
-//
-// arglist Variable argument list..
-//
-//
-// Returns:
-//
-//
-// Comments:
-//
-//
-//////////////////////////////////////////////////////////////////////////
-
-static BOOL DebugMessageV(DWORD dwSize, LPCWSTR lpszMessage, va_list arglist)
-{
- LPWSTR lpszMsgBuf;
- HRESULT hResult;
-
-
- // Parameter checking.
- if( (NULL == lpszMessage)
- ||
- (0 == dwSize)
- )
- {
- return FALSE;
- }
-
- // Allocate memory for message buffer.
- lpszMsgBuf = new WCHAR[dwSize + 1];
- if(NULL == lpszMsgBuf)
- return FALSE;
-
- // Pass the variable parameters to wvsprintf to be formated.
- hResult = StringCbVPrintfW(lpszMsgBuf, (dwSize + 1) * sizeof(WCHAR), lpszMessage, arglist);
-
- // Dump string to debug output.
- OutputDebugStringW(lpszMsgBuf);
-
- // Clean up.
- delete[] lpszMsgBuf;
-
- return SUCCEEDED(hResult);
-}
-
-
-//////////////////////////////////////////////////////////////////////////
-// Function: DebugMessage
-//
-// Description: Outputs variable argument debug string.
-//
-//
-// Parameters:
-//
-// lpszMessage Format string.
-//
-//
-// Returns:
-//
-//
-// Comments:
-//
-//
-//////////////////////////////////////////////////////////////////////////
-
-BOOL DebugMessage(LPCSTR lpszMessage, ...)
-{
- BOOL bResult;
- va_list VAList;
-
-
- // Pass the variable parameters to DebugMessageV for processing.
- va_start(VAList, lpszMessage);
- bResult = DebugMessageV(lpszMessage, VAList);
- va_end(VAList);
-
- return bResult;
-}
-
-
-//////////////////////////////////////////////////////////////////////////
-// Function: DebugMessage
-//
-// Description: Outputs variable argument debug string.
-//
-//
-// Parameters:
-//
-// lpszMessage Format string.
-//
-//
-// Returns:
-//
-//
-// Comments:
-//
-//
-//////////////////////////////////////////////////////////////////////////
-
-BOOL DebugMessage(LPCWSTR lpszMessage, ...)
-{
- BOOL bResult;
- va_list VAList;
-
-
- // Pass the variable parameters to DebugMessageV to be processed.
- va_start(VAList, lpszMessage);
- bResult = DebugMessageV(MAX_PATH, lpszMessage, VAList);
- va_end(VAList);
-
- return bResult;
-}
-
-void Dump(PPUBLISHERINFO pPublisherInfo)
-{
- VERBOSE(TEXT("pPublisherInfo:\r\n"));
- if(NULL == pPublisherInfo)
- {
- VERBOSE(TEXT("\tpPublisherInfo is NULL!\r\n"));
- return;
- }
- VERBOSE(TEXT("\tdwMode = %#x\r\n"), pPublisherInfo->dwMode);
- VERBOSE(TEXT("\twMinoutlinePPEM = %d\r\n"), pPublisherInfo->wMinoutlinePPEM);
- VERBOSE(TEXT("\twMaxbitmapPPEM = %d\r\n"), pPublisherInfo->wMaxbitmapPPEM);
-}
-
-void Dump(POEMDMPARAM pOemDMParam)
-{
- VERBOSE(TEXT("pOemDMParam:\r\n"));
- if(NULL == pOemDMParam)
- {
- VERBOSE(TEXT("\tpOemDMParam is NULL!\r\n"));
- return;
- }
- VERBOSE(TEXT("\tcbSize = %d\r\n"), pOemDMParam->cbSize);
- VERBOSE(TEXT("\tpdriverobj = %#x\r\n"), pOemDMParam->pdriverobj);
- VERBOSE(TEXT("\thPrinter = %#x\r\n"), pOemDMParam->hPrinter);
- VERBOSE(TEXT("\thModule = %#x\r\n"), pOemDMParam->hModule);
- VERBOSE(TEXT("\tpPublicDMIn = %#x\r\n"), pOemDMParam->pPublicDMIn);
- VERBOSE(TEXT("\tpPublicDMOut = %#x\r\n"), pOemDMParam->pPublicDMOut);
- VERBOSE(TEXT("\tpOEMDMIn = %#x\r\n"), pOemDMParam->pOEMDMIn);
- VERBOSE(TEXT("\tpOEMDMOut = %#x\r\n"), pOemDMParam->pOEMDMOut);
- VERBOSE(TEXT("\tcbBufSize = %d\r\n"), pOemDMParam->cbBufSize);
-}
-
-void Dump(PPROPSHEETUI_INFO pPSUIInfo)
-{
- VERBOSE(TEXT("pPSUIInfo:\r\n"));
- if(NULL == pPSUIInfo)
- {
- VERBOSE(TEXT("\tpPSUIInfo is NULL!\r\n"));
- return;
- }
- VERBOSE(TEXT("\tcbSize = %d\r\n"), pPSUIInfo->cbSize);
- VERBOSE(TEXT("\tVersion = %#x\r\n"), pPSUIInfo->Version);
- VERBOSE(TEXT("\tFlags = %#x\r\n"), pPSUIInfo->Flags);
- VERBOSE(TEXT("\tReason = %d\r\n"), pPSUIInfo->Reason);
- VERBOSE(TEXT("\thComPropSheet = %#x\r\n"), pPSUIInfo->hComPropSheet);
- VERBOSE(TEXT("\tpfnComPropSheet = %#x\r\n"), pPSUIInfo->pfnComPropSheet);
- VERBOSE(TEXT("\tlParamInit = %#x\r\n"), pPSUIInfo->lParamInit);
- VERBOSE(TEXT("\tUserData = %#x\r\n"), pPSUIInfo->UserData);
- VERBOSE(TEXT("\tResult = %#x\r\n"), pPSUIInfo->Result);
-}
-
-void Dump(POPTITEM pOptItem)
-{
- VERBOSE(TEXT("pOptItem:\r\n"));
- if(NULL == pOptItem)
- {
- VERBOSE(TEXT("\tpOptItem is NULL!\r\n"));
- return;
- }
- VERBOSE(TEXT("\tcbSize = %d\r\n"), pOptItem->cbSize);
- VERBOSE(TEXT("\tLevel = %d\r\n"), pOptItem->Level);
- VERBOSE(TEXT("\tDlgPageIdx = %d\r\n"), pOptItem->DlgPageIdx);
- VERBOSE(TEXT("\tFlags = 0x%x\r\n"), pOptItem->Flags);
- VERBOSE(TEXT("\tUserData = 0x%p\r\n"), pOptItem->UserData);
- VERBOSE(TEXT("\tpName = %s\r\n"), pOptItem->pName ? pOptItem->pName : TEXT("<NULL>"));
- VERBOSE(TEXT("\tpSel = 0x%p\r\n"), pOptItem->pSel);
- VERBOSE(TEXT("\tpExtChkBox = 0x%p\r\n"), pOptItem->pExtChkBox);
- VERBOSE(TEXT("\tpExtChkBox = 0x%p\r\n"), pOptItem->pExtChkBox);
- VERBOSE(TEXT("\tHelpIndex = 0x%x\r\n"), pOptItem->HelpIndex);
- VERBOSE(TEXT("\tDMPubID = 0x%x\r\n"), pOptItem->DMPubID);
- VERBOSE(TEXT("\tUserItemID = 0x%x\r\n"), pOptItem->UserItemID);
- VERBOSE(TEXT("\twReserved = 0x%x\r\n"), pOptItem->wReserved);
- VERBOSE(TEXT("\tpOIExt = 0x%p\r\n"), pOptItem->pOIExt);
-
- Dump(pOptItem->pOptType);
-}
-
-void Dump(POPTTYPE pOptType)
-{
- VERBOSE(TEXT("\tpOptType:\r\n"));
- if(NULL == pOptType)
- {
- VERBOSE(TEXT("\t\tpOptType is NULL!\r\n"));
- return;
- }
- VERBOSE(TEXT("\t\tcbSize = %d\r\n"), pOptType->cbSize);
- VERBOSE(TEXT("\t\tType = 0x%x\r\n"), pOptType->Type);
- VERBOSE(TEXT("\t\tFlags = 0x%x\r\n"), pOptType->Flags);
- VERBOSE(TEXT("\t\tCount = %d\r\n"), pOptType->Count);
- VERBOSE(TEXT("\t\tCount = 0x%x\r\n"), pOptType->BegCtrlID);
- VERBOSE(TEXT("\t\tStyle = 0x%x\r\n"), pOptType->Style);
-
- Dump(pOptType->pOptParam, pOptType->Count);
-}
-
-void Dump(POPTPARAM pOptParam, WORD wCount)
-{
- if(NULL == pOptParam)
- {
- VERBOSE(TEXT("\t\tpOptParam is NULL!\r\n"));
- return;
- }
-
- for(WORD wIndex = 0; wIndex < wCount; ++wIndex)
- {
- VERBOSE(TEXT("\t\tpOptParam[wIndex]:\r\n"));
- VERBOSE(TEXT("\t\t\tcbSize = %d\r\n"), pOptParam[wIndex].cbSize);
- VERBOSE(TEXT("\t\t\tFlags = 0x%x\r\n"), pOptParam[wIndex].Flags);
- VERBOSE(TEXT("\t\t\tStyle = 0x%x\r\n"), pOptParam[wIndex].Style);
- VERBOSE(TEXT("\t\t\tpData = 0x%p\r\n"), pOptParam[wIndex].pData);
- VERBOSE(TEXT("\t\t\tIconID = 0x%p\r\n"), pOptParam[wIndex].IconID);
- VERBOSE(TEXT("\t\t\tlParam = 0x%p\r\n"), pOptParam[wIndex].lParam);
- }
-}
-
-
-PCSTR
-StripDirPrefixA(
- IN PCSTR pstrFilename
- )
-
-/*++
-
-Routine Description:
-
- Strip the directory prefix off a filename (ANSI version)
-
-Arguments:
-
- pstrFilename - Pointer to filename string
-
-Return Value:
-
- Pointer to the last component of a filename (without directory prefix)
-
---*/
-
-{
- PCSTR pstr;
-
- pstr = strrchr(pstrFilename, PATH_SEPARATOR);
- if (pstr)
- return pstr + 1;
-
- return pstrFilename;
-}
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/debug.h
deleted file mode 100644
index b4d57b0b..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/debug.h
+++ /dev/null
@@ -1,166 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Debug.H
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debugging functions.
-//
-//
-
-#pragma once
-
-// VC and Build use different debug defines.
-// The following makes it so either will
-// cause the inclusion of debugging code.
-#if !defined(_DEBUG) && defined(DBG)
- #define _DEBUG DBG
-#elif defined(_DEBUG) && !defined(DBG)
- #define DBG _DEBUG
-#endif
-
-
-
-/////////////////////////////////////////////////////////
-// Macros
-/////////////////////////////////////////////////////////
-
-//
-// These macros are used for debugging purposes. They expand
-// to white spaces on a free build. Here is a brief description
-// of what they do and how they are used:
-//
-// giDebugLevel
-// Global variable which set the current debug level to control
-// the amount of debug messages emitted.
-//
-// VERBOSE(msg)
-// Display a message if the current debug level is <= DBG_VERBOSE.
-//
-// TERSE(msg)
-// Display a message if the current debug level is <= DBG_TERSE.
-//
-// WARNING(msg)
-// Display a message if the current debug level is <= DBG_WARNING.
-// The message format is: WRN filename (linenumber): message
-//
-// ERR(msg)
-// Similiar to WARNING macro above - displays a message
-// if the current debug level is <= DBG_ERROR.
-//
-// ASSERT(cond)
-// Verify a condition is true. If not, force a breakpoint.
-//
-// ASSERTMSG(cond, msg)
-// Verify a condition is true. If not, display a message and
-// force a breakpoint.
-//
-// RIP(msg)
-// Display a message and force a breakpoint.
-//
-// Usage:
-// These macros require extra parantheses for the msg argument
-// example, ASSERTMSG(x > 0, ("x is less than 0\n"));
-// WARNING(("App passed NULL pointer, ignoring...\n"));
-//
-
-#define DBG_VERBOSE 1
-#define DBG_TERSE 2
-#define DBG_WARNING 3
-#define DBG_ERROR 4
-#define DBG_RIP 5
-#define DBG_NONE 6
-
-#if DBG
-
- #define DebugMsg DebugMessage
-
- //
- // Strip the directory prefix from a filename (ANSI version)
- //
-
- PCSTR
- StripDirPrefixA(
- IN PCSTR pstrFilename
- );
-
- extern INT giDebugLevel;
-
-
- #define DBGMSG(level, prefix, msg) { \
- if (giDebugLevel <= (level)) { \
- DebugMsg("%s %s (%d): ", prefix, StripDirPrefixA(__FILE__), __LINE__); \
- DebugMsg(msg); \
- } \
- }
-
- #define DBGPRINT(level, msg) { \
- if (giDebugLevel <= (level)) { \
- DebugMsg(msg); \
- } \
- }
-
- #define VERBOSE if(giDebugLevel <= DBG_VERBOSE) DebugMsg
- #define TERSE if(giDebugLevel <= DBG_TERSE) DebugMsg
- #define WARNING if(giDebugLevel <= DBG_WARNING) DebugMsg
- #define ERR if(giDebugLevel <= DBG_ERROR) DebugMsg
-
- #define ASSERT(cond) { \
- if (! (cond)) { \
- RIP(("\n")); \
- } \
- }
-
- #define ASSERTMSG(cond, msg) { \
- if (! (cond)) { \
- RIP(msg); \
- } \
- }
-
- #define RIP(msg) { \
- DBGMSG(DBG_RIP, "RIP", msg); \
- DebugBreak(); \
- }
-
-
-#else // !DBG
-
- #define DebugMsg NOP_FUNCTION
-
- #define VERBOSE NOP_FUNCTION
- #define TERSE NOP_FUNCTION
- #define WARNING NOP_FUNCTION
- #define ERR NOP_FUNCTION
-
- #define ASSERT(cond)
-
- #define ASSERTMSG(cond, msg)
- #define RIP(msg)
- #define DBGMSG(level, prefix, msg)
- #define DBGPRINT(level, msg)
-
-#endif
-
-
-
-
-/////////////////////////////////////////////////////////
-// ProtoTypes
-/////////////////////////////////////////////////////////
-
-BOOL DebugMessage(LPCSTR, ...);
-BOOL DebugMessage(LPCWSTR, ...);
-void Dump(PPUBLISHERINFO pPublisherInfo);
-void Dump(POEMDMPARAM pOemDMParam);
-void Dump(PPROPSHEETUI_INFO pPSUIInfo);
-void Dump(POPTITEM pOptItem);
-void Dump(POPTTYPE pOptType);
-void Dump(POPTPARAM pOptParam, WORD wCount);
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/devmode.cpp
deleted file mode 100644
index 2a19310c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/devmode.cpp
+++ /dev/null
@@ -1,214 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.cpp
-//
-//
-// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules.
-//
-
-#include "precomp.h"
-#include "oemui.h"
-#include "debug.h"
-#include "devmode.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-//
-//Performs operation on UI Plugins Private DevMode Members.
-//Called via IOemUI::DevMode
-//
-
-HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam)
-{
- POEMDEV pOEMDevIn;
- POEMDEV pOEMDevOut;
-
-
- // Verify parameters.
- if( (NULL == pOemDMParam)
- ||
- ( (OEMDM_SIZE != dwMode)
- &&
- (OEMDM_DEFAULT != dwMode)
- &&
- (OEMDM_CONVERT != dwMode)
- &&
- (OEMDM_MERGE != dwMode)
- )
- )
- {
- ERR(ERRORTEXT("DevMode() ERROR_INVALID_PARAMETER.\r\n"));
- VERBOSE(DLLTEXT("\tdwMode = %d, pOemDMParam = %#lx.\r\n"), dwMode, pOemDMParam);
-
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Cast generic (i.e. PVOID) to OEM private devomode pointer type.
- pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn;
- pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut;
-
- switch(dwMode)
- {
- //
- //The Method should return the size of the memory allocation needed to store the UI plugin Private DEVMODE.
- //
- case OEMDM_SIZE:
- pOemDMParam->cbBufSize = sizeof(OEMDEV);
- break;
-
- //
- //Should fill the Private DEVMODE with the default values.
- //
- case OEMDM_DEFAULT:
- //
- //OEM_DMEXTRAHEADER Members
- //
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
-
- //
- //Private members
- //
- pOEMDevOut->dwDriverData = 0;
- pOEMDevOut->dwAdvancedData = 0;
-
- VERBOSE(DLLTEXT("pOEMDevOut after setting default values:\r\n"));
- Dump(pOEMDevOut);
- break;
-
- //
- //The method should convert private DEVMODE members to the current version, if necessary.
- //
- case OEMDM_CONVERT:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- break;
-
- //
- //The method should validate the information contained in private DEVMODE members and merge validated values into a private DEVMODE structure containing default values
- //
- case OEMDM_MERGE:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- MakeOEMDevmodeValid(pOEMDevOut);
- break;
- }
- Dump(pOemDMParam);
-
- return S_OK;
-}
-
-
-BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut)
-{
- if( (NULL == pOEMDevIn)
- ||
- (NULL == pOEMDevOut)
- )
- {
- ERR(ERRORTEXT("ConvertOEMDevmode() invalid parameters.\r\n"));
- return FALSE;
- }
-
- // Check OEM Signature, if it doesn't match ours,
- // then just assume DMIn is bad and use defaults.
- if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature)
- {
- VERBOSE(DLLTEXT("Converting private OEM Devmode.\r\n"));
- VERBOSE(DLLTEXT("pOEMDevIn:\r\n"));
- Dump(pOEMDevIn);
-
- // Set the devmode defaults so that anything the isn't copied over will
- // be set to the default value.
- pOEMDevOut->dwDriverData = 0;
- pOEMDevOut->dwAdvancedData = 0;
-
- // Copy the old structure in to the new using which ever size is the smaller.
- // Devmode maybe from newer Devmode (not likely since there is only one), or
- // Devmode maybe a newer Devmode, in which case it maybe larger,
- // but the first part of the structure should be the same.
-
- // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to;
- // the fields that are in the DEVMODE never change only new fields get added to the end.
-
- memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize));
-
- // Re-fill in the size and version fields to indicated
- // that the DEVMODE is the current private DEVMODE version.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- }
- else
- {
- WARNING(DLLTEXT("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n"));
-
- // Don't know what the input DEVMODE is, so just use defaults.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- pOEMDevOut->dwDriverData = 0;
- pOEMDevOut->dwAdvancedData = 0;
- }
-
- return TRUE;
-}
-
-
-BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode)
-{
- if(NULL == pOEMDevmode)
- {
- return FALSE;
- }
-
- // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure.
-
- // Make sure that dmOEMExtra indicates the current OEMDEV structure.
- pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION;
-
- // Set driver data, if not valid.
- if(pOEMDevmode->dwDriverData > 100)
- {
- pOEMDevmode->dwDriverData = 0;
- }
-
- // Set Advanced driver data, if not valid.
- if(pOEMDevmode->dwAdvancedData > 100)
- {
- pOEMDevmode->dwAdvancedData = 0;
- }
-
- return TRUE;
-}
-
-
-void Dump(PCOEMDEV pOEMDevmode)
-{
- if( (NULL != pOEMDevmode)
- &&
- (pOEMDevmode->dmOEMExtra.dwSize >= sizeof(OEMDEV))
- &&
- (OEM_SIGNATURE == pOEMDevmode->dmOEMExtra.dwSignature)
- )
- {
- VERBOSE(TEXT("\tdmOEMExtra.dwSize = %d\r\n"), pOEMDevmode->dmOEMExtra.dwSize);
- VERBOSE(TEXT("\tdmOEMExtra.dwSignature = %#x\r\n"), pOEMDevmode->dmOEMExtra.dwSignature);
- VERBOSE(TEXT("\tdmOEMExtra.dwVersion = %#x\r\n"), pOEMDevmode->dmOEMExtra.dwVersion);
- VERBOSE(TEXT("\tdwDriverData = %#x\r\n"), pOEMDevmode->dwDriverData);
- VERBOSE(TEXT("\tdwAdvancedData = %#x\r\n"), pOEMDevmode->dwAdvancedData);
- }
- else
- {
- ERR(ERRORTEXT("Dump(POEMDEV) unknown private OEM DEVMODE.\r\n"));
- }
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/devmode.h
deleted file mode 100644
index e2f9c6b7..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/devmode.h
+++ /dev/null
@@ -1,57 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.h
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for devmode functions.
-//
-#pragma once
-
-////////////////////////////////////////////////////////
-// OEM Devmode Defines
-////////////////////////////////////////////////////////
-
-
-
-
-////////////////////////////////////////////////////////
-// OEM Devmode Type Definitions
-////////////////////////////////////////////////////////
-
-//
-//Can add info to the private devmode bellow here.
-//Note :
-// This structure must be prefixed by OEM_DMEXTRAHEADER
-// Your plug-in must implement the IPrintOemUI::DevMode method
-//
-typedef struct tagOEMDEV
-{
- OEM_DMEXTRAHEADER dmOEMExtra;
- DWORD dwDriverData;
- DWORD dwAdvancedData;
-
- //
- //Private DevMode Members
- //
-
-} OEMDEV, *POEMDEV;
-
-typedef const OEMDEV *PCOEMDEV;
-
-
-
-/////////////////////////////////////////////////////////
-// ProtoTypes
-/////////////////////////////////////////////////////////
-
-HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam);
-BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut);
-BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode);
-void Dump(PCOEMDEV pOEMDevIn);
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/dllentry.cpp
deleted file mode 100644
index dcac51ef..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/dllentry.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: dllentry.cpp
-//
-// PURPOSE: Source module for DLL entry function(s).
-//
-
-#include "precomp.h"
-#include "oemui.h"
-#include "debug.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-///////////////////////////////////////////////////////////
-//
-// DLL entry point
-//
-BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved)
-{
- UNREFERENCED_PARAMETER(lpReserved);
-
- switch(wReason)
- {
- case DLL_PROCESS_ATTACH:
- VERBOSE(DLLTEXT("Process attach.\r\n"));
- ghInstance = hInst;
- break;
-
- case DLL_THREAD_ATTACH:
- VERBOSE(DLLTEXT("Thread attach.\r\n"));
- break;
-
- case DLL_PROCESS_DETACH:
- VERBOSE(DLLTEXT("Process detach.\r\n"));
- break;
-
- case DLL_THREAD_DETACH:
- VERBOSE(DLLTEXT("Thread detach.\r\n"));
- break;
- }
-
- return TRUE;
-}
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/globals.cpp b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/globals.cpp
deleted file mode 100644
index 9e77a228..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/globals.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Globals.cpp
-//
-//
-// PURPOSE: File that contains all the globals.
-//
-//
-#include "precomp.h"
-
-#include "oemui.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-///////////////////////////////////////
-// Globals
-///////////////////////////////////////
-
-// Module's Instance handle from DLLEntry of process.
-HINSTANCE ghInstance = NULL;
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/globals.h b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/globals.h
deleted file mode 100644
index b6c7d0ee..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/globals.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Globals.h
-//
-//
-// PURPOSE: Lists of globals declared in Globals.cpp.
-//
-//
-#pragma once
-
-///////////////////////////////////////
-// Globals
-///////////////////////////////////////
-
-// Module's Instance handle from DLLEntry of process.
-extern HINSTANCE ghInstance;
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/intrface.cpp
deleted file mode 100644
index 493d36f7..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/intrface.cpp
+++ /dev/null
@@ -1,612 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: intrface.cpp
-//
-// PURPOSE: UI plug-in implementation.
-//
-//
-
-#include "precomp.h"
-
-#include "oemui.h"
-#include "debug.h"
-#include "intrface.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-////////////////////////////////////////////////////////
-// Internal Globals
-////////////////////////////////////////////////////////
-
-static long g_cComponents = 0 ; // Count of active components
-static long g_cServerLocks = 0 ; // Count of locks
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IOemUI body
-//
-IOemUI::~IOemUI()
-{
- // Make sure that helper interface is released.
- if(NULL != m_pOEMHelp)
- {
- m_pOEMHelp->Release();
- m_pOEMHelp = NULL;
- }
-
- // If this instance of the object is being deleted, then the reference
- // count should be zero.
- assert(0 == m_cRef);
-}
-
-HRESULT __stdcall IOemUI::QueryInterface(const IID& iid, void** ppv)
-{
- VERBOSE(DLLTEXT("IOemUI:QueryInterface entry.\r\n\r\n"));
- if (iid == IID_IUnknown)
- {
- *ppv = static_cast<IUnknown*>(this);
- VERBOSE(DLLTEXT("IOemUI:Return pointer to IUnknown.\r\n\r\n"));
- }
- else if (iid == IID_IPrintOemUI)
- {
- *ppv = static_cast<IPrintOemUI*>(this) ;
- VERBOSE(DLLTEXT("IOemUI:Return pointer to IPrintOemUI.\r\n"));
- }
- else
- {
- *ppv = NULL ;
- VERBOSE(DLLTEXT("IOemUI:No Interface. Return NULL.\r\n"));
- return E_NOINTERFACE ;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef() ;
- return S_OK ;
-}
-
-ULONG __stdcall IOemUI::AddRef()
-{
- VERBOSE(DLLTEXT("IOemUI:AddRef entry.\r\n"));
- return InterlockedIncrement(&m_cRef) ;
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IOemUI::Release()
-{
- VERBOSE(DLLTEXT("IOemUI:Release entry.\r\n"));
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-//
-//(Implamentation is required) Supplies a pointer to UNIDRIVE /PScript IPrintOemDriverUI
-//
-HRESULT __stdcall IOemUI::PublishDriverInterface(
- IUnknown *pIUnknown)
-{
- VERBOSE(DLLTEXT("IOemUI:PublishDriverInterface entry.\r\n"));
-
- // Need to store pointer to Driver Helper functions, if we already haven't.
- if (m_pOEMHelp == NULL)
- {
- HRESULT hResult;
-
-
- // Get Interface to Helper Functions.
- hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverUI, (void** ) &(m_pOEMHelp));
-
- if(!SUCCEEDED(hResult))
- {
- // Make sure that interface pointer reflects interface query failure.
- m_pOEMHelp = NULL;
-
- return E_FAIL;
- }
- }
-
- return S_OK;
-}
-
-//
-//(Implamentation is required) Returns the UI Plugin's identification information
-//
-HRESULT __stdcall IOemUI::GetInfo(
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- VERBOSE(DLLTEXT("IOemUI::GetInfo(%d) entry.\r\r\n"), dwMode);
-
- // Validate parameters.
- if( (NULL == pcbNeeded)
- ||
- ( (OEMGI_GETSIGNATURE != dwMode)
- &&
- (OEMGI_GETVERSION != dwMode)
- &&
- (OEMGI_GETPUBLISHERINFO != dwMode)
- )
- )
- {
- WARNING(DLLTEXT("IOemUI::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER\r\r\n"));
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Set expected buffer size and number of bytes written.
- *pcbNeeded = sizeof(DWORD);
-
- // Check buffer size is sufficient.
- if((cbSize < *pcbNeeded) || (NULL == pBuffer))
- {
- WARNING(DLLTEXT("IOemUI::GetInfo() exit insufficient buffer!\r\r\n"));
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- // OEM DLL Signature
- case OEMGI_GETSIGNATURE:
- *(PDWORD)pBuffer = OEM_SIGNATURE;
- break;
-
- // OEM DLL version
- case OEMGI_GETVERSION:
- *(PDWORD)pBuffer = OEM_VERSION;
- break;
-
- // dwMode not supported.
- default:
- // Set written bytes to zero since nothing was written.
- WARNING(DLLTEXT("IOemUI::GetInfo() exit mode not supported.\r\r\n"));
- *pcbNeeded = 0;
- SetLastError(ERROR_NOT_SUPPORTED);
- return E_FAIL;
- }
-
- VERBOSE(DLLTEXT("IOemUI::GetInfo() exit S_OK, (*pBuffer is %#x).\r\r\n"), *(PDWORD)pBuffer);
- return S_OK;
-}
-
-
-//
-//Performs operation on UI Plugins Private DevMode Members.
-//
-HRESULT __stdcall IOemUI::DevMode(
- DWORD dwMode,
- POEMDMPARAM pOemDMParam)
-{
- VERBOSE(DLLTEXT("IOemUI:DevMode(%d, %#x) entry.\r\n"), dwMode, pOemDMParam);
-
- return hrOEMDevMode(dwMode, pOemDMParam);
-}
-
-
-//
-//Allows UI Plugin to Modifiy Existing printer porp sheet and document property sheet page..
-//
-HRESULT __stdcall IOemUI::CommonUIProp(
- DWORD dwMode,
- POEMCUIPPARAM pOemCUIPParam)
-{
- VERBOSE(DLLTEXT("IOemUI:CommonUIProp entry.\r\n"));
-
- //
- //We want to keep this pointer so the we can modifie the data and OPTITEMS from the OEM plugin page.
- //
- m_OemSheetData.pOEMCUIParam = pOemCUIPParam;
- return hrOEMPropertyPage(dwMode, pOemCUIPParam);
-}
-
-
-//
-//Adds a New page to the device Documment property sheet.
-//
-
-HRESULT __stdcall IOemUI::DocumentPropertySheets(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IOemUI:DocumentPropertySheets entry.\r\n"));
-
- return hrOEMDocumentPropertySheets(pPSUIInfo, lParam, m_pOEMHelp);
-}
-
-//
-//Adds a New page to the device printer property page.
-//
-HRESULT __stdcall IOemUI::DevicePropertySheets(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IOemUI:DevicePropertySheets entry.\r\n"));
-
- //
- //Store the This pointer in the OEMSHEETDATA
- //
- m_OemSheetData.pOEMHelp = m_pOEMHelp;
- return hrOEMDevicePropertySheets(pPSUIInfo, lParam, &(m_OemSheetData));
-}
-
-
-//
-//Allows the UI plugin to spec Customized device capabilaties (TODO)
-//
-HRESULT __stdcall IOemUI::DeviceCapabilities(
- POEMUIOBJ poemuiobj,
- HANDLE hPrinter,
- _In_ PWSTR pDeviceName,
- WORD wCapability,
- PVOID pOutput,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- DWORD dwOld,
- DWORD *dwResult)
-{
- VERBOSE(DLLTEXT("IOemUI:DeviceCapabilities entry.\r\n"));
-
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(pDeviceName);
- UNREFERENCED_PARAMETER(wCapability);
- UNREFERENCED_PARAMETER(pOutput);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
- UNREFERENCED_PARAMETER(dwOld);
- UNREFERENCED_PARAMETER(dwResult);
-
- return E_NOTIMPL;
-}
-
-
-//
-//Allows the UI plugin to help determine if a print Job is printable.
-//
-HRESULT __stdcall IOemUI::DevQueryPrintEx(
- POEMUIOBJ poemuiobj,
- PDEVQUERYPRINT_INFO pDQPInfo,
- PDEVMODE pPublicDM,
- PVOID pOEMDM)
-{
- VERBOSE(DLLTEXT("IOemUI:DevQueryPrintEx entry.\r\n"));
-
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(pDQPInfo);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
-
- return E_NOTIMPL;
-}
-
-
-//
-//Allows the UI Plugin to upgrade its dev options stored in the registry.
-//
-HRESULT __stdcall IOemUI::UpgradePrinter(
- DWORD dwLevel,
- PBYTE pDriverUpgradeInfo)
-{
- VERBOSE(DLLTEXT("IOemUI:UpgradePrinter entry.\r\n"));
-
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(pDriverUpgradeInfo);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI::PrinterEvent(
- _In_ PWSTR pPrinterName,
- INT iDriverEvent,
- DWORD dwFlags,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IOemUI:PrinterEvent entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pPrinterName);
- UNREFERENCED_PARAMETER(iDriverEvent);
- UNREFERENCED_PARAMETER(dwFlags);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI::DriverEvent(
- DWORD dwDriverEvent,
- DWORD dwLevel,
- LPBYTE pDriverInfo,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IOemUI:DriverEvent entry.\r\n"));
-
- UNREFERENCED_PARAMETER(dwDriverEvent);
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(pDriverInfo);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-};
-
-
-#define PROFILE_NAME L"OEMPROFILE.icm\0"
-
-HRESULT __stdcall IOemUI::QueryColorProfile(
- HANDLE hPrinter,
- POEMUIOBJ poemuiobj,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- ULONG ulQueryMode,
- VOID *pvProfileData,
- ULONG *pcbProfileData,
- FLONG *pflProfileData)
-{
- HRESULT Result = E_FAIL;
-
- VERBOSE(DLLTEXT("IOemUI:QueryColorProfile entry.\r\n"));
-
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
-
- if(QCP_DEVICEPROFILE == ulQueryMode)
- {
- if(NULL == pvProfileData)
- {
- *pcbProfileData = sizeof(PROFILE_NAME);
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- }
- else
- {
- if(*pcbProfileData < sizeof(PROFILE_NAME))
- {
- *pcbProfileData = sizeof(PROFILE_NAME);
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- }
- else
- {
- Result = StringCbCopy((LPWSTR)pvProfileData, *pcbProfileData, PROFILE_NAME);
- *pcbProfileData = sizeof(PROFILE_NAME);
- *pflProfileData = QCP_PROFILEDISK;
-
- if(FAILED(Result))
- {
- SetLastError(Result);
- }
- }
- }
- }
-
- return Result;
-};
-
-HRESULT __stdcall IOemUI::FontInstallerDlgProc(
- HWND hWnd,
- UINT usMsg,
- WPARAM wParam,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IOemUI:FontInstallerDlgProc entry.\r\n"));
-
- UNREFERENCED_PARAMETER(hWnd);
- UNREFERENCED_PARAMETER(usMsg);
- UNREFERENCED_PARAMETER(wParam);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-};
-
-HRESULT __stdcall IOemUI::UpdateExternalFonts(
- HANDLE hPrinter,
- HANDLE hHeap,
- _In_ PWSTR pwstrCartridges)
-{
- VERBOSE(DLLTEXT("IOemUI:UpdateExternalFonts entry.\r\n"));
-
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(hHeap);
- UNREFERENCED_PARAMETER(pwstrCartridges);
-
- return E_NOTIMPL;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// oem class factory
-//
-class IOemCF : public IClassFactory
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- // *** IClassFactory methods ***
- STDMETHOD(CreateInstance) (THIS_
- LPUNKNOWN pUnkOuter,
- REFIID riid,
- LPVOID FAR* ppvObject);
- STDMETHOD(LockServer) (THIS_ BOOL bLock);
-
-
- // Constructor
- IOemCF(): m_cRef(1) { };
- ~IOemCF() { };
-
-protected:
- LONG m_cRef;
-
-};
-
-///////////////////////////////////////////////////////////
-//
-// Class factory body
-//
-HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv)
-{
- if ((iid == IID_IUnknown) || (iid == IID_IClassFactory))
- {
- *ppv = static_cast<IOemCF*>(this) ;
- }
- else
- {
- *ppv = NULL ;
- return E_NOINTERFACE ;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef() ;
- return S_OK ;
-}
-
-ULONG __stdcall IOemCF::AddRef()
-{
- return InterlockedIncrement(&m_cRef) ;
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IOemCF::Release()
-{
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-// IClassFactory implementation
-HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter,
- const IID& iid,
- void** ppv)
-{
- //DbgPrint(DLLTEXT("Class factory:\t\tCreate component.")) ;
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Cannot aggregate.
- if (pUnknownOuter != NULL)
- {
- return CLASS_E_NOAGGREGATION ;
- }
-
- // Create component.
- IOemUI* pOemCB = new IOemUI ;
- if (pOemCB == NULL)
- {
- return E_OUTOFMEMORY ;
- }
- // Get the requested interface.
- HRESULT hr = pOemCB->QueryInterface(iid, ppv) ;
-
- // Release the IUnknown pointer.
- // (If QueryInterface failed, component will delete itself.)
- pOemCB->Release() ;
- return hr ;
-}
-
-// LockServer
-HRESULT __stdcall IOemCF::LockServer(BOOL bLock)
-{
- if (bLock)
- {
- InterlockedIncrement(&g_cServerLocks) ;
- }
- else
- {
- InterlockedDecrement(&g_cServerLocks) ;
- }
- return S_OK ;
-}
-
-///////////////////////////////////////////////////////////
-//
-// Exported functions
-//
-
-
-// Can DLL unload now?
-//
-STDAPI DllCanUnloadNow()
-{
- //
- // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers
- // are unloaded, Unidrv and Pscript driver ignore the return value of
- // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL.
- //
- // If OEM DLL spins off a working thread that also uses the OEM DLL, the
- // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise
- // it may crash after Unidrv or Pscript calls FreeLibrary.
- //
-
- if ((g_cComponents == 0) && (g_cServerLocks == 0))
- {
- return S_OK ;
- }
- else
- {
- return S_FALSE;
- }
-}
-
-//
-// Get class factory
-//
-STDAPI DllGetClassObject(
- _In_ REFCLSID clsid,
- _In_ REFIID iid,
- _Outptr_ LPVOID* ppv)
-{
- VERBOSE(DLLTEXT("DllGetClassObject:Create class factory.\r\n"));
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Can we create this component?
- if (clsid != CLSID_OEMUI)
- {
- return CLASS_E_CLASSNOTAVAILABLE ;
- }
-
- // Create class factory.
- IOemCF* pFontCF = new IOemCF ; // Reference count set to 1
- // in constructor
- if (pFontCF == NULL)
- {
- return E_OUTOFMEMORY ;
- }
-
- // Get requested interface.
- HRESULT hr = pFontCF->QueryInterface(iid, ppv) ;
- pFontCF->Release() ;
-
- return hr ;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/intrface.h
deleted file mode 100644
index 6ec38f73..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/intrface.h
+++ /dev/null
@@ -1,192 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: intrface.h
-//
-// PURPOSE: UI plug-in definition.
-//
-//
-#pragma once
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IOemUI
-//
-class IOemUI: public IPrintOemUI
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- //
- // Method for publishing Driver interface.
- //
- STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown);
-
- //
- // Get OEM dll related information
- //
-
- STDMETHOD(GetInfo) (THIS_ DWORD dwMode, PVOID pBuffer, DWORD cbSize,
- PDWORD pcbNeeded);
-
- //
- // OEMDevMode
- //
-
- STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) ;
-
- //
- // OEMCommonUIProp
- //
-
- STDMETHOD(CommonUIProp) (THIS_
- DWORD dwMode,
- POEMCUIPPARAM pOemCUIPParam
- );
-
- //
- // OEMDocumentPropertySheets
- //
-
- STDMETHOD(DocumentPropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
- //
- // OEMDevicePropertySheets
- //
-
- STDMETHOD(DevicePropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
-
- //
- // OEMDevQueryPrintEx
- //
-
- STDMETHOD(DevQueryPrintEx) (THIS_
- POEMUIOBJ poemuiobj,
- PDEVQUERYPRINT_INFO pDQPInfo,
- PDEVMODE pPublicDM,
- PVOID pOEMDM
- );
-
- //
- // OEMDeviceCapabilities
- //
-
- STDMETHOD(DeviceCapabilities) (THIS_
- POEMUIOBJ poemuiobj,
- HANDLE hPrinter,
- _In_ PWSTR pDeviceName,
- WORD wCapability,
- PVOID pOutput,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- DWORD dwOld,
- DWORD *dwResult
- );
-
- //
- // OEMUpgradePrinter
- //
-
- STDMETHOD(UpgradePrinter) (THIS_
- DWORD dwLevel,
- PBYTE pDriverUpgradeInfo
- );
-
- //
- // OEMPrinterEvent
- //
-
- STDMETHOD(PrinterEvent) (THIS_
- _In_ PWSTR pPrinterName,
- INT iDriverEvent,
- DWORD dwFlags,
- LPARAM lParam
- );
-
- //
- // OEMDriverEvent
- //
-
- STDMETHOD(DriverEvent)(THIS_
- DWORD dwDriverEvent,
- DWORD dwLevel,
- LPBYTE pDriverInfo,
- LPARAM lParam
- );
-
- //
- // OEMQueryColorProfile
- //
-
- STDMETHOD(QueryColorProfile) (THIS_
- HANDLE hPrinter,
- POEMUIOBJ poemuiobj,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- ULONG ulReserved,
- VOID *pvProfileData,
- ULONG *pcbProfileData,
- FLONG *pflProfileData);
-
- //
- // OEMFontInstallerDlgProc
- //
-
- STDMETHOD(FontInstallerDlgProc) (THIS_
- HWND hWnd,
- UINT usMsg,
- WPARAM wParam,
- LPARAM lParam
- );
- //
- // UpdateExternalFonts
- //
-
- STDMETHOD(UpdateExternalFonts) (THIS_
- HANDLE hPrinter,
- HANDLE hHeap,
- _In_ PWSTR pwstrCartridges
- );
-
- IOemUI()
- {
- m_cRef = 1;
- m_pOEMHelp = NULL;
- m_OemSheetData.pfnComPropSheet = NULL;
- m_OemSheetData.pOEMCUIParam=NULL;
- m_OemSheetData.hComPropSheet=INVALID_HANDLE_VALUE;
- m_OemSheetData.hmyPlugin=INVALID_HANDLE_VALUE;
- };
-
- ~IOemUI();
-
-protected:
- LONG m_cRef;
- IPrintOemDriverUI* m_pOEMHelp;
-
- //
- //Used to link common ui in device settings tab and the OEM plugin tab.
- //
- OEMSHEETDATA m_OemSheetData;
-};
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oem.h b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oem.h
deleted file mode 100644
index daad3e27..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oem.h
+++ /dev/null
@@ -1,24 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: oem.h
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debug.cpp.
-//
-
-#pragma once
-
-////////////////////////////////////////////////////////
-// OEM Defines
-////////////////////////////////////////////////////////
-
-#define OEM_SIGNATURE 'MSFT'
-#define OEM_VERSION 0x00000001L
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.cpp b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.cpp
deleted file mode 100644
index 5802a776..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.cpp
+++ /dev/null
@@ -1,1099 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: OEMUI.cpp
-//
-// PURPOSE: Main file for OEM UI test module.
-//
-
-#include "precomp.h"
-#include "resource.h"
-#include "debug.h"
-#include "oemui.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-////////////////////////////////////////////////////////
-// INTERNAL MACROS and DEFINES
-////////////////////////////////////////////////////////
-
-typedef struct _tagCBUserData
-{
- HANDLE hComPropSheet;
- HANDLE hPropPage;
- POEMUIPSPARAM pOEMUIParam;
- PFNCOMPROPSHEET pfnComPropSheet;
-
-} CBUSERDATA, *PCBUSERDATA;
-
-
-////////////////////////////////////////////////////////
-// INTERNAL PROTOTYPES
-////////////////////////////////////////////////////////
-
-static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam);
-static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam);
-
-LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam);
-LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam);
-LONG APIENTRY OEMDocUICallBack2(PCPSUICBPARAM pCallbackParam);
-INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam);
-
-void SetOEMUiState (HWND hDlg, POEMSHEETDATA pOEMSheetData);
-void SetOEMCommonDataIntoOptItem (POEMSHEETDATA pOEMSheetData, _In_ PSTR PName, LONG Sel);
-void ChangeOpItem (IPrintOemDriverUI *pIPrintOEMDrvUI, POEMUIOBJ pOEMObj, POPTITEM pOptItem, int iSel);
-POPTITEM FindDrvOptItem (POPTITEM pDrvOptItems, DWORD dwItemCount, _In_ PSTR pKeyWordName, BYTE dmPubID = DMPUB_NONE);
-
-static POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems);
-static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems);
-static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams);
-static PTSTR GetStringResource(HANDLE hHeap, HANDLE hModule, UINT uResource);
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems to display OEM device or document property UI.
-// Called via IOemUI::CommonUIProp
-//
-HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam)
-{
- HRESULT hResult = S_OK;
-
-
- VERBOSE(DLLTEXT("hrOEMPropertyPage(%d) entry.\r\n"), dwMode);
-
- // Validate parameters.
- if( (OEMCUIP_DOCPROP != dwMode)
- &&
- (OEMCUIP_PRNPROP != dwMode)
- )
- {
- ERR(ERRORTEXT("hrOEMPropertyPage() ERROR_INVALID_PARAMETER.\r\n"));
- VERBOSE(DLLTEXT("\tdwMode = %d, pOEMUIParam = %#lx.\r\n"), dwMode, pOEMUIParam);
-
- // Return invalid parameter error.
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- case OEMCUIP_DOCPROP:
- hResult = hrDocumentPropertyPage(dwMode, pOEMUIParam);
- break;
-
- case OEMCUIP_PRNPROP:
- hResult = hrPrinterPropertyPage(dwMode, pOEMUIParam);
- break;
-
- default:
- // Should never reach this!
- ERR(ERRORTEXT("hrOEMPropertyPage() Invalid dwMode, %d"), dwMode);
- SetLastError(ERROR_INVALID_PARAMETER);
- hResult = E_FAIL;
- break;
- }
-
- return hResult;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems to display OEM document property UI.
-//
-static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam)
-{
- UNREFERENCED_PARAMETER(dwMode);
-
- if(NULL == pOEMUIParam->pOEMOptItems)
- {
- // Fill in the number of OptItems to create for OEM document property UI.
- pOEMUIParam->cOEMOptItems = 1;
- VERBOSE(DLLTEXT("hrDocumentPropertyPage() requesting %d number of items.\r\n"), pOEMUIParam->cOEMOptItems);
- }
- else
- {
- POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM;
-
-
- VERBOSE(DLLTEXT("hrDocumentPropertyPage() fill out %d items.\r\n"), pOEMUIParam->cOEMOptItems);
-
- // Init UI Callback reference.
- pOEMUIParam->OEMCUIPCallback = OEMDocUICallBack;
-
- // Init OEMOptItmes.
- InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems);
-
- // Fill out tree view items.
-
- // New section.
- pOEMUIParam->pOEMOptItems[0].Level = 1;
- pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE;
- pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, pOEMUIParam->hModule, IDS_ADV_SECTION);
- pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData;
-
- pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2);
-
- //
- //Setup the Optional Item
- //
- pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100;
- }
-
- return S_OK;
-}
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems to display OEM printer property UI.
-//
-static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam)
-{
- UNREFERENCED_PARAMETER(dwMode);
-
- //
- //This is null the first time the interface is called.
- //
- if(NULL == pOEMUIParam->pOEMOptItems)
- {
- // Fill in the number of OptItems to create for OEM printer property UI.
- pOEMUIParam->cOEMOptItems = 1;
- VERBOSE(DLLTEXT("hrPrinterPropertyPage() requesting %d number of items.\r\n"), pOEMUIParam->cOEMOptItems);
- }
- else
- {
- //
- //This is the second time we are called Now setup the optional items.
- //
- DWORD dwError;
- DWORD dwDeviceValue;
- DWORD dwType;
- DWORD dwNeeded;
-
- VERBOSE(DLLTEXT("hrPrinterPropertyPage() fill out %d items.\r\n"), pOEMUIParam->cOEMOptItems);
-
- //
- //Add OEM Optitem to the Device
- //
-
- // Get device settings value from printer.
- dwError = GetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, &dwType, (PBYTE) &dwDeviceValue,
- sizeof(dwDeviceValue), &dwNeeded);
- if( (ERROR_SUCCESS != dwError)
- ||
- (dwDeviceValue > 100)
- )
- {
- // Failed to get the device value or value is invalid, just use the default.
- dwDeviceValue = 0;
- }
-
- // Init UI Callback reference.
- pOEMUIParam->OEMCUIPCallback = OEMPrinterUICallBack;
-
-
- // Init OEMOptItmes.
- InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems);
-
- // Fill out tree view items.
- // New section.
- pOEMUIParam->pOEMOptItems[0].Level = 1;
- pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE;
- pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, pOEMUIParam->hModule, IDS_DEV_SECTION);
- pOEMUIParam->pOEMOptItems[0].Sel = dwDeviceValue;
-
- pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2);
-
- //
- //Setup the Optional Item
- //
- pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100;
-
-
- }
- return S_OK;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Adds property page to Document property sheet. Called via IOemUI::DocumentPropertySheets
-//
-HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam,
- IPrintOemDriverUI* pOEMHelp)
-{
- LONG_PTR lResult = 0;
- HRESULT hrResult = S_OK;
-
- VERBOSE(DLLTEXT("hrOEMDocumentPropertySheets() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pOEMHelp);
-
- // Validate parameters.
- if( (NULL == pPSUIInfo)
- ||
- (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version)
- )
- {
- ERR(ERRORTEXT("hrOEMDocumentPropertySheets() ERROR_INVALID_PARAMETER.\r\n"));
-
- // Return invalid parameter error.
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Do action.
- switch(pPSUIInfo->Reason)
- {
- case PROPSHEETUI_REASON_INIT:
- {
- DWORD dwSheets = 0;
- PCBUSERDATA pUserData;
- POEMUIPSPARAM pOEMUIParam = (POEMUIPSPARAM) pPSUIInfo->lParamInit;
- HANDLE hHeap = pOEMUIParam->hOEMHeap;
- POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM;
- COMPROPSHEETUI Sheet;
-
-
- // Init property page.
- memset(&Sheet, 0, sizeof(COMPROPSHEETUI));
- Sheet.cbSize = sizeof(COMPROPSHEETUI);
- Sheet.Flags = CPSUIF_UPDATE_PERMISSION;
- Sheet.hInstCaller = ghInstance;
- Sheet.pCallerName = GetStringResource(hHeap, ghInstance, IDS_NAME);
- Sheet.pHelpFile = NULL;
- Sheet.pfnCallBack = OEMDocUICallBack2;
- Sheet.pDlgPage = CPSUI_PDLGPAGE_TREEVIEWONLY;
- Sheet.cOptItem = 1;
- Sheet.IconID = IDI_CPSUI_PRINTER;
- Sheet.pOptItemName = GetStringResource(hHeap, ghInstance, IDS_SECTION);
- Sheet.CallerVersion = 0x100;
- Sheet.OptItemVersion = 0x100;
-
- // Init user data.
- pUserData = (PCBUSERDATA) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(CBUSERDATA));
- if (NULL == pUserData)
- {
- ERR(ERRORTEXT("hrOEMDocumentPropertySheets() failed to allocate user data.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- pUserData->hComPropSheet = pPSUIInfo->hComPropSheet;
- pUserData->pfnComPropSheet = pPSUIInfo->pfnComPropSheet;
- pUserData->pOEMUIParam = pOEMUIParam;
- Sheet.UserData = (ULONG_PTR) pUserData;
-
- // Create OptItems for page.
- Sheet.pOptItem = CreateOptItems(hHeap, Sheet.cOptItem);
- if (NULL == Sheet.pOptItem)
- {
- ERR(ERRORTEXT("hrOEMDocumentPropertySheets() failed to allocate OPTITEMs.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- // Initialize OptItems
- Sheet.pOptItem[0].Level = 1;
- Sheet.pOptItem[0].Flags = OPTIF_COLLAPSE;
- Sheet.pOptItem[0].pName = GetStringResource(hHeap, ghInstance, IDS_SECTION);
- Sheet.pOptItem[0].Sel = pOEMDev->dwDriverData;
-
- Sheet.pOptItem[0].pOptType = CreateOptType(hHeap, 2);
- if (NULL == Sheet.pOptItem[0].pOptType)
- {
- ERR(ERRORTEXT("hrOEMDocumentPropertySheets() failed to allocate OPTTYPE.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- //
- //Set the UI prop of this OPTYPE item.
- //
- Sheet.pOptItem[0].pOptType->Type = TVOT_UDARROW;
- Sheet.pOptItem[0].pOptType->pOptParam[1].IconID = 0;
- Sheet.pOptItem[0].pOptType->pOptParam[1].lParam = 100;
-
- // Adds the property sheets.
- lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PCOMPROPSHEETUI,
- (LPARAM)&Sheet, (LPARAM)&dwSheets);
- }
- break;
-
- case PROPSHEETUI_REASON_GET_INFO_HEADER:
- {
- PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam;
-
- pHeader->pTitle = (LPTSTR)PROP_TITLE;
- lResult = TRUE;
- }
- break;
-
- case PROPSHEETUI_REASON_GET_ICON:
- // No icon
- lResult = 0;
- break;
-
- case PROPSHEETUI_REASON_SET_RESULT:
- {
- PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam;
-
- lResult = pInfo->Result;
- }
- break;
-
- case PROPSHEETUI_REASON_DESTROY:
- lResult = TRUE;
- break;
- }
-
-Exit:
-
- pPSUIInfo->Result = lResult;
- return hrResult;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Adds property page to printer property sheet. Called via IOemUI::DevicePropertySheets
-//
-HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, POEMSHEETDATA pOemSheetData)
-{
- LONG_PTR lResult = 0;
-
-
- VERBOSE(DLLTEXT("hrOEMDevicePropertySheets(%#x, %#x) entry\r\n"), pPSUIInfo, lParam);
-
- // Validate parameters.
- if( (NULL == pPSUIInfo)
-
- ||
- (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version)
- )
- {
- ERR(ERRORTEXT("hrOEMDevicePropertySheets() ERROR_INVALID_PARAMETER.\r\n"));
-
- // Return invalid parameter error.
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- Dump(pPSUIInfo);
-
-
- // Do action.
- switch(pPSUIInfo->Reason)
- {
-
- case PROPSHEETUI_REASON_INIT:
- {
- PROPSHEETPAGE Page;
-
- // Init property page.
- memset(&Page, 0, sizeof(PROPSHEETPAGE));
- Page.dwSize = sizeof(PROPSHEETPAGE);
- Page.dwFlags = PSP_DEFAULT;
- Page.hInstance = ghInstance;
- Page.pszTemplate = MAKEINTRESOURCE(IDD_DEVICE_PROPPAGE);
- Page.pfnDlgProc = DevicePropPageProc;
-
- //
- //This is the OEMPlugIN Sheets Shared Data. Use this Pointer to gain access to shared driver data
- //
- pOemSheetData->hComPropSheet = pPSUIInfo->hComPropSheet;
- pOemSheetData->pfnComPropSheet = pPSUIInfo->pfnComPropSheet;
- Page.lParam = (LPARAM)pOemSheetData;
-
- // Add property sheets.
- pOemSheetData->hmyPlugin = (HANDLE)(pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PROPSHEETPAGE, (LPARAM)&Page, 0));
-
- VERBOSE(DLLTEXT("hrOEMDevicePropertySheets() pfnComPropSheet returned %d.\r\n"), pOemSheetData->hmyPlugin);
- }
- break;
-
- case PROPSHEETUI_REASON_GET_INFO_HEADER:
- {
- PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam;
-
- pHeader->pTitle = (LPTSTR)PROP_TITLE;
- lResult = TRUE;
- }
- break;
-
- case PROPSHEETUI_REASON_GET_ICON:
- // No icon
- lResult = 0;
- break;
-
- case PROPSHEETUI_REASON_SET_RESULT:
- {
- PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam;
-
- lResult = pInfo->Result;
- }
- break;
-
- case PROPSHEETUI_REASON_DESTROY:
- lResult = TRUE;
- break;
- }
-
- pPSUIInfo->Result = lResult;
- return S_OK;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// OptItems call back for OEM printer property UI.
-//
-LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam)
-{
- LONG lReturn = CPSUICB_ACTION_NONE;
-
- VERBOSE(DLLTEXT("OEMPrinterUICallBack() entry, Reason is %d.\r\n"), pCallbackParam->Reason);
-
- switch(pCallbackParam->Reason)
- {
- case CPSUICB_REASON_APPLYNOW:
- {
- DWORD dwDriverValue = pOEMUIParam->pOEMOptItems[0].Sel;
-
- //
- // Store OptItems state in printer data.
- //
- SetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, REG_DWORD, (PBYTE) &dwDriverValue, sizeof(DWORD));
- }
- break;
-
- //
- //Because the plugin page is changing items in this CPSUI page we need to rinitalise the data on the page.
- //
- case CPSUICB_REASON_SETACTIVE:
- return CPSUICB_ACTION_OPTIF_CHANGED;
- break;
-
- default:
- break;
- }
-
- return lReturn;
-}
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Call back for OEM device property UI.
-//
-// This OEM plugin page is using the OPTITEMS in the Device tab to store data. (Installabale Options)
-// If you hide these option in the device tab and only access them from your UI you dont have to worry about sync the views.
-// If you want the Options in both tabs you need to have a CPSUICALLBACK function defined for the Device tab. (OEMPrinterUICallBack)
-// OEMPrinterUICallBack will return CPSUICB_ACTION_OPTIF_CHANGED; to indicate that some of the controls have change. Resulting in CPSUI to refresh the view.
-//
-INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam)
-{
-
- VERBOSE(DLLTEXT("DevicePropPageProc() entry, Reason is %d.\r\n"), uiMsg);
-
- POEMSHEETDATA pOEMSheetData = NULL;
- LONG lState = 0;
- DWORD fDataValid = 0;
- WORD dlgControl = 0;
- PSTR pControlName = NULL;
-
-
- if ( uiMsg != WM_INITDIALOG )
- {
- //
- //Retrieves Application data storded by the call to SetWindowLongPtr.
- //
- pOEMSheetData = (POEMSHEETDATA)GetWindowLongPtr( hDlg, DWLP_USER);
-
-
- if (!pOEMSheetData)
- {
- //
- //Failed to get the OEM Prop Page Data Pointer.
- //
- ERR(ERRORTEXT("DevicePropPageProc : GetWindowLongPtr Failed (%d)\r\n"), GetLastError());
- return FALSE;
- }
- }
-
- switch (uiMsg)
- {
- case WM_INITDIALOG:
- //
- //PROPSHEETPAGE structure is passed to the dialog box procedure with a WM_INITDIALOG message.
- //The lParam member is provided to allow you to pass application-specific information to the dialog box procedure
- //
- SetWindowLongPtr (hDlg, DWLP_USER, (LONG_PTR)((LPPROPSHEETPAGE)lParam)->lParam);
- break;
-
- case WM_COMMAND:
- switch(HIWORD(wParam))
- {
-
- case BN_CLICKED:
-
- //
- //Change the UI to activate the apply button Send the prop dailog a change message.
- //
- PropSheet_Changed(GetParent(hDlg), hDlg);
-
- switch(LOWORD(wParam))
- {
-
- //
- //USER modified OEM Controls on the plugin page.
- //
- case IDC_CHECK_DUPLPEX:
- dlgControl = IDC_CHECK_DUPLPEX;
- fDataValid = TRUE;
- pControlName = (PSTR)DUPLEXUNIT;
- break;
-
- case IDC_CHECK_HDRIVE:
- dlgControl = IDC_CHECK_HDRIVE;
- fDataValid = TRUE;
- pControlName = (PSTR)PRINTERHDISK;
- break;
-
- case IDC_CHECK_ENVFEEDER:
- dlgControl = IDC_CHECK_ENVFEEDER;
- fDataValid = TRUE;
- pControlName = (PSTR)ENVFEEDER;
- break;
-
- default:
- fDataValid = 0;
- break;
-
- }
-
- //
- //If the Control is valid Get the ctrl state and UPdate the OPTITEM.
- //
- if ( fDataValid )
- {
- lState = (LONG)(SendDlgItemMessage (hDlg, dlgControl, BM_GETSTATE, 0, 0) & 0x0003);
- VERBOSE(DLLTEXT("DevicePropPageProc : Clicked dlgControl (%d)\r\n"), lState);
-
- //
- //Saves the Data to the OPTITEMS in the device settings page.
- //
- SetOEMCommonDataIntoOptItem (pOEMSheetData, pControlName, lState);
- }
- break;
-
-
- default:
- return FALSE;
- }
- return TRUE;
-
- //
- //Dailog is going to paint set up the UI controls to match the relavent OPTITEMS Data.
- //
- case WM_CTLCOLORDLG:
- {
- VERBOSE(DLLTEXT("DevicePropPageProc : WM_CTLCOLORDLG \r\n"));
- SetOEMUiState (hDlg, pOEMSheetData);
- }
- return TRUE;
-
-
- case WM_NOTIFY:
- {
- switch (((LPNMHDR)lParam)->code) // type of notification message
- {
- case PSN_SETACTIVE:
- return TRUE;
- break;
-
- case PSN_KILLACTIVE:
- return TRUE;
- break;
-
- case PSN_APPLY:
-
- //
- //Calls ComPropSheet
- //causes the ComPropSheet function to pass a specified result value to all PFNPROPSHEETUI-typed functions associated with a specified page and its parents
- //
- pOEMSheetData->pfnComPropSheet(pOEMSheetData->hComPropSheet,
- CPSFUNC_SET_RESULT,
- (LPARAM) pOEMSheetData->hmyPlugin,
- (LPARAM)CPSUI_OK);
-
- //
- //Accept the apply if the data was invalid and you are checking for this set PSNRET_INVALID | PSNRET_INVALID_NOCHANGEPAGE
- //Disables the APPLY button and saves the Data.
- //
- PropSheet_UnChanged(GetParent(hDlg), hDlg);
- SetWindowLongPtr(hDlg,DWLP_MSGRESULT,PSNRET_NOERROR);
- return TRUE;
- break;
-
- //
- // Need To undo the changes
- //
- case PSN_RESET:
- break;
- }
- }
- break;
- }
-
- return FALSE;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Update the OEM page controls to match the Device settings page
-//
-
-void SetOEMUiState (HWND hDlg, POEMSHEETDATA pOEMSheetData)
-{
- LRESULT lstate = 0;
- POEMCUIPPARAM pOEMCUIParam = NULL;
- PUSERDATA pUserData = NULL;
- POPTITEM pOptItem = NULL;
- DWORD cDrvOptItems = 0;
-
-
- if (pOEMSheetData->pOEMCUIParam)
- {
- pOEMCUIParam = pOEMSheetData->pOEMCUIParam;
- cDrvOptItems = pOEMCUIParam->cDrvOptItems;
- }
-
- //
- //loop down the OPITEMS and retrieve the data that is needed from the control
- //(all Optitesm are ref from DMPubID of the UserData->pKeyWordName)
- //
- for (DWORD i=0; i < cDrvOptItems; i++)
- {
- pOptItem = &(pOEMCUIParam->pDrvOptItems[i]);
- if (pOptItem->UserData)
- {
- pUserData = (PUSERDATA)(pOptItem->UserData);
- if ( pUserData->pKeyWordName )
- {
- //
- //Get the Selection of the OPITEM
- //
- if (pOptItem->Sel)
- {
- lstate = BST_CHECKED;
- }
- else
- {
- lstate = BST_UNCHECKED;
- }
-
- //
- //Update the Data in OEM Page to mactch the data in the Device Settings TAB.
- //Send a message to the Cntrol to update its State.
- //
-
- //Set the Duplex Option
- if ( strcmp(pUserData->pKeyWordName, DUPLEXUNIT ) == 0 )
- {
- SendDlgItemMessage (hDlg, IDC_CHECK_DUPLPEX, BM_SETCHECK, lstate, 0);
- }
-
- //Set HardDrive Option
- if ( strcmp (pUserData->pKeyWordName, PRINTERHDISK ) == 0 )
- {
- SendDlgItemMessage (hDlg, IDC_CHECK_HDRIVE, BM_SETCHECK, lstate, 0);
- }
-
- //Set the Env Feeder Option
- if ( strcmp (pUserData->pKeyWordName, ENVFEEDER ) == 0 )
- {
- SendDlgItemMessage (hDlg, IDC_CHECK_ENVFEEDER, BM_SETCHECK, lstate, 0);
- }
- }
- }
- }
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Save the OEM change into the correct OPTITEM.
-// The UI data is been stored in the driver supplied OPTITEM
-//
-void SetOEMCommonDataIntoOptItem (POEMSHEETDATA pOEMSheetData, _In_ PSTR PName, LONG Sel)
-{
-
- VERBOSE(DLLTEXT("SetOEMCommonDataIntoOptItem (%S) \r\n"), PName);
-
- POEMCUIPPARAM pOEMCUIParam = pOEMSheetData->pOEMCUIParam;
- POPTITEM pOptItem = NULL;
-
- //
- //Find the OPTITEM that needs to be Updated.
- //
- pOptItem = FindDrvOptItem (pOEMCUIParam->pDrvOptItems,
- pOEMCUIParam->cDrvOptItems,
- PName,
- DMPUB_NONE);
-
- if (pOptItem)
- {
- ChangeOpItem (pOEMSheetData->pOEMHelp,
- pOEMCUIParam->poemuiobj,
- pOptItem,
- Sel);
- }
- else
- {
- ERR(ERRORTEXT("SetOEMCommonDataIntoOptItem Item Not Found OPTITEM(%S) \r\n"), PName);
- }
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Help Change the data set in the OPTITEM
-//
-void ChangeOpItem (IPrintOemDriverUI *pIPrintOEMDrvUI, POEMUIOBJ pOEMUIObj, POPTITEM pOptItem, int iSel)
-{
- HRESULT hRestult = S_OK;
-
- //
- //Change the Item (Change which OPTPARAM is selected fot the required OPTTYPE)
- //
- pOptItem->Sel = iSel;
-
- //
- //Set the Flag indicating it is changed
- //
- pOptItem->Flags |= OPTIF_CHANGED;
-
- //
- //Update the Driver UI. (this updates the UI but it does not cause CPSUI to update the its pages),
- //Look at OEMPrinterUICallBack to see how CPSUI pages are updated
- //The IPrintOemDriverUI::DrvUpdateUISetting method is provided by the
- //Unidrv and Pscript5 minidrivers so that user interface plug-ins can
- //notify the driver of a modified user interface option.
- //
- hRestult = pIPrintOEMDrvUI->DrvUpdateUISetting((PVOID)pOEMUIObj, (PVOID)pOptItem, 0, OEMCUIP_PRNPROP);
-
- if (hRestult != S_OK)
- {
- ERR(ERRORTEXT("ChangeOpItem DrvUpdateUISetting FAILED \r\n") );
- }
-
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Help Find a OPTITEM from the array based on USERDATA->pKeyWordName or DMPubID
-//
-POPTITEM FindDrvOptItem (POPTITEM pDrvOptItems, DWORD dwItemCount, _In_ PSTR pKeyWordName, BYTE dmPubID )
-{
- VERBOSE(DLLTEXT("FindDrvOptItem Looking (%S) (%d) \r\n"), pKeyWordName, dmPubID);
-
- POPTITEM pOptItem = NULL;
- PUSERDATA pUserData = NULL;
-
- for (DWORD i=0; i < dwItemCount; i++)
- {
- //
- //OPTITEM has valid data compare these now (Search on DMPubID)
- //
- if (pKeyWordName == NULL)
- {
- if (dmPubID == pDrvOptItems[i].DMPubID)
- {
- pOptItem = &(pDrvOptItems[i]);
- break;
- }
- }
- else
- {
- //
- //(Search a printer freature pKeyWordName)
- //
- //For Common Printer Features the key name is set to a common non localised string
- //Note the these are only ansi strings ie PSTR
- //
- if (pDrvOptItems[i].UserData)
- {
- pUserData = (PUSERDATA)pDrvOptItems[i].UserData;
- if (pUserData->pKeyWordName)
- {
- //
- //OPTITEM has valid data compare these now
- //
- if ( strcmp (pUserData->pKeyWordName, pKeyWordName) == 0)
- {
- pOptItem = &(pDrvOptItems[i]);
- break;
- }
- }
- }
- }
- }
-
- if (!pOptItem)
- {
- ERR(ERRORTEXT("FindDrvOptItem OPTITEM NOT Found \r\n") );
- }
-
- return pOptItem;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// OptItems call back for OEM document property UI.
-//
-LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam)
-{
- LONG lReturn = CPSUICB_ACTION_NONE;
- POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM;
-
-
- VERBOSE(DLLTEXT("OEMDocUICallBack() entry, Reason is %d.\r\n"), pCallbackParam->Reason);
-
- switch(pCallbackParam->Reason)
- {
- case CPSUICB_REASON_APPLYNOW:
- // Store OptItems state in DEVMODE.
- pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel;
- break;
-
- case CPSUICB_REASON_KILLACTIVE:
- pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel;
- break;
-
- //
- //Refress the Data in the view and tell CPUSI that the data has changed by ret CPSUICB_ACTION_OPTIF_CHANGED
- //
- case CPSUICB_REASON_SETACTIVE:
- if((DWORD)(pOEMUIParam->pOEMOptItems[0].Sel) != pOEMDev->dwAdvancedData)
- {
- pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData;
- pOEMUIParam->pOEMOptItems[0].Flags |= OPTIF_CHANGED;
- lReturn = CPSUICB_ACTION_OPTIF_CHANGED;
- }
- break;
-
- default:
- break;
- }
-
- return lReturn;
-}
-
-
-LONG APIENTRY OEMDocUICallBack2(PCPSUICBPARAM pCallbackParam)
-{
- LONG lReturn = CPSUICB_ACTION_NONE;
- PCBUSERDATA pUserData = (PCBUSERDATA) pCallbackParam->UserData;
- POEMDEV pOEMDev = (POEMDEV) pUserData->pOEMUIParam->pOEMDM;
-
-
- VERBOSE(DLLTEXT("OEMDocUICallBack2() entry, Reason is %d.\r\n"), pCallbackParam->Reason);
-
- switch(pCallbackParam->Reason)
- {
- case CPSUICB_REASON_APPLYNOW:
- pOEMDev->dwDriverData = pCallbackParam->pOptItem[0].Sel;
- pUserData->pfnComPropSheet(pUserData->hComPropSheet, CPSFUNC_SET_RESULT,
- (LPARAM)pUserData->hPropPage,
- (LPARAM)CPSUI_OK);
- break;
-
- case CPSUICB_REASON_KILLACTIVE:
- pOEMDev->dwDriverData = pCallbackParam->pOptItem[0].Sel;
- break;
-
- case CPSUICB_REASON_SETACTIVE:
- if((DWORD)(pCallbackParam->pOptItem[0].Sel) != pOEMDev->dwDriverData)
- {
- pCallbackParam->pOptItem[0].Sel = pOEMDev->dwDriverData;
- pCallbackParam->pOptItem[0].Flags |= OPTIF_CHANGED;
- lReturn = CPSUICB_ACTION_OPTIF_CHANGED;
- }
- break;
-
- default:
- break;
- }
-
- return lReturn;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Creates and Initializes OptItems.
-//
-static POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems)
-{
- POPTITEM pOptItems = NULL;
- SIZE_T sizeOfOptItems = 0;
-
- // Compute the size of memory needed for the OptItems:
- if (SUCCEEDED(SIZETMult(sizeof(OPTITEM), (SIZE_T)dwOptItems, &sizeOfOptItems)))
- {
- // Allocate memory for OptItems;
- pOptItems = (POPTITEM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeOfOptItems);
- if(NULL != pOptItems)
- {
- InitOptItems(pOptItems, dwOptItems);
- }
- else
- {
- ERR(ERRORTEXT("CreateOptItems() failed to allocate memory for OPTITEMs!\r\n"));
- }
- }
- else
- {
- ERR(ERRORTEXT("CreateOptItems() failed to compute necessary memory size for OPTITEMs!\r\n"));
- }
-
- return pOptItems;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems.
-//
-static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems)
-{
- VERBOSE(DLLTEXT("InitOptItems() entry.\r\n"));
-
- // Zero out memory.
- memset(pOptItems, 0, sizeof(OPTITEM) * dwOptItems);
-
- // Set each OptItem's size, and Public DM ID.
- for(DWORD dwCount = 0; dwCount < dwOptItems; dwCount++)
- {
- pOptItems[dwCount].cbSize = sizeof(OPTITEM);
- pOptItems[dwCount].DMPubID = DMPUB_NONE;
- }
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Allocates and initializes OptType for OptItem.
-//
-static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams)
-{
- POPTTYPE pOptType = NULL;
-
-
- VERBOSE(DLLTEXT("CreateOptType() entry.\r\n"));
-
- // Allocate memory from the heap for the OPTTYPE; the driver will take care of clean up.
- pOptType = (POPTTYPE) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OPTTYPE));
- if(NULL != pOptType)
- {
- // Initialize OPTTYPE.
- pOptType->cbSize = sizeof(OPTTYPE);
- pOptType->Count = wOptParams;
-
- // Allocate memory from the heap for the OPTPARAMs for the OPTTYPE.
- pOptType->pOptParam = (POPTPARAM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, wOptParams * sizeof(OPTPARAM));
- if(NULL != pOptType->pOptParam)
- {
- // Initialize the OPTPARAMs.
- for(WORD wCount = 0; wCount < wOptParams; wCount++)
- {
- pOptType->pOptParam[wCount].cbSize = sizeof(OPTPARAM);
- }
- }
- else
- {
- ERR(ERRORTEXT("CreateOptType() failed to allocated memory for OPTPARAMs!\r\n"));
-
- // Free allocated memory and return NULL.
- HeapFree(hHeap, 0, pOptType);
- pOptType = NULL;
- }
- }
- else
- {
- ERR(ERRORTEXT("CreateOptType() failed to allocated memory for OPTTYPE!\r\n"));
- }
-
- return pOptType;
-}
-
-////////////////////////////////////////////////////////////////////////////////////
-//
-// Retrieves pointer to a String resource.
-//
-static PTSTR GetStringResource(HANDLE hHeap, HANDLE hModule, UINT uResource)
-{
- int nResult;
- DWORD dwSize = MAX_PATH;
- PTSTR pszString = NULL;
-
-
- VERBOSE(DLLTEXT("GetStringResource(%#x, %#x, %d) entered.\r\n"), hHeap, hModule, uResource);
-
- // Allocate buffer for string resource from heap; let the driver clean it up.
- pszString = (PTSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize * sizeof(TCHAR));
- if(NULL != pszString)
- {
- // Load string resource; resize after loading so as not to waste memory.
- nResult = LoadString((HMODULE)hModule, uResource, pszString, dwSize);
- if(nResult > 0)
- {
- PTSTR pszTemp;
-
-
- VERBOSE(DLLTEXT("LoadString() returned %d!\r\n"), nResult);
- VERBOSE(DLLTEXT("String load was \"%s\".\r\n"), pszString);
-
- pszTemp = (PTSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pszString, (nResult + 1) * sizeof(TCHAR));
- if(NULL != pszTemp)
- {
- pszString = pszTemp;
- }
- else
- {
- ERR(ERRORTEXT("GetStringResource() HeapReAlloc() of string retrieved failed! (Last Error was %d)\r\n"), GetLastError());
- }
- }
- else
- {
- ERR(ERRORTEXT("LoadString() returned %d! (Last Error was %d)\r\n"), nResult, GetLastError());
- ERR(ERRORTEXT("GetStringResource() failed to load string resource %d!\r\n"), uResource);
-
- pszString = NULL;
- }
- }
- else
- {
- ERR(ERRORTEXT("GetStringResource() failed to allocate string buffer!\r\n"));
- }
-
- return pszString;
-}
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.h b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.h
deleted file mode 100644
index 1c07802f..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.h
+++ /dev/null
@@ -1,74 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: OEMUI.H
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for OEMUI Test Module.
-//
-//
-#pragma once
-
-#include "OEM.H"
-#include "DEVMODE.H"
-#include "globals.h"
-
-////////////////////////////////////////////////////////
-// OEM UI Defines
-////////////////////////////////////////////////////////
-
-
-// OEM Signature and version.
-#define PROP_TITLE L"OEM UI Page"
-#define DLLTEXT(s) __TEXT("UI: ") __TEXT(s)
-
-// OEM UI Misc defines.
-#define ERRORTEXT(s) __TEXT("ERROR ") DLLTEXT(s)
-
-
-// Printer registry keys where OEM data is stored.
-#define OEMUI_VALUE TEXT("OEMUI_VALUE")
-#define OEMUI_DEVICE_VALUE TEXT("OEMUI_DEVICE_VALUE")
-
-//
-//KeyWordNames for OPTITEMS (These are nonlocalised keywords assocaited with driver features. in the OPTITEMS)
-//
-const char DUPLEXUNIT[] = "DuplexUnit";
-const char ENVFEEDER[] = "EnvFeeder";
-const char PRINTERHDISK[] = "PrinterHardDisk";
-
-//
-//This structure is used to link the common pages and the OEM plugin page.
-//
-typedef struct _OEMSHEETDATA {
-
- //
- //Any other OEM Data you may want to store.
- //
-
-
- //
- //Hold Pointers you may need.
- //
- HANDLE hComPropSheet; //Handle to the Prop Sheet Parent Page Used when calling ComPropSheet
- HANDLE hmyPlugin; //Handle to the OEM Plugin page. Page Used when calling ComPropSheet
- PFNCOMPROPSHEET pfnComPropSheet; //Is the Pointer to ComPropSheet This is needed when APPLY is clicked (CPSFUNC_SET_RESULT)
-
- POEMCUIPPARAM pOEMCUIParam; //Holds links to the DEVMODE and OPTITEMS needed.
- IPrintOemDriverUI* pOEMHelp;
-
-} OEMSHEETDATA, *POEMSHEETDATA;
-
-////////////////////////////////////////////////////////
-// Prototypes
-////////////////////////////////////////////////////////
-
-HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam);
-HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, IPrintOemDriverUI* pOEMHelp);
-HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, POEMSHEETDATA pOemSheetData);
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.rc b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.rc
deleted file mode 100644
index e87badbe..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.rc
+++ /dev/null
@@ -1,175 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "Written by Windows Printing & Imaging Team"
- VALUE "CompanyName", "Microsoft Corp."
- VALUE "FileDescription", "OEM UI Test Module."
- VALUE "FileVersion", "1, 0, 0, 1"
- VALUE "InternalName", "OEMUI"
- VALUE "LegalCopyright", "Copyright � 1998 - 2003 Microsoft Corp."
- VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation"
- VALUE "OriginalFilename", "OEMUI.dll"
- VALUE "ProductName", "Microsoft OEMUI"
- VALUE "ProductVersion", "1.1"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""winres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DEVICE_PROPPAGE DIALOG 0, 0, 179, 113
-STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Device Property Page"
-FONT 8, "MS Shell Dialog"
-BEGIN
- GROUPBOX "Oem Install Options",IDC_STATIC,15,29,81,59
- LTEXT "OEM UI Controls",IDC_STATIC,55,14,68,11,WS_TABSTOP
- CONTROL "Duplex Unit",IDC_CHECK_DUPLPEX,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,20,42,54,10
- CONTROL "Printer Hard Drive",IDC_CHECK_HDRIVE,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,20,67,75,10
- CONTROL "Envelope Feeder",IDC_CHECK_ENVFEEDER,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,20,54,71,10
-END
-
-IDD_DOC_PROPPAGE DIALOG 0, 0, 210, 154
-STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Document Property Page"
-FONT 8, "MS Shell Dialog"
-BEGIN
- LTEXT "OEM UI Document Property Page",IDC_STATIC,60,73,108,8
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO
-BEGIN
- IDD_DEVICE_PROPPAGE, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 170
- TOPMARGIN, 8
- BOTTOMMARGIN, 106
- END
-
- IDD_DOC_PROPPAGE, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 203
- TOPMARGIN, 7
- BOTTOMMARGIN, 147
- END
-END
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE
-BEGIN
- IDS_SECTION "OEM UI Added Item"
- IDS_CALIBRATED "Printer has been calibrated."
- IDS_NAME "OEM UI Customization DLL"
- IDS_DEV_SECTION "Device Settings OEM UI Added Item"
- IDS_ADV_SECTION "Advanced OEM UI Added Item"
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/precomp.h
deleted file mode 100644
index 2d502998..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/precomp.h
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-//
-// PURPOSE: Header files that should be in the precompiled header.
-//
-//
-
-#pragma once
-
-
-// Necessary for compiling under VC.
-#if(!defined(WINVER) || (WINVER < 0x0500))
- #undef WINVER
- #define WINVER 0x0500
-#endif
-#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500))
- #undef _WIN32_WINNT
- #define _WIN32_WINNT 0x0500
-#endif
-
-
-// Required header files that shouldn't change often.
-
-
-#include <STDDEF.H>
-#include <STDLIB.H>
-#include <OBJBASE.H>
-#include <STDARG.H>
-#include <STDIO.H>
-#include <WINDEF.H>
-#include <WINERROR.H>
-#include <WINBASE.H>
-#include <WINGDI.H>
-#include <WINDDI.H>
-#include <WINSPOOL.H>
-#include <TCHAR.H>
-#include <EXCPT.H>
-#include <ASSERT.H>
-#include <PRSHT.H>
-#include <COMPSTUI.H>
-#include <WINDDIUI.H>
-#include <PRINTOEM.H>
-#include <INITGUID.H>
-#include <PRCOMOEM.H>
-
-// Safe integer functions to detect integer overflow/underflow conditions:
-#include <intsafe.h>
-
-// Include this last to disallow
-// unsafe string functions
-#include <strsafe.h>
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/precompsrc.cpp
deleted file mode 100644
index 5944cf51..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/precompsrc.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "precomp.h" \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/resource.h
deleted file mode 100644
index aacf0218..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/resource.h
+++ /dev/null
@@ -1,28 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by oemui.rc
-//
-#define IDS_SECTION 1
-#define IDS_CALIBRATED 2
-#define IDS_NAME 3
-#define IDS_HELPFILE 4
-#define IDS_DEV_SECTION 5
-#define IDS_ADV_SECTION 10
-#define IDD_DEVICE_PROPPAGE 106
-#define IDD_DOC_PROPPAGE 107
-#define IDC_CALIBRATE 1001
-#define IDC_RADIO3 1004
-#define IDC_CHECK_DUPLPEX 1008
-#define IDC_CHECK_HDRIVE 1009
-#define IDC_CHECK_ENVFEEDER 1010
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 103
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1011
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/OEMUI.rc b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/OEMUI.rc
deleted file mode 100644
index a6491905..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/OEMUI.rc
+++ /dev/null
@@ -1,169 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "Written by Windows Printing & Imaging Team"
- VALUE "CompanyName", "Microsoft Corp."
- VALUE "FileDescription", "OEM UI Test Module."
- VALUE "FileVersion", "1, 0, 0, 1"
- VALUE "InternalName", "OEMUI"
- VALUE "LegalCopyright", "Copyright � 1998 - 2003 Microsoft Corp."
- VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation"
- VALUE "OriginalFilename", "OEMUI.dll"
- VALUE "ProductName", "Microsoft OEMUI"
- VALUE "ProductVersion", "1.1"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""winres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DEVICE_PROPPAGE DIALOG 0, 0, 179, 113
-STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Device Property Page"
-FONT 8, "MS Shell Dialog"
-BEGIN
- LTEXT "OEM UI Added Page",IDC_STATIC,55,14,68,11
- PUSHBUTTON "Calibrate",IDC_CALIBRATE,61,34,50,14
-END
-
-IDD_DOC_PROPPAGE DIALOG 0, 0, 210, 154
-STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Document Property Page"
-FONT 8, "MS Shell Dialog"
-BEGIN
- LTEXT "OEM UI Document Property Page",IDC_STATIC,60,73,108,8
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO
-BEGIN
- IDD_DEVICE_PROPPAGE, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 172
- TOPMARGIN, 8
- BOTTOMMARGIN, 106
- END
-
- IDD_DOC_PROPPAGE, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 203
- TOPMARGIN, 7
- BOTTOMMARGIN, 147
- END
-END
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE
-BEGIN
- IDS_SECTION "OEM UI Added Item"
- IDS_CALIBRATED "Printer has been calibrated."
- IDS_NAME "OEM UI Customization DLL"
- IDS_DEV_SECTION "Device Settings OEM UI Added Item"
- IDS_ADV_SECTION "Advanced OEM UI Added Item"
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUI.Manifest b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUI.Manifest
deleted file mode 100644
index bb48af65..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUI.Manifest
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
-<assemblyIdentity
- version=SXS_ASSEMBLY_VERSION
- processorArchitecture=SXS_PROCESSOR_ARCHITECTURE
- name=SXS_ASSEMBLY_NAME
- type="win32"
-/>
-<description>Your app description here</description>
-<dependency>
- <dependentAssembly>
- <assemblyIdentity
- type="win32"
- name="Microsoft.Windows.Common-Controls"
- version="6.0.0.0"
- processorArchitecture=SXS_PROCESSOR_ARCHITECTURE
- publicKeyToken="6595b64144ccf1df"
- language="*"
- />
- </dependentAssembly>
-</dependency>
-</assembly>
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUISmpl.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUISmpl.vcxproj
deleted file mode 100644
index 4abfd7bb..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUISmpl.vcxproj
+++ /dev/null
@@ -1,1120 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Win10 Debug|ARM64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|Win32">
- <Configuration>Win10 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|x64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|ARM64">
- <Configuration>Win10 Release</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|Win32">
- <Configuration>Win10 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|x64">
- <Configuration>Win10 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|Win32">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|Win32">
- <Configuration>Win8 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|Win32">
- <Configuration>Win7 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|Win32">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|Win32">
- <Configuration>Win8 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|Win32">
- <Configuration>Win7 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|x64">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|x64">
- <Configuration>Win8 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|x64">
- <Configuration>Win7 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|x64">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|x64">
- <Configuration>Win8 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|x64">
- <Configuration>Win7 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{EA206DEA-26E6-4FD4-BF68-23F222C5E211}</ProjectGuid>
- <RootNamespace>$(MSBuildProjectName)</RootNamespace>
- <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration>
- <Platform Condition="'$(Platform)' == ''">Win32</Platform>
- <SampleGuid>{7ABB810D-F51B-46DA-8A6C-6883AF316932}</SampleGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <PropertyGroup>
- <OutDir>$(IntDir)</OutDir>
- </PropertyGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ItemGroup Label="WrappedTaskItems" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetName>ThemeUISmpl</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetName>ThemeUISmpl</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetName>ThemeUISmpl</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <TargetName>ThemeUISmpl</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <TargetName>ThemeUISmpl</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetName>ThemeUISmpl</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetName>ThemeUISmpl</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetName>ThemeUISmpl</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <TargetName>ThemeUISmpl</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <TargetName>ThemeUISmpl</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetName>ThemeUISmpl</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetName>ThemeUISmpl</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetName>ThemeUISmpl</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <TargetName>ThemeUISmpl</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetName>ThemeUISmpl</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetName>ThemeUISmpl</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetName>ThemeUISmpl</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <TargetName>ThemeUISmpl</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions>
- </ResourceCompile>
- </ItemDefinitionGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Link>
- <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Link>
- <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Link>
- <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <Link>
- <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <Link>
- <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <Link>
- <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="devmode.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="fusutils.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="globals.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="OEMUI.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Create</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ResourceCompile Include="OEMUI.rc" />
- </ItemGroup>
- <ItemGroup>
- <Inf Exclude="@(Inf)" Include="*.inf" />
- <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" />
- </ItemGroup>
- <ItemGroup>
- <None Exclude="@(None)" Include="*.txt;*.htm;*.html" />
- <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" />
- <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUISmpl.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUISmpl.vcxproj.Filters
deleted file mode 100644
index d8206354..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUISmpl.vcxproj.Filters
+++ /dev/null
@@ -1,327 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions>
- <UniqueIdentifier>{18CF118F-704E-4B55-9621-B0D2F73CBFBE}</UniqueIdentifier>
- </Filter>
- <Filter Include="Header Files">
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- <UniqueIdentifier>{44047F2E-3DA5-4847-BAE3-6573B04506AF}</UniqueIdentifier>
- </Filter>
- <Filter Include="Resource Files">
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions>
- <UniqueIdentifier>{695ECF76-7AFF-4B2D-A4E5-2138B4CC5B5A}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="devmode.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="fusutils.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="globals.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="OEMUI.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="fusutils.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oem.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="OEMUI.rc">
- <Filter>Resource Files</Filter>
- </ResourceCompile>
- </ItemGroup>
- <ItemGroup>
- <None Include="themeuismpl.def">
- <Filter>Source Files</Filter>
- </None>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/debug.h
deleted file mode 100644
index 0414569c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/debug.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Debug.H
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debugging functions. Also defines the various debug macros.
-//
-//
-
-#pragma once
-
-/////////////////////////////////////////////////////////
-// Macros
-/////////////////////////////////////////////////////////
-//
-// These macros are used for debugging purposes. They expand
-// to white spaces on a free build. Here is a brief description
-// of what they do and how they are used:
-//
-// giDebugLevel
-// Global variable which set the current debug level to control
-// the amount of debug messages emitted.
-//
-// WARNING(msg)
-// Display a message if the current debug level is <= DBG_WARNING.
-// The message format is: WRN filename (linenumber): message
-//
-// ERR(msg)
-// Similiar to WARNING macro above - displays a message
-// if the current debug level is <= DBG_ERROR.
-//
-// ASSERT(cond)
-// Verify a condition is true. If not, force a breakpoint.
-//
-// RIP(msg)
-// Display a message and force a breakpoint.
-//
-// Usage:
-// WARNING("App passed NULL pointer, ignoring...\n");
-//
-
-#define DBG_VERBOSE 0
-#define DBG_WARNING 1
-#define DBG_ERROR 2
-#define DBG_NONE 3
-
-// VC and Build use different debug defines.
-#if defined (DBG) || defined (_DEBUG)
-
- // __declspec(selectany) ensures that even if this is defined in multiple compilation
- // modules, they will all resolve to the same symbol in the linked DLL
- __declspec(selectany) INT giDebugLevel = 2;
-
- #define STRINGIZE(x) #x
- #define QUOTE(x) STRINGIZE(x)
- #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__)
-
- #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); }
- #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); }
- #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); }
- #define ASSERT(cond) { if (!(cond)) RIP("\n"); }
- #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); }
-
-#else // !DBG
-
- #define VERBOSE(msg)
- #define WARNING(msg)
- #define ERR(msg)
- #define ASSERT(cond)
- #define RIP(msg)
-
-#endif
-
-
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/devmode.cpp
deleted file mode 100644
index 15234361..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/devmode.cpp
+++ /dev/null
@@ -1,187 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.cpp
-//
-//
-// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules.
-//
-
-
-#include "precomp.h"
-#include "oemui.h"
-#include "debug.h"
-#include "devmode.h"
-
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-//
-//Performs operation on UI Plugins Private DevMode Members.
-//Called via IOemUI::DevMode
-//
-
-HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam)
-{
- POEMDEV pOEMDevIn;
- POEMDEV pOEMDevOut;
-
-
- // Verify parameters.
- if( (NULL == pOemDMParam)
- ||
- ( (OEMDM_SIZE != dwMode)
- &&
- (OEMDM_DEFAULT != dwMode)
- &&
- (OEMDM_CONVERT != dwMode)
- &&
- (OEMDM_MERGE != dwMode)
- )
- )
- {
- ERR(DLLTEXT("DevMode() ERROR_INVALID_PARAMETER.\r\n"));
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Cast generic (i.e. PVOID) to OEM private devomode pointer type.
- pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn;
- pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut;
-
- switch(dwMode)
- {
- //
- //The Method should return the size of the memory allocation needed to store the UI plugin Private DEVMODE.
- //
- case OEMDM_SIZE:
- pOemDMParam->cbBufSize = sizeof(OEMDEV);
- break;
-
- //
- //Should fill the Private DEVMODE with the default values.
- //
- case OEMDM_DEFAULT:
- //
- //OEM_DMEXTRAHEADER Members
- //
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
-
- //
- //Private members
- //
- pOEMDevOut->dwDriverData = 0;
- pOEMDevOut->dwAdvancedData = 0;
-
- VERBOSE(DLLTEXT("pOEMDevOut after setting default values:\r\n"));
- break;
-
- //
- //The method should convert private DEVMODE members to the current version, if necessary.
- //
- case OEMDM_CONVERT:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- break;
-
- //
- //The method should validate the information contained in private DEVMODE members and merge validated values into a private DEVMODE structure containing default values
- //
- case OEMDM_MERGE:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- MakeOEMDevmodeValid(pOEMDevOut);
- break;
- }
-
- return S_OK;
-}
-
-
-BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut)
-{
- if( (NULL == pOEMDevIn)
- ||
- (NULL == pOEMDevOut)
- )
- {
- ERR(DLLTEXT("ConvertOEMDevmode() invalid parameters.\r\n"));
- return FALSE;
- }
-
- // Check OEM Signature, if it doesn't match ours,
- // then just assume DMIn is bad and use defaults.
- if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature)
- {
- VERBOSE(DLLTEXT("Converting private OEM Devmode.\r\n"));
- VERBOSE(DLLTEXT("pOEMDevIn:\r\n"));
-
- // Set the devmode defaults so that anything the isn't copied over will
- // be set to the default value.
- pOEMDevOut->dwDriverData = 0;
- pOEMDevOut->dwAdvancedData = 0;
-
- // Copy the old structure in to the new using which ever size is the smaller.
- // Devmode maybe from newer Devmode (not likely since there is only one), or
- // Devmode maybe a newer Devmode, in which case it maybe larger,
- // but the first part of the structure should be the same.
-
- // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to;
- // the fields that are in the DEVMODE never change only new fields get added to the end.
-
- memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize));
-
- // Re-fill in the size and version fields to indicated
- // that the DEVMODE is the current private DEVMODE version.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- }
- else
- {
- WARNING(DLLTEXT("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n"));
-
- // Don't know what the input DEVMODE is, so just use defaults.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- pOEMDevOut->dwDriverData = 0;
- pOEMDevOut->dwAdvancedData = 0;
- }
-
- return TRUE;
-}
-
-
-BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode)
-{
- if(NULL == pOEMDevmode)
- {
- return FALSE;
- }
-
- // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure.
-
- // Make sure that dmOEMExtra indicates the current OEMDEV structure.
- pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION;
-
- // Set driver data, if not valid.
- if(pOEMDevmode->dwDriverData > 100)
- {
- pOEMDevmode->dwDriverData = 0;
- }
-
- // Set Advanced driver data, if not valid.
- if(pOEMDevmode->dwAdvancedData > 100)
- {
- pOEMDevmode->dwAdvancedData = 0;
- }
-
- return TRUE;
-}
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/devmode.h
deleted file mode 100644
index b55fb016..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/devmode.h
+++ /dev/null
@@ -1,55 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.h
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for devmode functions.
-//
-#pragma once
-
-////////////////////////////////////////////////////////
-// OEM Devmode Defines
-////////////////////////////////////////////////////////
-
-
-
-
-////////////////////////////////////////////////////////
-// OEM Devmode Type Definitions
-////////////////////////////////////////////////////////
-
-//
-//Can add info to the private devmode bellow here.
-//Note :
-// This structure must be prefixed by OEM_DMEXTRAHEADER
-// Your plug-in must implement the IPrintOemUI::DevMode method
-//
-typedef struct tagOEMDEV
-{
- OEM_DMEXTRAHEADER dmOEMExtra;
- DWORD dwDriverData;
- DWORD dwAdvancedData;
-
- //
- //Private DevMode Members
- //
-
-} OEMDEV, *POEMDEV;
-
-typedef const OEMDEV *PCOEMDEV;
-
-
-
-/////////////////////////////////////////////////////////
-// ProtoTypes
-/////////////////////////////////////////////////////////
-
-HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam);
-BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut);
-BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode);
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/dllentry.cpp
deleted file mode 100644
index a7c846b7..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/dllentry.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: dllentry.cpp
-//
-//
-// PURPOSE: Source module for DLL entry function(s).
-//
-
-#include "precomp.h"
-#include "oemui.h"
-#include "fusutils.h"
-#include "debug.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-///////////////////////////////////////////////////////////
-//
-// DLL entry point
-//
-BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved)
-{
- UNREFERENCED_PARAMETER(lpReserved);
-
- switch(wReason)
- {
- case DLL_PROCESS_ATTACH:
- VERBOSE(DLLTEXT("Process attach.\r\n"));
-
- // Store the module handle in case we need it later.
- ghInstance = hInst;
-
- // NOTE: We don't create an Activation Context on module load,
- // but on need of an Avtivation Context; the first time
- // GetMyActivationContext() or CreateMyActivationContext() is called.
- break;
-
- case DLL_THREAD_ATTACH:
- VERBOSE(DLLTEXT("Thread attach.\r\n"));
- break;
-
- case DLL_PROCESS_DETACH:
- VERBOSE(DLLTEXT("Process detach.\r\n"));
-
- // Release the Activation Context if we created one somewhere
- // by calling GetMyActivationContext() or CreateMyActivationContext();
- if(INVALID_HANDLE_VALUE != ghActCtx)
- {
- ReleaseActCtx(ghActCtx);
- ghActCtx = INVALID_HANDLE_VALUE;
- }
- break;
-
- case DLL_THREAD_DETACH:
- VERBOSE(DLLTEXT("Thread detach.\r\n"));
- break;
- }
-
- return TRUE;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/fusutils.cpp b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/fusutils.cpp
deleted file mode 100644
index 0f9bf2c3..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/fusutils.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: fsutils.h
-//
-//
-// PURPOSE: Fusion utilities
-//
-
-#include "precomp.h"
-#include "globals.h"
-#include "fusutils.h"
-
-#define MAX_LOOP 10
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-HANDLE GetMyActivationContext()
-{
- // Make sure we've created our activation context.
- CreateMyActivationContext();
-
- // Return the global.
- return ghActCtx;
-}
-
-
-BOOL CreateMyActivationContext()
-{
- if(INVALID_HANDLE_VALUE != ghActCtx)
- {
- return TRUE;
- }
-
- ghActCtx = CreateActivationContextFromResource(ghInstance, MAKEINTRESOURCE(MANIFEST_RESOURCE));
-
- return (INVALID_HANDLE_VALUE != ghActCtx);
-}
-
-
-
-HANDLE CreateActivationContextFromResource(HMODULE hModule, LPCTSTR pszResourceName)
-{
- DWORD dwSize = MAX_PATH;
- DWORD dwUsed = 0;
- DWORD dwLoop;
- PTSTR pszModuleName = NULL;
- ACTCTX act;
- HANDLE hActCtx = INVALID_HANDLE_VALUE;
-
-
- // Get the name for the module that contains the manifest resource
- // to create the Activation Context from.
- dwLoop = 0;
- do
- {
- // May need to allocate or re-alloc buffer for module name.
- if(NULL != pszModuleName)
- {
- // Need to re-alloc bigger buffer.
-
- // First, delete old buffer.
- delete[] pszModuleName;
-
- // Second, increase buffer alloc size.
- dwSize <<= 1;
- }
- pszModuleName = new TCHAR[dwSize];
- if(NULL == pszModuleName)
- {
- goto Exit;
- }
-
- // Try to get the module name.
- dwUsed = GetModuleFileName(hModule, pszModuleName, dwSize);
-
- // Check to see if it failed.
- if(0 == dwUsed)
- {
- goto Exit;
- }
-
- // If dwUsed is equla to dwSize or larger,
- // the buffer passed in wasn't big enough.
- } while ( (dwUsed >= dwSize) && (++dwLoop < MAX_LOOP) );
-
- // Now let's try to create an activation context
- // from manifest resource.
- ::ZeroMemory(&act, sizeof(act));
- act.cbSize = sizeof(act);
- act.dwFlags = ACTCTX_FLAG_RESOURCE_NAME_VALID;
- act.lpResourceName = pszResourceName;
- act.lpSource = pszModuleName;
-
- hActCtx = CreateActCtx(&act);
-
-
-Exit:
-
- //
- // Clean up.
- //
-
- if(NULL != pszModuleName)
- {
- delete[] pszModuleName;
- }
-
- return hActCtx;
-}
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/fusutils.h b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/fusutils.h
deleted file mode 100644
index 2f79c522..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/fusutils.h
+++ /dev/null
@@ -1,18 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: fsutils.h
-//
-//
-// PURPOSE: Fusion utilities
-//
-#pragma once
-
-HANDLE GetMyActivationContext();
-BOOL CreateMyActivationContext();
-HANDLE CreateActivationContextFromResource(HMODULE hModule, LPCTSTR pszResourceName);
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/globals.cpp b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/globals.cpp
deleted file mode 100644
index d2af1b8b..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/globals.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Globals.cpp
-//
-//
-// PURPOSE: File that contains all the globals.
-//
-
-#include "precomp.h"
-#include "globals.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-///////////////////////////////////////
-// Globals
-///////////////////////////////////////
-
-
-// Module's Instance handle from DLLEntry of process.
-HINSTANCE ghInstance = NULL;
-
-// Module's Activation Context from DLLEntry of process.
-HANDLE ghActCtx = INVALID_HANDLE_VALUE;
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/globals.h b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/globals.h
deleted file mode 100644
index a5a58cb8..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/globals.h
+++ /dev/null
@@ -1,21 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Globals.h
-//
-//
-// PURPOSE: Lists of globals declared in Globals.cpp.
-//
-#pragma once
-
-///////////////////////////////////////
-// Globals
-///////////////////////////////////////
-
-extern HINSTANCE ghInstance; // Module's Instance handle from DLLEntry of process.
-extern HANDLE ghActCtx; // Module's Activation Context from DLLEntry of process.
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/intrface.cpp
deleted file mode 100644
index 3b966a58..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/intrface.cpp
+++ /dev/null
@@ -1,575 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.cpp
-//
-//
-// PURPOSE: Implementation of interface for PScript4, PScript5, Unidrv4,
-// Unidrv5 UI plug-ins.
-//
-
-#include "precomp.h"
-
-#include "oemui.h"
-#include "debug.h"
-#include "intrface.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-////////////////////////////////////////////////////////
-// Internal Globals
-////////////////////////////////////////////////////////
-
-static long g_cComponents = 0 ; // Count of active components
-static long g_cServerLocks = 0 ; // Count of locks
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IOemUI body
-//
-IOemUI::~IOemUI()
-{
- // Make sure that helper interface is released.
- if(NULL != m_pOEMHelp)
- {
- m_pOEMHelp->Release();
- m_pOEMHelp = NULL;
- }
-
- // If this instance of the object is being deleted, then the reference
- // count should be zero.
- assert(0 == m_cRef);
-}
-
-HRESULT __stdcall IOemUI::QueryInterface(const IID& iid, void** ppv)
-{
- VERBOSE(DLLTEXT("IOemUI:QueryInterface entry.\r\n\r\n"));
- if (iid == IID_IUnknown)
- {
- *ppv = static_cast<IUnknown*>(this);
- VERBOSE(DLLTEXT("IOemUI:Return pointer to IUnknown.\r\n\r\n"));
- }
- else if (iid == IID_IPrintOemUI)
- {
- *ppv = static_cast<IPrintOemUI*>(this) ;
- VERBOSE(DLLTEXT("IOemUI:Return pointer to IPrintOemUI.\r\n"));
- }
- else
- {
- VERBOSE(DLLTEXT("IOemUI::QueryInterface interface not supported.\r\n"));
- *ppv = NULL ;
- return E_NOINTERFACE ;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef() ;
- return S_OK ;
-}
-
-ULONG __stdcall IOemUI::AddRef()
-{
- VERBOSE(DLLTEXT("IOemUI:AddRef entry.\r\n"));
- return InterlockedIncrement(&m_cRef) ;
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IOemUI::Release()
-{
- VERBOSE(DLLTEXT("IOemUI:Release entry.\r\n"));
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-HRESULT __stdcall IOemUI::PublishDriverInterface(
- IUnknown *pIUnknown)
-{
- VERBOSE(DLLTEXT("IOemUI:PublishDriverInterface entry.\r\n"));
-
- // Need to store pointer to Driver Helper functions, if we already haven't.
- if (m_pOEMHelp == NULL)
- {
- HRESULT hResult;
-
-
- // Get Interface to Helper Functions.
- hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverUI, (void** ) &(m_pOEMHelp));
-
- if(!SUCCEEDED(hResult))
- {
- // Make sure that interface pointer reflects interface query failure.
- m_pOEMHelp = NULL;
-
- return E_FAIL;
- }
- }
-
- return S_OK;
-}
-
-HRESULT __stdcall IOemUI::GetInfo(
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- VERBOSE(DLLTEXT("IOemUI::GetInfo entry.\r\r\n"));
-
- // Validate parameters.
- if( (NULL == pcbNeeded)
- ||
- ( (OEMGI_GETSIGNATURE != dwMode)
- &&
- (OEMGI_GETVERSION != dwMode)
- &&
- (OEMGI_GETPUBLISHERINFO != dwMode)
- )
- )
- {
- WARNING(DLLTEXT("IOemUI::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER\r\r\n"));
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Set expected buffer size and number of bytes written.
- *pcbNeeded = sizeof(DWORD);
-
- // Check buffer size is sufficient.
- if((cbSize < *pcbNeeded) || (NULL == pBuffer))
- {
- WARNING(DLLTEXT("IOemUI::GetInfo() exit insufficient buffer!\r\r\n"));
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- // OEM DLL Signature
- case OEMGI_GETSIGNATURE:
- *(PDWORD)pBuffer = OEM_SIGNATURE;
- break;
-
- // OEM DLL version
- case OEMGI_GETVERSION:
- *(PDWORD)pBuffer = OEM_VERSION;
- break;
-
- // dwMode not supported.
- default:
- // Set written bytes to zero since nothing was written.
- WARNING(DLLTEXT("IOemUI::GetInfo() exit mode not supported.\r\r\n"));
- *pcbNeeded = 0;
- SetLastError(ERROR_NOT_SUPPORTED);
- return E_FAIL;
- }
-
- VERBOSE(DLLTEXT("IOemUI::GetInfo() exit S_OK.\r\r\n"));
- return S_OK;
-}
-
-HRESULT __stdcall IOemUI::DevMode(
- DWORD dwMode,
- POEMDMPARAM pOemDMParam)
-{
- VERBOSE(DLLTEXT("IOemUI:DevMode entry.\r\n"));
-
- return hrOEMDevMode(dwMode, pOemDMParam);
-}
-
-HRESULT __stdcall IOemUI::CommonUIProp(
- DWORD dwMode,
- POEMCUIPPARAM pOemCUIPParam)
-{
- VERBOSE(DLLTEXT("IOemUI:CommonUIProp entry.\r\n"));
-
- return hrOEMPropertyPage(dwMode, pOemCUIPParam);
-}
-
-
-HRESULT __stdcall IOemUI::DocumentPropertySheets(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IOemUI:DocumentPropertySheets entry.\r\n"));
-
- return hrOEMDocumentPropertySheets(pPSUIInfo, lParam, m_pOEMHelp);
-}
-
-HRESULT __stdcall IOemUI::DevicePropertySheets(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IOemUI:DevicePropertySheets entry.\r\n"));
-
- return hrOEMDevicePropertySheets(pPSUIInfo, lParam);
-}
-
-HRESULT __stdcall IOemUI::DeviceCapabilities(
- POEMUIOBJ poemuiobj,
- HANDLE hPrinter,
- _In_ PWSTR pDeviceName,
- WORD wCapability,
- PVOID pOutput,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- DWORD dwOld,
- DWORD *dwResult)
-{
- VERBOSE(DLLTEXT("IOemUI:DeviceCapabilities entry.\r\n"));
-
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(pDeviceName);
- UNREFERENCED_PARAMETER(wCapability);
- UNREFERENCED_PARAMETER(pOutput);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
- UNREFERENCED_PARAMETER(dwOld);
- UNREFERENCED_PARAMETER(dwResult);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI::DevQueryPrintEx(
- POEMUIOBJ poemuiobj,
- PDEVQUERYPRINT_INFO pDQPInfo,
- PDEVMODE pPublicDM,
- PVOID pOEMDM)
-{
- VERBOSE(DLLTEXT("IOemUI:DevQueryPrintEx entry.\r\n"));
-
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(pDQPInfo);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI::UpgradePrinter(
- DWORD dwLevel,
- PBYTE pDriverUpgradeInfo)
-{
- VERBOSE(DLLTEXT("IOemUI:UpgradePrinter entry.\r\n"));
-
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(pDriverUpgradeInfo);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI::PrinterEvent(
- _In_ PWSTR pPrinterName,
- INT iDriverEvent,
- DWORD dwFlags,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IOemUI:PrinterEvent entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pPrinterName);
- UNREFERENCED_PARAMETER(iDriverEvent);
- UNREFERENCED_PARAMETER(dwFlags);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI::DriverEvent(
- DWORD dwDriverEvent,
- DWORD dwLevel,
- LPBYTE pDriverInfo,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IOemUI:DriverEvent entry.\r\n"));
-
- UNREFERENCED_PARAMETER(dwDriverEvent);
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(pDriverInfo);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-};
-
-
-#define PROFILE_NAME L"OEMPROFILE.icm\0"
-
-HRESULT __stdcall IOemUI::QueryColorProfile(
- HANDLE hPrinter,
- POEMUIOBJ poemuiobj,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- ULONG ulQueryMode,
- VOID *pvProfileData,
- ULONG *pcbProfileData,
- FLONG *pflProfileData)
-{
- HRESULT Result = E_FAIL;
-
-
- VERBOSE(DLLTEXT("IOemUI:QueryColorProfile entry.\r\n"));
-
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
-
- if(QCP_DEVICEPROFILE == ulQueryMode)
- {
- if(NULL == pvProfileData)
- {
- *pcbProfileData = sizeof(PROFILE_NAME);
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- }
- else
- {
- if(*pcbProfileData < sizeof(PROFILE_NAME))
- {
- *pcbProfileData = sizeof(PROFILE_NAME);
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- }
- else
- {
- Result = StringCbCopy((LPWSTR)pvProfileData, *pcbProfileData, PROFILE_NAME);
- *pcbProfileData = sizeof(PROFILE_NAME);
- *pflProfileData = QCP_PROFILEDISK;
-
- if(FAILED(Result))
- {
- SetLastError(Result);
- }
- }
- }
- }
-
- return Result;
-};
-
-HRESULT __stdcall IOemUI::FontInstallerDlgProc(
- HWND hWnd,
- UINT usMsg,
- WPARAM wParam,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IOemUI:FontInstallerDlgProc entry.\r\n"));
-
- UNREFERENCED_PARAMETER(hWnd);
- UNREFERENCED_PARAMETER(usMsg);
- UNREFERENCED_PARAMETER(wParam);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-};
-
-HRESULT __stdcall IOemUI::UpdateExternalFonts(
- HANDLE hPrinter,
- HANDLE hHeap,
- _In_ PWSTR pwstrCartridges)
-{
- VERBOSE(DLLTEXT("IOemUI:UpdateExternalFonts entry.\r\n"));
-
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(hHeap);
- UNREFERENCED_PARAMETER(pwstrCartridges);
-
- return E_NOTIMPL;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// oem class factory
-//
-class IOemCF : public IClassFactory
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- // *** IClassFactory methods ***
- STDMETHOD(CreateInstance) (THIS_
- LPUNKNOWN pUnkOuter,
- REFIID riid,
- LPVOID FAR* ppvObject);
- STDMETHOD(LockServer) (THIS_ BOOL bLock);
-
-
- // Constructor
- IOemCF(): m_cRef(1) { };
- ~IOemCF() { };
-
-protected:
- LONG m_cRef;
-
-};
-
-///////////////////////////////////////////////////////////
-//
-// Class factory body
-//
-HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv)
-{
- if ((iid == IID_IUnknown) || (iid == IID_IClassFactory))
- {
- *ppv = static_cast<IOemCF*>(this) ;
- }
- else
- {
- WARNING(DLLTEXT("IOemCF::QueryInterface interface not supported.\r\n"));
- *ppv = NULL ;
- return E_NOINTERFACE ;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef() ;
- return S_OK ;
-}
-
-ULONG __stdcall IOemCF::AddRef()
-{
- return InterlockedIncrement(&m_cRef) ;
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IOemCF::Release()
-{
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-// IClassFactory implementation
-HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter,
- const IID& iid,
- void** ppv)
-{
- //DbgPrint(DLLTEXT("Class factory:\t\tCreate component.")) ;
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Cannot aggregate.
- if (pUnknownOuter != NULL)
- {
- return CLASS_E_NOAGGREGATION ;
- }
-
- // Create component.
- IOemUI* pOemCB = new IOemUI ;
- if (pOemCB == NULL)
- {
- return E_OUTOFMEMORY ;
- }
- // Get the requested interface.
- HRESULT hr = pOemCB->QueryInterface(iid, ppv) ;
-
- // Release the IUnknown pointer.
- // (If QueryInterface failed, component will delete itself.)
- pOemCB->Release() ;
- return hr ;
-}
-
-// LockServer
-HRESULT __stdcall IOemCF::LockServer(BOOL bLock)
-{
- if (bLock)
- {
- InterlockedIncrement(&g_cServerLocks) ;
- }
- else
- {
- InterlockedDecrement(&g_cServerLocks) ;
- }
- return S_OK ;
-}
-
-///////////////////////////////////////////////////////////
-//
-// Exported functions
-//
-
-
-// Can DLL unload now?
-//
-STDAPI DllCanUnloadNow()
-{
- //
- // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers
- // are unloaded, Unidrv and Pscript driver ignore the return value of
- // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL.
- //
- // If OEM DLL spins off a working thread that also uses the OEM DLL, the
- // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise
- // it may crash after Unidrv or Pscript calls FreeLibrary.
- //
-
- if ((g_cComponents == 0) && (g_cServerLocks == 0))
- {
- return S_OK ;
- }
- else
- {
- return S_FALSE;
- }
-}
-
-//
-// Get class factory
-//
-STDAPI DllGetClassObject(
- _In_ REFCLSID clsid,
- _In_ REFIID iid,
- _Outptr_ LPVOID* ppv)
-{
- VERBOSE(DLLTEXT("DllGetClassObject:Create class factory.\r\n"));
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Can we create this component?
- if (clsid != CLSID_OEMUI)
- {
- return CLASS_E_CLASSNOTAVAILABLE ;
- }
-
- // Create class factory.
- IOemCF* pFontCF = new IOemCF ; // Reference count set to 1
- // in constructor
- if (pFontCF == NULL)
- {
- return E_OUTOFMEMORY ;
- }
-
- // Get requested interface.
- HRESULT hr = pFontCF->QueryInterface(iid, ppv) ;
- pFontCF->Release() ;
-
- return hr ;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/intrface.h
deleted file mode 100644
index d9bdf3a2..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/intrface.h
+++ /dev/null
@@ -1,179 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.h
-//
-//
-// PURPOSE: Header of interface for PScript5 and Unidrv5 UI plug-in.
-//
-#pragma once
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IOemUI
-//
-class IOemUI: public IPrintOemUI
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- //
- // Method for publishing Driver interface.
- //
- STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown);
-
- //
- // Get OEM dll related information
- //
-
- STDMETHOD(GetInfo) (THIS_ DWORD dwMode, PVOID pBuffer, DWORD cbSize,
- PDWORD pcbNeeded);
-
- //
- // OEMDevMode
- //
-
- STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) ;
-
- //
- // OEMCommonUIProp
- //
-
- STDMETHOD(CommonUIProp) (THIS_
- DWORD dwMode,
- POEMCUIPPARAM pOemCUIPParam
- );
-
- //
- // OEMDocumentPropertySheets
- //
-
- STDMETHOD(DocumentPropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
- //
- // OEMDevicePropertySheets
- //
-
- STDMETHOD(DevicePropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
-
- //
- // OEMDevQueryPrintEx
- //
-
- STDMETHOD(DevQueryPrintEx) (THIS_
- POEMUIOBJ poemuiobj,
- PDEVQUERYPRINT_INFO pDQPInfo,
- PDEVMODE pPublicDM,
- PVOID pOEMDM
- );
-
- //
- // OEMDeviceCapabilities
- //
-
- STDMETHOD(DeviceCapabilities) (THIS_
- POEMUIOBJ poemuiobj,
- HANDLE hPrinter,
- _In_ PWSTR pDeviceName,
- WORD wCapability,
- PVOID pOutput,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- DWORD dwOld,
- DWORD *dwResult
- );
-
- //
- // OEMUpgradePrinter
- //
-
- STDMETHOD(UpgradePrinter) (THIS_
- DWORD dwLevel,
- PBYTE pDriverUpgradeInfo
- );
-
- //
- // OEMPrinterEvent
- //
-
- STDMETHOD(PrinterEvent) (THIS_
- _In_ PWSTR pPrinterName,
- INT iDriverEvent,
- DWORD dwFlags,
- LPARAM lParam
- );
-
- //
- // OEMDriverEvent
- //
-
- STDMETHOD(DriverEvent)(THIS_
- DWORD dwDriverEvent,
- DWORD dwLevel,
- LPBYTE pDriverInfo,
- LPARAM lParam
- );
-
- //
- // OEMQueryColorProfile
- //
-
- STDMETHOD(QueryColorProfile) (THIS_
- HANDLE hPrinter,
- POEMUIOBJ poemuiobj,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- ULONG ulReserved,
- VOID *pvProfileData,
- ULONG *pcbProfileData,
- FLONG *pflProfileData);
-
- //
- // OEMFontInstallerDlgProc
- //
-
- STDMETHOD(FontInstallerDlgProc) (THIS_
- HWND hWnd,
- UINT usMsg,
- WPARAM wParam,
- LPARAM lParam
- );
- //
- // UpdateExternalFonts
- //
-
- STDMETHOD(UpdateExternalFonts) (THIS_
- HANDLE hPrinter,
- HANDLE hHeap,
- _In_ PWSTR pwstrCartridges
- );
-
-
- IOemUI() { m_cRef = 1; m_pOEMHelp = NULL; };
- ~IOemUI();
-
-protected:
- LONG m_cRef;
- IPrintOemDriverUI* m_pOEMHelp;
-};
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oem.h b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oem.h
deleted file mode 100644
index bf3d75f9..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oem.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: oem.h
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debug.cpp.
-//
-#pragma once
-
-////////////////////////////////////////////////////////
-// OEM Defines
-////////////////////////////////////////////////////////
-
-#define OEM_SIGNATURE 'MSFT'
-#define OEM_VERSION 0x00000001L
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oemui.cpp b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oemui.cpp
deleted file mode 100644
index 61f3d378..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oemui.cpp
+++ /dev/null
@@ -1,756 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: OEMUI.cpp
-//
-//
-// PURPOSE: Main file for OEM UI test module.
-//
-//
-
-#include "precomp.h"
-#include "resource.h"
-#include "debug.h"
-#include "fusutils.h"
-#include "oemui.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-////////////////////////////////////////////////////////
-// INTERNAL MACROS and DEFINES
-////////////////////////////////////////////////////////
-
-typedef struct _tagCBUserData
-{
- HANDLE hComPropSheet;
- HANDLE hPropPage;
- POEMUIPSPARAM pOEMUIParam;
- PFNCOMPROPSHEET pfnComPropSheet;
-
-} CBUSERDATA, *PCBUSERDATA;
-
-
-
-////////////////////////////////////////////////////////
-// INTERNAL PROTOTYPES
-////////////////////////////////////////////////////////
-
-static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam);
-static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam);
-LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam);
-LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam);
-LONG APIENTRY OEMDocUICallBack2(PCPSUICBPARAM pCallbackParam);
-INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam);
-static POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems);
-static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems);
-static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams);
-static PTSTR GetStringResource(HANDLE hHeap, HANDLE hModule, UINT uResource);
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems to display OEM device or document property UI.
-//
-HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam)
-{
- HRESULT hResult = S_OK;
-
-
- VERBOSE(DLLTEXT("hrOEMPropertyPage entry.\r\n"));
-
- // Validate parameters.
- if( (OEMCUIP_DOCPROP != dwMode)
- &&
- (OEMCUIP_PRNPROP != dwMode)
- )
- {
- ERR(DLLTEXT("hrOEMPropertyPage() ERROR_INVALID_PARAMETER.\r\n"));
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- case OEMCUIP_DOCPROP:
- hResult = hrDocumentPropertyPage(dwMode, pOEMUIParam);
- break;
-
- case OEMCUIP_PRNPROP:
- hResult = hrPrinterPropertyPage(dwMode, pOEMUIParam);
- break;
-
- default:
- // Should never reach this!
- ERR(DLLTEXT("hrOEMPropertyPage() Invalid dwMode"));
- SetLastError(ERROR_INVALID_PARAMETER);
- hResult = E_FAIL;
- break;
- }
-
- return hResult;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems to display OEM document property UI.
-//
-static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam)
-{
- UNREFERENCED_PARAMETER(dwMode);
-
- if(NULL == pOEMUIParam->pOEMOptItems)
- {
- // Fill in the number of OptItems to create for OEM document property UI.
- pOEMUIParam->cOEMOptItems = 1;
-
- VERBOSE(DLLTEXT("hrDocumentPropertyPage() requesting items.\r\n"));
- }
- else
- {
- POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM;
-
-
- VERBOSE(DLLTEXT("hrDocumentPropertyPage() fill out items.\r\n"));
-
- // Init UI Callback reference.
- pOEMUIParam->OEMCUIPCallback = OEMDocUICallBack;
-
- // Init OEMOptItmes.
- InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems);
-
- // Fill out tree view items.
-
- // New section.
- pOEMUIParam->pOEMOptItems[0].Level = 1;
- pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE;
- pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, pOEMUIParam->hModule, IDS_ADV_SECTION);
- pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData;
-
- pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2);
-
- pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100;
- }
-
- return S_OK;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems to display OEM printer property UI.
-//
-static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam)
-{
- UNREFERENCED_PARAMETER(dwMode);
-
- if(NULL == pOEMUIParam->pOEMOptItems)
- {
- // Fill in the number of OptItems to create for OEM printer property UI.
- pOEMUIParam->cOEMOptItems = 1;
-
- VERBOSE(DLLTEXT("hrPrinterPropertyPage() requesting items.\r\n"));
- }
- else
- {
- DWORD dwError;
- DWORD dwDeviceValue;
- DWORD dwType;
- DWORD dwNeeded;
-
-
- VERBOSE(DLLTEXT("hrPrinterPropertyPage() fill out items.\r\n"));
-
- // Get device settings value from printer.
- dwError = GetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, &dwType, (PBYTE) &dwDeviceValue,
- sizeof(dwDeviceValue), &dwNeeded);
- if( (ERROR_SUCCESS != dwError)
- ||
- (dwDeviceValue > 100)
- )
- {
- // Failed to get the device value or value is invalid, just use the default.
- dwDeviceValue = 0;
- }
-
- // Init UI Callback reference.
- pOEMUIParam->OEMCUIPCallback = OEMPrinterUICallBack;
-
- // Init OEMOptItmes.
- InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems);
-
- // Fill out tree view items.
-
- // New section.
- pOEMUIParam->pOEMOptItems[0].Level = 1;
- pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE;
- pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, pOEMUIParam->hModule, IDS_DEV_SECTION);
- pOEMUIParam->pOEMOptItems[0].Sel = dwDeviceValue;
-
- pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2);
-
- pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100;
- }
-
- return S_OK;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Adds property page to Document property sheet.
-//
-HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam,
- IPrintOemDriverUI* pOEMHelp)
-{
- LONG_PTR lResult = 0;
- HRESULT hrResult = S_OK;
-
- VERBOSE(DLLTEXT("hrOEMDocumentPropertySheets() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pOEMHelp);
-
- // Validate parameters.
- if( (NULL == pPSUIInfo)
- ||
- (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version)
- )
- {
- ERR(DLLTEXT("hrOEMDocumentPropertySheets() ERROR_INVALID_PARAMETER.\r\n"));
-
- // Return invalid parameter error.
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Do action.
- switch(pPSUIInfo->Reason)
- {
- case PROPSHEETUI_REASON_INIT:
- {
- DWORD dwSheets = 0;
- PCBUSERDATA pUserData;
- POEMUIPSPARAM pOEMUIParam = (POEMUIPSPARAM) pPSUIInfo->lParamInit;
- HANDLE hHeap = pOEMUIParam->hOEMHeap;
- POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM;
- COMPROPSHEETUI Sheet;
-
-
- // Init property page.
- memset(&Sheet, 0, sizeof(COMPROPSHEETUI));
- Sheet.cbSize = sizeof(COMPROPSHEETUI);
- Sheet.Flags = CPSUIF_UPDATE_PERMISSION;
- Sheet.hInstCaller = ghInstance;
- Sheet.pCallerName = GetStringResource(hHeap, ghInstance, IDS_NAME);
- Sheet.pHelpFile = NULL;
- Sheet.pfnCallBack = OEMDocUICallBack2;
- Sheet.pDlgPage = CPSUI_PDLGPAGE_TREEVIEWONLY;
- Sheet.cOptItem = 1;
- Sheet.IconID = IDI_CPSUI_PRINTER;
- Sheet.pOptItemName = GetStringResource(hHeap, ghInstance, IDS_SECTION);
- Sheet.CallerVersion = 0x100;
- Sheet.OptItemVersion = 0x100;
-
- // Init user data.
- pUserData = (PCBUSERDATA) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(CBUSERDATA));
- if (NULL == pUserData)
- {
- ERR(DLLTEXT("hrOEMDocumentPropertySheets() failed to allocate user data.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- pUserData->hComPropSheet = pPSUIInfo->hComPropSheet;
- pUserData->pfnComPropSheet = pPSUIInfo->pfnComPropSheet;
- pUserData->pOEMUIParam = pOEMUIParam;
- Sheet.UserData = (ULONG_PTR) pUserData;
-
- // Create OptItems for page.
- Sheet.pOptItem = CreateOptItems(hHeap, Sheet.cOptItem);
- if (NULL == Sheet.pOptItem)
- {
- ERR(DLLTEXT("hrOEMDocumentPropertySheets() failed to allocate OPTITEMs.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- // Initialize OptItems
- Sheet.pOptItem[0].Level = 1;
- Sheet.pOptItem[0].Flags = OPTIF_COLLAPSE;
- Sheet.pOptItem[0].pName = GetStringResource(hHeap, ghInstance, IDS_SECTION);
- Sheet.pOptItem[0].Sel = pOEMDev->dwDriverData;
-
- Sheet.pOptItem[0].pOptType = CreateOptType(hHeap, 2);
- if (NULL == Sheet.pOptItem[0].pOptType)
- {
- ERR(DLLTEXT("hrOEMDocumentPropertySheets() failed to allocate OPTTYPE.\r\n"));
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- Sheet.pOptItem[0].pOptType->Type = TVOT_UDARROW;
- Sheet.pOptItem[0].pOptType->pOptParam[1].IconID = 0;
- Sheet.pOptItem[0].pOptType->pOptParam[1].lParam = 100;
-
- // NOTE: Don't need to do anything with Activation Contexts
- // to get Themed UI, since Compstui will create this
- // page using it's Activation Context which specifies
- // comctl v6.
-
- // Add property sheets.
- lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PCOMPROPSHEETUI,
- (LPARAM)&Sheet, (LPARAM)&dwSheets);
- }
- break;
-
- case PROPSHEETUI_REASON_GET_INFO_HEADER:
- {
- PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam;
-
- pHeader->pTitle = (LPTSTR)PROP_TITLE;
- lResult = TRUE;
- }
- break;
-
- case PROPSHEETUI_REASON_GET_ICON:
- // No icon
- lResult = 0;
- break;
-
- case PROPSHEETUI_REASON_SET_RESULT:
- {
- PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam;
-
- lResult = pInfo->Result;
- }
- break;
-
- case PROPSHEETUI_REASON_DESTROY:
- lResult = TRUE;
- break;
- }
-
-Exit:
-
- pPSUIInfo->Result = lResult;
- return hrResult;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Adds property page to printer property sheet.
-//
-HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam)
-{
- LONG_PTR lResult = 0;
-
-
- VERBOSE(DLLTEXT("hrOEMDevicePropertySheets entry\r\n"));
-
- // Validate parameters.
- if( (NULL == pPSUIInfo)
- ||
- (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version)
- )
- {
- ERR(DLLTEXT("hrOEMDevicePropertySheets() ERROR_INVALID_PARAMETER.\r\n"));
-
- // Return invalid parameter error.
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Do action.
- switch(pPSUIInfo->Reason)
- {
- case PROPSHEETUI_REASON_INIT:
- {
- PROPSHEETPAGE Page;
-
- // Init property page.
- memset(&Page, 0, sizeof(PROPSHEETPAGE));
- Page.dwSize = sizeof(PROPSHEETPAGE);
- Page.dwFlags = PSP_DEFAULT;
- Page.hInstance = ghInstance;
- Page.pszTemplate = MAKEINTRESOURCE(IDD_DEVICE_PROPPAGE);
- Page.pfnDlgProc = DevicePropPageProc;
- Page.hActCtx = GetMyActivationContext();
-
- // Set the flag to indicate that our PROPSHEETPAGE
- // has an Activation Context.
- // The Activation Context indicates with version of
- // comctl for Compstui to create our PROPSHEETPAGE
- // with. To get Themed UI we need to specify comctl v6.
- if( (NULL != Page.hActCtx) && (INVALID_HANDLE_VALUE != Page.hActCtx))
- {
- Page.dwFlags |= PSP_USEFUSIONCONTEXT;
- }
-
- // Add property sheets.
- lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PROPSHEETPAGE, (LPARAM)&Page, 0);
-
- // NOTE: The Activation Context is released when the DLL is unloaded
- // during DLL_PROCESS_DETACH.
- }
- break;
-
- case PROPSHEETUI_REASON_GET_INFO_HEADER:
- {
- PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam;
-
- pHeader->pTitle = (LPTSTR)PROP_TITLE;
- lResult = TRUE;
- }
- break;
-
- case PROPSHEETUI_REASON_GET_ICON:
- // No icon
- lResult = 0;
- break;
-
- case PROPSHEETUI_REASON_SET_RESULT:
- {
- PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam;
-
- lResult = pInfo->Result;
- }
- break;
-
- case PROPSHEETUI_REASON_DESTROY:
- lResult = TRUE;
- break;
- }
-
- pPSUIInfo->Result = lResult;
- return S_OK;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// OptItems call back for OEM printer property UI.
-//
-LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam)
-{
- LONG lReturn = CPSUICB_ACTION_NONE;
-
- VERBOSE(DLLTEXT("OEMPrinterUICallBack() entry.\r\n"));
-
- switch(pCallbackParam->Reason)
- {
- case CPSUICB_REASON_APPLYNOW:
- {
- DWORD dwDriverValue = pOEMUIParam->pOEMOptItems[0].Sel;
-
- // Store OptItems state in printer data.
- SetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, REG_DWORD, (PBYTE) &dwDriverValue, sizeof(DWORD));
- }
- break;
-
- default:
- break;
- }
-
- return lReturn;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Call back for OEM device property UI.
-//
-#pragma warning(push)
-#pragma warning(disable:6262) // this method exceeds the default threshold for stack usage by a few bytes.
-INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam)
-{
- switch (uiMsg)
- {
- case WM_COMMAND:
- switch(HIWORD(wParam))
- {
- case BN_CLICKED:
- switch(LOWORD(wParam))
- {
- case IDC_CALIBRATE:
- // Just display a message that the printer is calibrated,
- // since we don't acutally calibrate anything.
- {
- TCHAR szName[MAX_PATH];
- TCHAR szCalibrated[MAX_PATH];
-
-
- LoadString(ghInstance, IDS_NAME, szName, sizeof(szName)/sizeof(szName[0]));
- LoadString(ghInstance, IDS_CALIBRATED, szCalibrated, sizeof(szCalibrated)/sizeof(szCalibrated[0]));
- MessageBox(hDlg, szCalibrated, szName, MB_OK);
- }
- break;
- }
- break;
-
- default:
- return FALSE;
- }
- return TRUE;
-
- case WM_NOTIFY:
- {
- switch (((LPNMHDR)lParam)->code) // type of notification message
- {
- case PSN_SETACTIVE:
- break;
-
- case PSN_KILLACTIVE:
- break;
-
- case PSN_APPLY:
- break;
-
- case PSN_RESET:
- break;
- }
- }
- break;
- }
-
- return FALSE;
-}
-#pragma warning(pop)
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// OptItems call back for OEM document property UI.
-//
-LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam)
-{
- LONG lReturn = CPSUICB_ACTION_NONE;
- POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM;
-
- VERBOSE(DLLTEXT("OEMDocUICallBack() entry.\r\n"));
-
- switch(pCallbackParam->Reason)
- {
- case CPSUICB_REASON_APPLYNOW:
- // Store OptItems state in DEVMODE.
- pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel;
- break;
-
- case CPSUICB_REASON_KILLACTIVE:
- pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel;
- break;
-
- case CPSUICB_REASON_SETACTIVE:
- if((DWORD)(pOEMUIParam->pOEMOptItems[0].Sel) != pOEMDev->dwAdvancedData)
- {
- pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData;
- pOEMUIParam->pOEMOptItems[0].Flags |= OPTIF_CHANGED;
- lReturn = CPSUICB_ACTION_OPTIF_CHANGED;
- }
- break;
-
- default:
- break;
- }
-
- return lReturn;
-}
-
-
-LONG APIENTRY OEMDocUICallBack2(PCPSUICBPARAM pCallbackParam)
-{
- LONG lReturn = CPSUICB_ACTION_NONE;
- PCBUSERDATA pUserData = (PCBUSERDATA) pCallbackParam->UserData;
- POEMDEV pOEMDev = (POEMDEV) pUserData->pOEMUIParam->pOEMDM;
-
-
- VERBOSE(DLLTEXT("OEMDocUICallBack2() entry.\r\n"));
-
- switch(pCallbackParam->Reason)
- {
- case CPSUICB_REASON_APPLYNOW:
- pOEMDev->dwDriverData = pCallbackParam->pOptItem[0].Sel;
- pUserData->pfnComPropSheet(pUserData->hComPropSheet, CPSFUNC_SET_RESULT,
- (LPARAM)pUserData->hPropPage,
- (LPARAM)CPSUI_OK);
- break;
-
- case CPSUICB_REASON_KILLACTIVE:
- pOEMDev->dwDriverData = pCallbackParam->pOptItem[0].Sel;
- break;
-
- case CPSUICB_REASON_SETACTIVE:
- if((DWORD)(pCallbackParam->pOptItem[0].Sel) != pOEMDev->dwDriverData)
- {
- pCallbackParam->pOptItem[0].Sel = pOEMDev->dwDriverData;
- pCallbackParam->pOptItem[0].Flags |= OPTIF_CHANGED;
- lReturn = CPSUICB_ACTION_OPTIF_CHANGED;
- }
- break;
-
- default:
- break;
- }
-
- return lReturn;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Creates and Initializes OptItems.
-//
-static POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems)
-{
- POPTITEM pOptItems = NULL;
- SIZE_T sizeOfOptItems = 0;
-
- // Compute the size of memory needed for the OptItems:
- if (SUCCEEDED(SIZETMult(sizeof(OPTITEM), (SIZE_T)dwOptItems, &sizeOfOptItems)))
- {
- // Allocate memory for OptItems;
- pOptItems = (POPTITEM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeOfOptItems);
- if(NULL != pOptItems)
- {
- InitOptItems(pOptItems, dwOptItems);
- }
- else
- {
- ERR(DLLTEXT("CreateOptItems() failed to allocate memory for OPTITEMs!\r\n"));
- }
- }
- else
- {
- ERR(DLLTEXT("CreateOptItems() failed to compute necessary memory size for OPTITEMs!\r\n"));
- }
-
- return pOptItems;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems.
-//
-static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems)
-{
- VERBOSE(DLLTEXT("InitOptItems() entry.\r\n"));
-
- // Zero out memory.
- memset(pOptItems, 0, sizeof(OPTITEM) * dwOptItems);
-
- // Set each OptItem's size, and Public DM ID.
- for(DWORD dwCount = 0; dwCount < dwOptItems; dwCount++)
- {
- pOptItems[dwCount].cbSize = sizeof(OPTITEM);
- pOptItems[dwCount].DMPubID = DMPUB_NONE;
- }
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Allocates and initializes OptType for OptItem.
-//
-static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams)
-{
- POPTTYPE pOptType = NULL;
-
-
- VERBOSE(DLLTEXT("CreateOptType() entry.\r\n"));
-
- // Allocate memory from the heap for the OPTTYPE; the driver will take care of clean up.
- pOptType = (POPTTYPE) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OPTTYPE));
- if(NULL != pOptType)
- {
- // Initialize OPTTYPE.
- pOptType->cbSize = sizeof(OPTTYPE);
- pOptType->Count = wOptParams;
-
- // Allocate memory from the heap for the OPTPARAMs for the OPTTYPE.
- pOptType->pOptParam = (POPTPARAM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, wOptParams * sizeof(OPTPARAM));
- if(NULL != pOptType->pOptParam)
- {
- // Initialize the OPTPARAMs.
- for(WORD wCount = 0; wCount < wOptParams; wCount++)
- {
- pOptType->pOptParam[wCount].cbSize = sizeof(OPTPARAM);
- }
- }
- else
- {
- ERR(DLLTEXT("CreateOptType() failed to allocated memory for OPTPARAMs!\r\n"));
-
- // Free allocated memory and return NULL.
- HeapFree(hHeap, 0, pOptType);
- pOptType = NULL;
- }
- }
- else
- {
- ERR(DLLTEXT("CreateOptType() failed to allocated memory for OPTTYPE!\r\n"));
- }
-
- return pOptType;
-}
-
-////////////////////////////////////////////////////////////////////////////////////
-//
-// Retrieves pointer to a String resource.
-//
-static PTSTR GetStringResource(HANDLE hHeap, HANDLE hModule, UINT uResource)
-{
- int nResult;
- DWORD dwSize = MAX_PATH;
- PTSTR pszString = NULL;
-
-
- VERBOSE(DLLTEXT("GetStringResource entered.\r\n"));
-
- // Allocate buffer for string resource from heap; let the driver clean it up.
- pszString = (PTSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize * sizeof(TCHAR));
- if(NULL != pszString)
- {
- // Load string resource; resize after loading so as not to waste memory.
- nResult = LoadString((HMODULE)hModule, uResource, pszString, dwSize);
- if(nResult > 0)
- {
- PTSTR pszTemp;
-
- pszTemp = (PTSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pszString, (nResult + 1) * sizeof(TCHAR));
- if(NULL != pszTemp)
- {
- pszString = pszTemp;
- }
- else
- {
- ERR(DLLTEXT("GetStringResource() HeapReAlloc() of string retrieved failed!\r\n"));
- }
- }
- else
- {
- ERR(DLLTEXT("GetStringResource() failed to load string resource!\r\n"));
-
- pszString = NULL;
- }
- }
- else
- {
- ERR(DLLTEXT("GetStringResource() failed to allocate string buffer!\r\n"));
- }
-
- return pszString;
-}
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oemui.h b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oemui.h
deleted file mode 100644
index 0f392cc5..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oemui.h
+++ /dev/null
@@ -1,45 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: OEMUI.H
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for OEMUI Test Module.
-//
-
-#pragma once
-
-#include "OEM.H"
-#include "DEVMODE.H"
-#include "globals.h"
-
-
-////////////////////////////////////////////////////////
-// OEM UI Defines
-////////////////////////////////////////////////////////
-
-
-// OEM Signature and version.
-#define PROP_TITLE L"OEM UI Page"
-#define DLLTEXT(s) "ThemeUI: " s
-
-
-// Printer registry keys where OEM data is stored.
-#define OEMUI_VALUE TEXT("OEMUI_VALUE")
-#define OEMUI_DEVICE_VALUE TEXT("OEMUI_DEVICE_VALUE")
-
-
-
-////////////////////////////////////////////////////////
-// Prototypes
-////////////////////////////////////////////////////////
-
-HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam);
-HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, IPrintOemDriverUI* pOEMHelp);
-HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam);
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/precomp.h
deleted file mode 100644
index 0607fe55..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/precomp.h
+++ /dev/null
@@ -1,61 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: precomp.H
-//
-//
-// PURPOSE: Common headers that don't change often
-//
-
-#pragma once
-
-// Necessary for compiling under VC.
-#if(!defined(WINVER) || (WINVER < 0x0500))
- #undef WINVER
- #define WINVER 0x0500
-#endif
-#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500))
- #undef _WIN32_WINNT
- #define _WIN32_WINNT 0x0500
-#endif
-
-// Isolation define for using ComCtrl v6.
-#ifndef ISOLATION_AWARE_ENABLED
- #define ISOLATION_AWARE_ENABLED
-#endif
-
-
-// Required header files that shouldn't change often.
-
-#include <STDDEF.H>
-#include <STDLIB.H>
-#include <OBJBASE.H>
-#include <STDARG.H>
-#include <STDIO.H>
-#include <WINDEF.H>
-#include <WINERROR.H>
-#include <WINBASE.H>
-#include <WINGDI.H>
-#include <WINDDI.H>
-#include <WINSPOOL.H>
-#include <TCHAR.H>
-#include <EXCPT.H>
-#include <ASSERT.H>
-#include <PRSHT.H>
-#include "COMPSTUI.H"
-#include <WINDDIUI.H>
-#include <PRINTOEM.H>
-#include <COMMCTRL.H>
-#include <INITGUID.H>
-#include <PRCOMOEM.H>
-
-// Safe character string functions to detect buffer overrun conditions:
-#include <strsafe.h>
-
-// Safe integer functions to detect integer overflow/underflow conditions:
-#include <intsafe.h>
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/precompsrc.cpp
deleted file mode 100644
index 5944cf51..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/precompsrc.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "precomp.h" \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/resource.h
deleted file mode 100644
index 71d3d3d6..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/resource.h
+++ /dev/null
@@ -1,24 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by OEMUI.rc
-//
-#define IDS_SECTION 1
-#define IDS_CALIBRATED 2
-#define IDS_NAME 3
-#define IDS_DEV_SECTION 4
-#define IDS_DEVICE_SECTION 4
-#define IDS_ADV_SECTION 10
-#define IDD_DEVICE_PROPPAGE 106
-#define IDD_DOC_PROPPAGE 107
-#define IDC_CALIBRATE 1001
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 103
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1002
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/themeuismpl.def b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/themeuismpl.def
deleted file mode 100644
index 8e60b60d..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/themeuismpl.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY ThemeUISmpl
-EXPORTS DllGetClassObject PRIVATE
- DllCanUnloadNow PRIVATE
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/WMarkPS.ini b/print/OEM Printer Customization Plug-in Samples/C++/WMarkPS.ini
deleted file mode 100644
index 11176160..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/WMarkPS.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[OEMFiles]
-OEMConfigFile1=WMARKUI.DLL
-OEMDriverFile1=WMARKPS.DLL
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/WMarkUni.ini b/print/OEM Printer Customization Plug-in Samples/C++/WMarkUni.ini
deleted file mode 100644
index 4ae540c4..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/WMarkUni.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[OEMFiles]
-OEMConfigFile1=WMARKUNIUI.DLL
-OEMDriverFile1=WMARKUNI.DLL
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap.gpd b/print/OEM Printer Customization Plug-in Samples/C++/bitmap.gpd
deleted file mode 100644
index 467e3e21..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap.gpd
+++ /dev/null
@@ -1,509 +0,0 @@
-*GPDFileName: "bitmap.gpd"
-*GPDFileVersion: "1.0"
-*GPDSpecVersion: "1.0"
-*Include: "StdNames.gpd"
-*ModelName: "Bitmap Driver"
-*MasterUnits: PAIR(1200, 1200)
-*ResourceDLL: "unires.dll"
-*PrinterType: PAGE
-*MaxCopies: 99
-*PrintRate: 16
-*PrintRateUnit: PPM
-*PrintRatePPM: 16
-
-*%******************************************************************************************
-*% Orientation
-*%******************************************************************************************
-*Feature: Orientation
-{
- *rcNameID: =ORIENTATION_DISPLAY
- *DefaultOption: PORTRAIT
- *Option: PORTRAIT
- {
- *rcNameID: =PORTRAIT_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.6
- *Cmd: ""
- }
- }
- *Option: LANDSCAPE_CC90
- {
- *rcNameID: =LANDSCAPE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.8
- *Cmd: ""
- }
- }
-}
-
-*%******************************************************************************************
-*% Input Bin
-*%******************************************************************************************
-*Feature: InputBin
-{
- *rcNameID: =PAPER_SOURCE_DISPLAY
- *DefaultOption: AUTO
- *Option: AUTO
- {
- *rcNameID: =AUTO_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.11
- *Cmd: ""
- }
- }
- *Option: UPPER
- {
- *rcNameID: =UPPER_TRAY_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.11
- *Cmd: ""
- }
- }
-}
-
-*%******************************************************************************************
-*% Resolution
-*%******************************************************************************************
-*Feature: Resolution
-{
- *rcNameID: =RESOLUTION_DISPLAY
- *DefaultOption: Option2
- *Option: Option1
- {
- *Name: "600 x 600" =DOTS_PER_INCH
- *DPI: PAIR(600, 600)
- *TextDPI: PAIR(600, 600)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "" }
- *Command: CmdEndRaster { *Cmd : "" }
- *Command: CmdSendBlockData { *Cmd : "" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.7
- *Cmd: ""
- }
- }
- *Option: Option2
- {
- *Name: "300 x 300" =DOTS_PER_INCH
- *DPI: PAIR(300, 300)
- *TextDPI: PAIR(300, 300)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "" }
- *Command: CmdEndRaster { *Cmd : "" }
- *Command: CmdSendBlockData { *Cmd : "" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.7
- *Cmd: ""
- }
- }
- *Option: Option3
- {
- *Name: "150 x 150" =DOTS_PER_INCH
- *DPI: PAIR(150, 150)
- *TextDPI: PAIR(150, 150)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "" }
- *Command: CmdEndRaster { *Cmd : "" }
- *Command: CmdSendBlockData { *Cmd : "" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.7
- *Cmd: ""
- }
- }
-}
-
-*%******************************************************************************************
-*% Paper Size
-*%******************************************************************************************
-*Feature: PaperSize
-{
- *rcNameID: =PAPER_SIZE_DISPLAY
- *DefaultOption: LETTER
- *Option: LETTER
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9500, 12500)
- *PrintableOrigin: PAIR(400, 400)
- *CursorOrigin: PAIR(300, 300)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: ""
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9500, 12200)
- *PrintableOrigin: PAIR(450, 300)
- *CursorOrigin: PAIR(200, 12900)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: ""
- }
- }
- }
- }
- *Option: LEGAL
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9000, 15500)
- *PrintableOrigin: PAIR(400, 600)
- *CursorOrigin: PAIR(180, 300)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: ""
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9000, 15500)
- *PrintableOrigin: PAIR(400, 900)
- *CursorOrigin: PAIR(180, 16500)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: ""
- }
- }
- }
- }
- *Option: EXECUTIVE
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(8100, 11500)
- *PrintableOrigin: PAIR(300, 300)
- *CursorOrigin: PAIR(300, 200)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: ""
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(8300, 11500)
- *PrintableOrigin: PAIR(200, 300)
- *CursorOrigin: PAIR(200, 12300)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: ""
- }
- }
- }
- }
- *Option: A4
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9100, 13200)
- *PrintableOrigin: PAIR(400, 300)
- *CursorOrigin: PAIR(288, 180)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: ""
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9100, 13200)
- *PrintableOrigin: PAIR(400, 300)
- *CursorOrigin: PAIR(204, 13824)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: ""
- }
- }
- }
- }
- *Option: B5
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(7900, 11140)
- *PrintableOrigin: PAIR(352, 300)
- *CursorOrigin: PAIR(300, 100)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: ""
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(7760, 11140)
- *PrintableOrigin: PAIR(300, 400)
- *CursorOrigin: PAIR(100, 11940)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: ""
- }
- }
- }
- }
-}
-
-*%******************************************************************************************
-*% Media Type
-*%******************************************************************************************
-*Feature: MediaType
-{
- *rcNameID: =MEDIA_TYPE_DISPLAY
- *DefaultOption: PLAIN
- *Option: PLAIN
- {
- *rcNameID: =PLAIN_PAPER_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.15
- *Cmd: ""
- }
- }
- *Option: TRANSPARENCY
- {
- *rcNameID: =TRANSPARENCY_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.15
- *Cmd: ""
- }
- }
-}
-
-*%******************************************************************************************
-*% Color Mode
-*%******************************************************************************************
-*Feature: ColorMode
-{
- *rcNameID: =COLOR_PRINTING_MODE_DISPLAY
- *DefaultOption: 8bpp
- *Option: Mono
- {
- *rcNameID: =MONO_DISPLAY
- *DevNumOfPlanes: 0
- *DevBPP: 0
- *IPCallbackID: 1
- *Color?: FALSE
- }
- *Option: Color
- {
- *rcNameID: =COLOR_DISPLAY
- *DevNumOfPlanes: 0
- *DevBPP: 0
- *DrvBPP: 4
- *IPCallbackID: 2
- *PaletteSize: 8
- *PaletteProgrammable?: TRUE
- *Command: CmdEnableDRC { *Cmd: "" }
- *Command: CmdDefinePaletteEntry { *Cmd : "" }
- *Command: CmdSelectPaletteEntry { *Cmd : "" }
- *Command: CmdSetSrcBmpWidth { *Cmd : "" }
- *Command: CmdSelect
- {
- *Order: PAGE_SETUP.16
- *Cmd: ""
- }
- }
- *Option: 8bpp
- {
- *rcNameID: =8BPP_DISPLAY
- *DevNumOfPlanes: 0
- *DevBPP: 0
- *DrvBPP: 8
- *IPCallbackID: 3
- *PaletteSize: 256
- *PaletteProgrammable? : TRUE
- *Command: CmdEnableDRC { *Cmd : "" }
- *Command: CmdDefinePaletteEntry { *Cmd : "" }
- *Command: CmdSelectPaletteEntry { *Cmd : "" }
- *Command: CmdSetSrcBmpWidth { *Cmd : "" }
- *Command: CmdSelect
- {
- *Order: PAGE_SETUP.16
- *Cmd: ""
- }
- }
- *Option: 24bpp
- {
- *rcNameID: =24BPP_DISPLAY
- *DevNumOfPlanes: 0
- *DevBPP: 0
- *DrvBPP: 24
- *IPCallbackID: 5
- *PaletteSize: 256
- *PaletteProgrammable? : TRUE
- *Command: CmdEnableDRC { *Cmd : "" }
- *Command: CmdDefinePaletteEntry { *Cmd : "" }
- *Command: CmdSelectPaletteEntry { *Cmd : "" }
- *Command: CmdSetSrcBmpWidth { *Cmd : "" }
- *Command: CmdSelect
- {
- *Order: PAGE_SETUP.16
- *Cmd: ""
- }
- }
-}
-
-*%******************************************************************************************
-*% HalfTone
-*%******************************************************************************************
-*Feature: Halftone
-{
- *rcNameID: =HALFTONING_DISPLAY
- *DefaultOption: HT_PATSIZE_AUTO
- *Option: HT_PATSIZE_AUTO
- {
- *rcNameID: =HT_AUTO_SELECT_DISPLAY
- }
- *Option: HT_PATSIZE_SUPERCELL_M
- {
- *rcNameID: =HT_SUPERCELL_DISPLAY
- }
- *Option: HT_PATSIZE_6x6_M
- {
- *rcNameID: =HT_DITHER6X6_DISPLAY
- }
- *Option: HT_PATSIZE_8x8_M
- {
- *rcNameID: =HT_DITHER8X8_DISPLAY
- }
-}
-
-*%******************************************************************************************
-*% Duplex Unit
-*%******************************************************************************************
-*Feature: DuplexUnit
-{
- *rcNameID: 429
- *FeatureType: PRINTER_PROPERTY
- *DefaultOption: FALSE
- *Option: FALSE
- {
- *rcNameID: 444
- *DisabledFeatures: LIST(Duplex.VERTICAL, Duplex.HORIZONTAL)
- }
- *Option: TRUE
- {
- *rcNameID: 443
- }
-}
-
-*%******************************************************************************************
-*% Duplex Type
-*%******************************************************************************************
-*Feature: Duplex
-{
- *rcNameID: =TWO_SIDED_PRINTING_DISPLAY
- *DefaultOption: NONE
- *Option: NONE
- {
- *rcNameID: =NONE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.9
- *Cmd: ""
- }
- }
- *Option: VERTICAL
- {
- *rcNameID: =FLIP_ON_LONG_EDGE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.9
- *Cmd: ""
- }
- }
- *Option: HORIZONTAL
- {
- *rcNameID: =FLIP_ON_SHORT_EDGE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.9
- *Cmd: ""
- }
- }
-}
-
-*%******************************************************************************************
-*% Doc setup commands
-*%******************************************************************************************
-*Command: CmdStartDoc
-{
- *Order: DOC_SETUP.7
- *Cmd: ""
-}
-*Command: CmdStartPage
-{
- *Order: PAGE_SETUP.1
- *Cmd: ""
-}
-*Command: CmdEndJob
-{
- *Order: JOB_FINISH.1
- *Cmd: ""
-}
-*Command: CmdCopies
-{
- *Order: DOC_SETUP.13
- *Cmd: ""
-}
-
-*%******************************************************************************************
-*% Cursor and Page Commands
-*%******************************************************************************************
-*RotateCoordinate?: TRUE
-*RotateRaster?: TRUE
-*RotateFont?: TRUE
-*TextCaps: LIST(TC_CR_90,TC_UA_ABLE)
-*MemoryUsage: LIST(FONT, RASTER, VECTOR)
-*CursorXAfterCR: AT_PRINTABLE_X_ORIGIN
-*BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE)
-*XMoveThreshold: 0
-*YMoveThreshold: 0
-*XMoveUnit: 300
-*YMoveUnit: 300
-*EjectPageWithFF?: TRUE
-*OutputDataFormat: H_BYTE
-*OptimizeLeftBound?: TRUE
-*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN
-*CursorYAfterSendBlockData: AUTO_INCREMENT
-
-*Command: CmdCR { *Cmd : "" }
-*Command: CmdLF { *Cmd : "" }
-*Command: CmdFF { *Cmd : "" }
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap.inf b/print/OEM Printer Customization Plug-in Samples/C++/bitmap.inf
deleted file mode 100644
index 5d01b260..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap.inf
+++ /dev/null
Binary files differ
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap.ini b/print/OEM Printer Customization Plug-in Samples/C++/bitmap.ini
deleted file mode 100644
index 2388914c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[OEMFiles]
-OEMDriverFile1=BITMAP.DLL
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.def b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.def
deleted file mode 100644
index 1a4df55f..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.def
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBRARY bitmap
-EXPORTS DllGetClassObject PRIVATE
- DllCanUnloadNow PRIVATE
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.h b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.h
deleted file mode 100644
index ee068c02..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.h
+++ /dev/null
@@ -1,81 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: BITMAP.H
-//
-//
-// PURPOSE: Define the COemPDEV class which stores the private
-// PDEV for the driver.
-//
-
-
-#pragma once
-
-#define OEM_SIGNATURE 'MSFT'
-#define OEM_VERSION 0x00000001L
-
-#define RGB_BLACK RGB(0, 0, 0)
-#define RGB_WHITE RGB(255, 255, 255)
-
-class COemPDEV
-{
-public:
- COemPDEV(void) :
- m_pfnDrvEndDoc(NULL),
- pBufStart(NULL),
- dwBufSize(0),
- cPalColors(0),
- hpalDefault(),
- prgbq(NULL),
- cbHeaderOffBits(0),
- bHeadersFilled(FALSE),
- bColorTable(FALSE)
- {
- memset(&bmFileHeader, 0, sizeof(bmFileHeader));
- memset(&bmInfoHeader, 0, sizeof(bmInfoHeader));
- }
-
- virtual ~COemPDEV(void)
- {
- }
-
- void InitializeDDITable(DRVENABLEDATA* pded)
- {
- UINT iDrvFn;
- UINT cDrvFn = pded->c;
- PDRVFN pDrvFn = pded->pdrvfn;
-
- for (iDrvFn = 0; iDrvFn < cDrvFn; ++iDrvFn, ++pDrvFn)
- {
- if (pDrvFn->iFunc == INDEX_DrvEndDoc)
- {
- m_pfnDrvEndDoc = (PFN_DrvEndDoc)(pDrvFn->pfn);
- }
- }
- }
-
-public:
-
- PFN_DrvEndDoc m_pfnDrvEndDoc; // Unidrv function to call back into from the DDI hook
- PBYTE pBufStart; // Pointer to start of buffer to hold the bitmap data
- DWORD dwBufSize; // Buffer size
- BITMAPFILEHEADER bmFileHeader; // BitmapFileHeader for each dump
- BITMAPINFOHEADER bmInfoHeader; // BitmapInfoHeader for each dump
- int cPalColors; // Count of colors in palette.
- HPALETTE hpalDefault; // Default palette to pass to GDI.
- _Field_size_(cPalColors) RGBQUAD * prgbq; // Color table
- INT cbHeaderOffBits; // Offset to bits in the file
- BOOL bHeadersFilled; // Flag to indicate if the header stuff has been filled
- BOOL bColorTable; // Flag to indicate if color table needs to be dumped
-
-};
-
-typedef COemPDEV* POEMPDEV;
-
-BOOL bGrowBuffer(POEMPDEV, DWORD); // Function to enlarge the buffer for holding the bitmap data
-VOID vFreeBuffer(POEMPDEV); // Function to free the buffer for holding the bitmap data
-BOOL bFillColorTable(POEMPDEV); // Function to fill the color table for the bitmap data
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.rc b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.rc
deleted file mode 100644
index 737bba96..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.rc
+++ /dev/null
@@ -1,110 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "Written by DDK Support Team\0"
- VALUE "CompanyName", "Microsoft Corp.\0"
- VALUE "FileDescription", "Bitmap Driver Sample\0"
- VALUE "FileVersion", "1, 0, 0, 1\0"
- VALUE "InternalName", "BITMAP\0"
- VALUE "LegalCopyright", "Copyright � 1998-2003\0"
- VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation\0"
- VALUE "OriginalFilename", "BITMAP.DLL\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "Microsoft Bitmap Driver Sample\0"
- VALUE "ProductVersion", "1.0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""winres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.vcxproj
deleted file mode 100644
index d530f136..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.vcxproj
+++ /dev/null
@@ -1,1090 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Win10 Debug|ARM64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|Win32">
- <Configuration>Win10 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|x64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|ARM64">
- <Configuration>Win10 Release</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|Win32">
- <Configuration>Win10 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|x64">
- <Configuration>Win10 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|Win32">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|Win32">
- <Configuration>Win8 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|Win32">
- <Configuration>Win7 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|Win32">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|Win32">
- <Configuration>Win8 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|Win32">
- <Configuration>Win7 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|x64">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|x64">
- <Configuration>Win8 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|x64">
- <Configuration>Win7 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|x64">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|x64">
- <Configuration>Win8 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|x64">
- <Configuration>Win7 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{EDCCC34A-50DF-4894-B7B9-FC156F899947}</ProjectGuid>
- <RootNamespace>$(MSBuildProjectName)</RootNamespace>
- <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration>
- <Platform Condition="'$(Platform)' == ''">Win32</Platform>
- <SampleGuid>{64A7662C-5E32-41A7-939B-B51114210693}</SampleGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <PropertyGroup>
- <OutDir>$(IntDir)</OutDir>
- </PropertyGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ItemGroup Label="WrappedTaskItems" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetName>bitmap</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetName>bitmap</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetName>bitmap</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <TargetName>bitmap</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <TargetName>bitmap</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetName>bitmap</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetName>bitmap</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetName>bitmap</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <TargetName>bitmap</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <TargetName>bitmap</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetName>bitmap</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetName>bitmap</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetName>bitmap</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <TargetName>bitmap</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetName>bitmap</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetName>bitmap</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetName>bitmap</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <TargetName>bitmap</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Link>
- <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Link>
- <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Link>
- <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <Link>
- <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <Link>
- <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <Link>
- <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="ddihook.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="devmode.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Create</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ResourceCompile Include="bitmap.rc" />
- </ItemGroup>
- <ItemGroup>
- <Inf Exclude="@(Inf)" Include="*.inf" />
- <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" />
- </ItemGroup>
- <ItemGroup>
- <None Exclude="@(None)" Include="*.txt;*.htm;*.html" />
- <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" />
- <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.vcxproj.Filters
deleted file mode 100644
index a78a5c8a..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.vcxproj.Filters
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions>
- <UniqueIdentifier>{5A882741-1FD2-4D80-ACC9-DCFE8F90AD24}</UniqueIdentifier>
- </Filter>
- <Filter Include="Header Files">
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- <UniqueIdentifier>{A14D506D-8B56-426A-80B4-0CA6D7A24A0B}</UniqueIdentifier>
- </Filter>
- <Filter Include="Resource Files">
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions>
- <UniqueIdentifier>{A8C3D9A5-36FC-4F1B-A9A6-605F3BD79ED7}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="ddihook.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="devmode.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="bitmap.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="bitmap.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="bitmap.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="bitmap.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="bitmap.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="bitmap.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="bitmap.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="bitmap.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="bitmap.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="bitmap.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="bitmap.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="bitmap.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="bitmap.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="bitmap.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="bitmap.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="bitmap.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="bitmap.rc">
- <Filter>Resource Files</Filter>
- </ResourceCompile>
- </ItemGroup>
- <ItemGroup>
- <None Include="bitmap.def">
- <Filter>Source Files</Filter>
- </None>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/ddihook.cpp b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/ddihook.cpp
deleted file mode 100644
index 17984513..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/ddihook.cpp
+++ /dev/null
@@ -1,114 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: DDIHook.cpp
-//
-//
-// PURPOSE: Implementation of DDI Hook OEMEndDoc. This function
-// dumps the buffered bitmap data out.
-//
-
-
-#include "precomp.h"
-#include "bitmap.h"
-#include "debug.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-//
-// Function prototype is defined in printoem.h
-//
-BOOL APIENTRY
-OEMEndDoc(
- SURFOBJ *pso,
- FLONG fl
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvEndDoc.
-
- DrvEndDoc is called by GDI when it has finished
- sending a document to the driver for rendering.
-
- Please refer to DDK documentation for more details.
-
- This particular implementation of OEMEndDoc performs
- the following operations:
- - Dump the bitmap file header
- - Dump the bitmap info header
- - Dump the color table if one exists
- - Dump the buffered bitmap data
- - Free the memory for the data buffers
-
-Arguments:
-
- pso - Defines the surface object
- flags - A set of flag bits
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
- DWORD dwWritten;
- INT cScans;
-
- if (pOemPDEV->pBufStart)
- {
- // Fill BitmapFileHeader
- //
- DWORD dwTotalBytes = pOemPDEV->cbHeaderOffBits + pOemPDEV->bmInfoHeader.biSizeImage; // File size
-
- pOemPDEV->bmFileHeader.bfType = 0x4d42; // Signature = 'BM'
- pOemPDEV->bmFileHeader.bfSize = dwTotalBytes; // Bytes in whole file.
- pOemPDEV->bmFileHeader.bfReserved1 = 0;
- pOemPDEV->bmFileHeader.bfReserved2 = 0;
- pOemPDEV->bmFileHeader.bfOffBits = pOemPDEV->cbHeaderOffBits; // Offset to bits in file.
-
- if (pOemPDEV->bColorTable)
- pOemPDEV->bmFileHeader.bfOffBits += pOemPDEV->cPalColors * sizeof(ULONG);
-
- // Num of scanlines
- //
- cScans = pOemPDEV->bmInfoHeader.biHeight;
-
- // Flip the biHeight member so that it denotes top-down bitmap
- //
- pOemPDEV->bmInfoHeader.biHeight = cScans * -1;
-
- // Dump headers first
- //
- dwWritten = pDevObj->pDrvProcs->DrvWriteSpoolBuf(pDevObj, (void*)&(pOemPDEV->bmFileHeader), sizeof(BITMAPFILEHEADER));
- dwWritten = pDevObj->pDrvProcs->DrvWriteSpoolBuf(pDevObj, (void*)&(pOemPDEV->bmInfoHeader), sizeof(BITMAPINFOHEADER));
- if (pOemPDEV->bColorTable)
- {
- dwWritten = pDevObj->pDrvProcs->DrvWriteSpoolBuf(pDevObj, pOemPDEV->prgbq, pOemPDEV->cPalColors * sizeof(ULONG));
- LocalFree(pOemPDEV->prgbq);
- }
-
- // Dump the data now
- //
- dwWritten = pDevObj->pDrvProcs->DrvWriteSpoolBuf(pDevObj, pOemPDEV->pBufStart, pOemPDEV->bmInfoHeader.biSizeImage);
-
- // Free memory for the data buffers
- //
- vFreeBuffer(pOemPDEV);
- }
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvEndDoc)(pso, fl);
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/debug.h
deleted file mode 100644
index 0414569c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/debug.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Debug.H
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debugging functions. Also defines the various debug macros.
-//
-//
-
-#pragma once
-
-/////////////////////////////////////////////////////////
-// Macros
-/////////////////////////////////////////////////////////
-//
-// These macros are used for debugging purposes. They expand
-// to white spaces on a free build. Here is a brief description
-// of what they do and how they are used:
-//
-// giDebugLevel
-// Global variable which set the current debug level to control
-// the amount of debug messages emitted.
-//
-// WARNING(msg)
-// Display a message if the current debug level is <= DBG_WARNING.
-// The message format is: WRN filename (linenumber): message
-//
-// ERR(msg)
-// Similiar to WARNING macro above - displays a message
-// if the current debug level is <= DBG_ERROR.
-//
-// ASSERT(cond)
-// Verify a condition is true. If not, force a breakpoint.
-//
-// RIP(msg)
-// Display a message and force a breakpoint.
-//
-// Usage:
-// WARNING("App passed NULL pointer, ignoring...\n");
-//
-
-#define DBG_VERBOSE 0
-#define DBG_WARNING 1
-#define DBG_ERROR 2
-#define DBG_NONE 3
-
-// VC and Build use different debug defines.
-#if defined (DBG) || defined (_DEBUG)
-
- // __declspec(selectany) ensures that even if this is defined in multiple compilation
- // modules, they will all resolve to the same symbol in the linked DLL
- __declspec(selectany) INT giDebugLevel = 2;
-
- #define STRINGIZE(x) #x
- #define QUOTE(x) STRINGIZE(x)
- #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__)
-
- #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); }
- #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); }
- #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); }
- #define ASSERT(cond) { if (!(cond)) RIP("\n"); }
- #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); }
-
-#else // !DBG
-
- #define VERBOSE(msg)
- #define WARNING(msg)
- #define ERR(msg)
- #define ASSERT(cond)
- #define RIP(msg)
-
-#endif
-
-
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/devmode.cpp
deleted file mode 100644
index 7845d5c1..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/devmode.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.cpp
-//
-//
-// PURPOSE: Helper functions for manipulating the DEVMODE. These are commonly
-// shared by UI & rendering modules
-//
-
-
-#include "precomp.h"
-#include "bitmap.h"
-#include "debug.h"
-#include "devmode.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-BOOL bConvertOEMDevmode(
- PCOEMDEV pOEMDevIn,
- POEMDEV pOEMDevOut
- )
-
-/*++
-
-Routine Description:
-
- Converts private DEVMODE members to the
- current version.
-
-Arguments:
-
- pOEMDevIn - pointer to OEM private devmode
- pOEMDevOut - pointer to OEM private devmode
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- if( (NULL == pOEMDevIn)
- ||
- (NULL == pOEMDevOut)
- )
- {
- ERR("ConvertOEMDevmode() invalid parameters.\r\n");
- return FALSE;
- }
-
- // Check OEM Signature, if it doesn't match ours,
- // then just assume DMIn is bad and use defaults.
- if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature)
- {
- // Set the devmode defaults so that anything the isn't copied over will
- // be set to the default value.
- pOEMDevOut->dwDriverData = 0;
-
- // Copy the old structure in to the new using which ever size is the smaller.
- // Devmode maybe from newer Devmode (not likely since there is only one), or
- // Devmode maybe a newer Devmode, in which case it maybe larger,
- // but the first part of the structure should be the same.
-
- // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to;
- // the fields that are in the DEVMODE never change only new fields get added to the end.
-
- memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize));
-
- // Re-fill in the size and version fields to indicated
- // that the DEVMODE is the current private DEVMODE version.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- }
- else
- {
- // Don't know what the input DEVMODE is, so just use defaults.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- pOEMDevOut->dwDriverData = 0;
- }
-
- return TRUE;
-}
-
-
-BOOL bMakeOEMDevmodeValid(
- POEMDEV pOEMDevmode
- )
-
-/*++
-
-Routine Description:
-
- Ensures that private OEM devmode members are valid.
-
-Arguments:
-
- pOEMDevmode - pointer to OEM private devmode
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- if(NULL == pOEMDevmode)
- {
- return FALSE;
- }
-
- // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure.
-
- // Make sure that dmOEMExtra indicates the current OEMDEV structure.
- pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION;
-
- // Set driver data.
- pOEMDevmode->dwDriverData = 0;
-
- return TRUE;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/devmode.h
deleted file mode 100644
index 5f62454f..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/devmode.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.h
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for devmode functions.
-//
-
-#pragma once
-
-////////////////////////////////////////////////////////
-// OEM Private Devmode Definition
-////////////////////////////////////////////////////////
-
-typedef struct tagOEMDEV
-{
- OEM_DMEXTRAHEADER dmOEMExtra;
- BOOL dwDriverData;
-} OEMDEV, *POEMDEV;
-
-typedef const OEMDEV *PCOEMDEV;
-
-/////////////////////////////////////////////////////////
-// ProtoTypes
-/////////////////////////////////////////////////////////
-
-HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam);
-BOOL bConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut);
-BOOL bMakeOEMDevmodeValid(POEMDEV pOEMDevmode);
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/dllentry.cpp
deleted file mode 100644
index 4483a741..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/dllentry.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: dllentry.cpp
-//
-//
-// PURPOSE: Source module for DLL entry function(s).
-//
-
-
-#include "precomp.h"
-#include "bitmap.h"
-#include "debug.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-///////////////////////////////////////////////////////////
-//
-// DLL entry point
-//
-
-BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved)
-{
- UNREFERENCED_PARAMETER(hInst);
- UNREFERENCED_PARAMETER(lpReserved);
-
- switch(wReason)
- {
- case DLL_PROCESS_ATTACH:
- break;
-
- case DLL_THREAD_ATTACH:
- break;
-
- case DLL_PROCESS_DETACH:
- break;
-
- case DLL_THREAD_DETACH:
- break;
- }
-
- return TRUE;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/intrface.cpp
deleted file mode 100644
index dcfdcd6f..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/intrface.cpp
+++ /dev/null
@@ -1,2048 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.cpp
-//
-//
-// PURPOSE: Interface for User Mode COM Customization DLL.
-//
-
-
-#include "precomp.h"
-
-#include "debug.h"
-#include "devmode.h"
-#include "bitmap.h"
-#include "intrface.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-// ==================================================================
-// Internal Globals
-//
-static long g_cComponents; // Count of active components
-static long g_cServerLocks; // Count of locks
-//
-// ==================================================================
-
-// ==================================================================
-// The purpose of this array is to inform UNIDRV of the callbacks
-// that are implemented in this driver.
-//
-// Note that there is *NO* order dependency in this array. New
-// index values and their corresponding callbacks can be placed
-// anywhere within the list as needed.
-//
-static const DRVFN s_aOemHookFuncs[] =
-{
- {INDEX_DrvEndDoc, (PFN)OEMEndDoc}
-};
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// COemUni2 body
-//
-COemUni2::COemUni2()
-{
- m_cRef = 1;
-
- // Increment COM component count.
- InterlockedIncrement(&g_cComponents);
-
- m_pOEMHelp = NULL;
-
-}
-
-COemUni2::~COemUni2()
-{
- // Make sure that helper interface is released.
- if(NULL != m_pOEMHelp)
- {
- m_pOEMHelp->Release();
- m_pOEMHelp = NULL;
- }
-
- // If this instance of the object is being deleted, then the reference
- // count should be zero.
- assert(0 == m_cRef);
-}
-
-HRESULT __stdcall
-COemUni2::
-QueryInterface(
- const IID& iid,
- void** ppv
- )
-{
-
- if (iid == IID_IUnknown)
- {
- *ppv = static_cast<IUnknown*>(this);
- }
- else if (iid == IID_IPrintOemUni2)
- {
- *ppv = static_cast<IPrintOemUni2*>(this);
- }
- else
- {
- WARNING("COemUni2::QueryInterface NULL. Returning E_NOINTERFACE.\r\n");
-
- *ppv = NULL;
- return E_NOINTERFACE;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef();
- return S_OK;
-}
-
-ULONG __stdcall
-COemUni2::
-AddRef(
- VOID
- )
-{
- return InterlockedIncrement(&m_cRef);
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall
-COemUni2::
-Release(
- VOID
- )
-{
- ULONG cRef = InterlockedDecrement(&m_cRef);
-
- if (cRef == 0)
- {
- delete this;
- return 0;
- }
- return cRef;
-}
-
-HRESULT __stdcall
-COemUni2::
-CommandCallback(
- PDEVOBJ pdevobj,
- DWORD dwCallbackID,
- DWORD dwCount,
- PDWORD pdwParams,
- OUT INT *piResult
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::CommandCallback
-
- The IPrintOemUni::CommandCallback method is used
- to provide dynamically generated printer commands
- for Unidrv-supported printers.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- dwCallbackID - value representing the printer command's
- *CallbackID attribute in the printer's generic printer
- description (GPD) file.
- dwCount - value representing the number of elements
- in the array pointed to by pdwParams. Can be 0.
- pdwParams - pointer to an array of DWORD-sized parameters
- containing values specified by the printer commands
- *Params attribute in the printer's GPD file. Can be NULL.
- piResult - Receives a method-supplied result value.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(dwCallbackID);
- UNREFERENCED_PARAMETER(dwCount);
- UNREFERENCED_PARAMETER(pdwParams);
-
- *piResult = 0;
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-Compression(
- PDEVOBJ pdevobj,
- PBYTE pInBuf,
- PBYTE pOutBuf,
- DWORD dwInLen,
- DWORD dwOutLen,
- OUT INT *piResult
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::Compression
-
- The IPrintOemUni::Compression method can be used
- with Unidrv-supported printers to provide a customized
- bitmap compression method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pInBuf - pointer to input scan line data.
- pOutBuf - pointer to an output buffer to receive
- compressed scan line data.
- dwInLen - length of the input data.
- dwOutLen - length of the output buffer.
- piResult - Receives a method-supplied result value. If the
- operation succeeds, this value should be the number
- of compressed bytes, which must not be larger than
- the value received for dwOutLen. If an error occurs,
- or if the method cannot compress, the result value
- should be -1.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pInBuf);
- UNREFERENCED_PARAMETER(pOutBuf);
- UNREFERENCED_PARAMETER(dwInLen);
- UNREFERENCED_PARAMETER(dwOutLen);
- UNREFERENCED_PARAMETER(piResult);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-DevMode(
- DWORD dwMode,
- POEMDMPARAM pOemDMParam
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DevMode
-
- The IPrintOemUni::DevMode method, provided by
- rendering plug-ins for Unidrv, performs operations
- on private DEVMODE members.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::DevMode method.
-
- The IPrintOemUni::DevMode method, provided by
- rendering plug-ins for Unidrv, performs operations
- on private DEVMODE members. When both UI and rendering
- plug-ins are present in a driver, this functionality
- should be factored out to be common to both modules, and
- provide the same behavior.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dwMode - caller-supplied constant. Refer to the docs
- for more information.
- pOemDMParam - pointer to an OEMDMPARAM structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- POEMDEV pOEMDevIn;
- POEMDEV pOEMDevOut;
-
- // Verify parameters.
- if( (NULL == pOemDMParam)
- ||
- ( (OEMDM_SIZE != dwMode)
- &&
- (OEMDM_DEFAULT != dwMode)
- &&
- (OEMDM_CONVERT != dwMode)
- &&
- (OEMDM_MERGE != dwMode)
- ))
- {
- ERR("DevMode() ERROR_INVALID_PARAMETER.\r\n");
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Cast generic (i.e. PVOID) to OEM private devmode pointer type.
- pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn;
- pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut;
-
- switch(dwMode)
- {
- case OEMDM_SIZE:
- pOemDMParam->cbBufSize = sizeof(OEMDEV);
- break;
-
- case OEMDM_DEFAULT:
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- pOEMDevOut->dwDriverData = 0;
- break;
-
- case OEMDM_CONVERT:
- bConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- break;
-
- case OEMDM_MERGE:
- bConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- bMakeOEMDevmodeValid(pOEMDevOut);
- break;
- }
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-DisableDriver(
- VOID
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DisableDriver
-
- The IPrintOemUni::DisableDriver method allows
- a rendering plug-in for Unidrv to free resources
- that were allocated by the plug-in's
- IPrintOemUni::EnableDriver method.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::DisableDriver method.
-
- The IPrintOemUni::DisableDriver method allows a rendering
- plug-in for Unidrv to free resources that were allocated by the
- plug-in's IPrintOemUni::EnableDriver method. This is the last
- IPrintOemUni interface method that is called before the rendering
- plug-in is unloaded.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- VOID
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- // Release reference to Printer Driver's interface.
- //
- if (this->m_pOEMHelp)
- {
- this->m_pOEMHelp->Release();
- this->m_pOEMHelp = NULL;
- }
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-DisablePDEV(
- PDEVOBJ pdevobj
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DisablePDEV
-
- The IPrintOemUni::DisablePDEV method allows a rendering
- plug-in for Unidrv to delete the private PDEV structure that
- was allocated by its IPrintOemUni::EnablePDEV method.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::DisablePDEV method.
-
- The IPrintOemUni::DisablePDEV method performs the same types of
- operations as the DrvDisablePDEV function. Its purpose is to allow a
- rendering plug-in to delete the private PDEV structure that is pointed
- to by the DEVOBJ structure's pdevOEM member. This PDEV structure
- is one that was allocated by the plug-in's IPrintOemUni::EnablePDEV method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- // Release our COemPDEV instance created by the call to
- // EnablePDEV.
- //
- POEMPDEV pOemPDEV = (POEMPDEV)pdevobj->pdevOEM;
- delete pOemPDEV;
- pOemPDEV = NULL;
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-DownloadCharGlyph(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- HGLYPH hGlyph,
- PDWORD pdwWidth,
- OUT DWORD *pdwResult
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DownloadCharGlyph
-
- The IPrintOemUni::DownloadCharGlyph method enables a
- rendering plug-in for Unidrv to send a character glyph for
- a specified soft font to the printer.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pUFObj - pointer to a UNIFONTOBJ structure.
- hGlyph - glyph handle.
- pdwWidth - pointer to receive the method-supplied width of the character.
- pdwResult - Receives a method-supplied value representing the amount
- of printer memory, in bytes, required to store the character glyph.
- If the operation fails, the returned value should be zero.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(hGlyph);
- UNREFERENCED_PARAMETER(pdwWidth);
- UNREFERENCED_PARAMETER(pdwResult);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-DownloadFontHeader(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- OUT DWORD *pdwResult
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DownloadFontHeader
-
- The IPrintOemUni::DownloadFontHeader method allows a
- rendering plug-in for Unidrv to send a font's header
- information to a printer.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pUFObj - pointer to a UNIFONTOBJ structure.
- pdwResult - Receives a method-supplied value representing the amount
- of printer memory, in bytes, required to store the font header
- information. If the operation fails, the returned value should be zero.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(pdwResult);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-DriverDMS(
- PVOID pDevObj,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DriverDMS
-
- The IPrintOemUni::DriverDMS method allows a rendering
- plug-in for Unidrv to indicate that it uses a device-managed
- drawing surface instead of the default GDI-managed surface.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::DriverDMS method.
-
- Please refer to DDK documentation for more details. For general info
- on device managed surfaces and how to handle them, please refer to
- the section titled "Handling Device-Managed Surfaces".
-
-Arguments:
-
- pDevObj - pointer to a DEVOBJ structure.
- pBuffer - pointer to a buffer to receive method-specified flags.
- cbSize - size, in bytes, of the buffer pointed to by pBuffer.
- pcbNeeded - pointer to a location to receive the required
- minimum pBuffer size.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- UNREFERENCED_PARAMETER(pDevObj);
- UNREFERENCED_PARAMETER(pBuffer);
- UNREFERENCED_PARAMETER(cbSize);
- UNREFERENCED_PARAMETER(pcbNeeded);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-EnableDriver(
- DWORD dwDriverVersion,
- DWORD cbSize,
- PDRVENABLEDATA pded
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::EnableDriver
-
- The IPrintOemUni::EnableDriver method allows a rendering
- plug-in for Unidrv to hook out some graphics DDI functions.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::EnableDriver method.
-
- The IPrintOemUni::EnableDriver method allows a rendering
- plug-in to perform the same types of operations as the
- DrvEnableDriver function. Like the DrvEnableDriver function,
- the IPrintOemUni::EnableDriver method is responsible for
- providing addresses of internally supported graphics DDI functions,
- or DDI hook functions.
-
- The method should fill the supplied DRVENABLEDATA structure
- and allocate an array of DRVFN structures. It should fill the
- array with pointers to hooking functions, along with winddi.h-defined
- index values that identify the hooked out graphics DDI functions.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- DriverVersion - interface version number. This value is
- defined by PRINTER_OEMINTF_VERSION, in printoem.h.
- cbSize - size, in bytes, of the structure pointed to by pded.
- pded - pointer to a DRVENABLEDATA structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- UNREFERENCED_PARAMETER(dwDriverVersion);
- UNREFERENCED_PARAMETER(cbSize);
-
- // We need to return the DDI functions that have been hooked
- // in pded. Here we fill out the fields in pded.
- //
- pded->iDriverVersion = PRINTER_OEMINTF_VERSION;
- pded->c = _countof(s_aOemHookFuncs);
- pded->pdrvfn = (DRVFN *) s_aOemHookFuncs;
-
- // Even if nothing is done, need to return S_OK so
- // that DisableDriver() will be called, which releases
- // the reference to the Printer Driver's interface.
- //
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-EnablePDEV(
- PDEVOBJ pdevobj,
- _In_ PWSTR pPrinterName,
- ULONG cPatterns,
- HSURF *phsurfPatterns,
- ULONG cjGdiInfo,
- GDIINFO *pGdiInfo,
- ULONG cjDevInfo,
- DEVINFO *pDevInfo,
- DRVENABLEDATA *pded,
- OUT PDEVOEM *pDevOem
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::EnablePDEV
-
- The IPrintOemUni::EnablePDEV method allows a rendering
- plug-in for Unidrv to create its own PDEV structure.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::EnablePDEV method.
-
- The IPrintOemUni::EnablePDEV method performs the same types
- of operations as the DrvEnablePDEV function that is exported
- by a printer graphics DLL. Its purpose is to allow a rendering
- plug-in to create its own PDEV structure. For more information
- about PDEV structures, see "Customized PDEV Structures" in the DDK docs.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pPrinterName - pointer to a text string representing the
- logical address of the printer.
- cPatterns - value representing the number of HSURF-typed
- surface handles contained in the buffer pointed to by
- phsurfPatterns.
- phsurfPatterns - pointer to a buffer that is large enough to
- contain cPatterns number of HSURF-typed surface handles.
- The handles represent surface fill patterns.
- cjGdiInfo - value representing the size of the structure pointed
- to by pGdiInfo.
- pGdiInfo - pointer to a GDIINFO structure.
- cjDevInfo - value representing the size of the structure pointed
- to by pDevInfo.
- pDevInfo - pointer to a DEVINFO structure.
- pded - pointer to a DRVENABLEDATA structure containing the
- addresses of the printer driver's graphics DDI hooking functions.
- pDevOem - Receives a method-supplied pointer to a private PDEV structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
- If the operation fails, the method should call SetLastError to set an error code.
-
-
---*/
-
-{
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pPrinterName);
- UNREFERENCED_PARAMETER(cPatterns);
- UNREFERENCED_PARAMETER(phsurfPatterns);
- UNREFERENCED_PARAMETER(cjGdiInfo);
- UNREFERENCED_PARAMETER(cjDevInfo);
-
- // Allocate an instance of our private PDEV.
- //
- POEMPDEV pOemPDEV = new COemPDEV();
-
- if (NULL == pOemPDEV)
- {
- return E_FAIL;
- }
-
- pOemPDEV->InitializeDDITable(pded);
-
- // Initializing private oempdev stuff
- //
- pOemPDEV->bHeadersFilled = FALSE;
- pOemPDEV->bColorTable = FALSE;
- pOemPDEV->cbHeaderOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
- pOemPDEV->bmInfoHeader.biHeight = 0;
- pOemPDEV->bmInfoHeader.biSizeImage = 0;
- pOemPDEV->pBufStart = NULL;
- pOemPDEV->dwBufSize = 0;
-
- // We create a BGR palette for 24bpp so that we can avoid color byte order manipulation
- //
- if (pGdiInfo->cBitsPixel == 24)
- pDevInfo->hpalDefault = EngCreatePalette(PAL_BGR, 0, 0, 0, 0, 0);
-
- // Store the handle to the default palette so that we can fill the color table later
- //
- pOemPDEV->hpalDefault = pDevInfo->hpalDefault;
-
- *pDevOem = pOemPDEV;
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-FilterGraphics(
- PDEVOBJ pdevobj,
- PBYTE pBuf,
- DWORD dwLen
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::FilterGraphics
-
- The IPrintOemUni::FilterGraphics method can be used with
- Unidrv-supported printers to modify scan line data and send
- it to the spooler.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pBuf - pointer to a buffer containing scan line data to be printed.
- dwLen - value representing the length, in bytes, of the data
- pointed to by pBuf.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- DWORD dwResult;
-
- m_pOEMHelp->DrvWriteSpoolBuf(pdevobj, pBuf, dwLen, &dwResult);
-
- if (dwResult == dwLen)
- return S_OK;
- else
- return S_FALSE;
-}
-
-HRESULT __stdcall
-COemUni2::
-GetImplementedMethod(
- _In_ PSTR pMethodName
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::GetImplementedMethod
-
- The IPrintOemUni::GetImplementedMethod method is used by
- Unidrv to determine which IPrintOemUni interface methods
- have been implemented by a rendering plug-in.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::GetImplemented method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pMethodName - pointer to a string representing the name of an
- IPrintOemUni interface method, such as "ImageProcessing"
- for IPrintOemUni::ImageProcessing or "FilterGraphics" for
- IPrintOemUni::FilterGraphics.
-
-Return Value:
-
- S_OK The operation succeeded (the specified method is implemented).
- S_FALSE The operation failed (the specified method is not implemented).
-
-
---*/
-
-{
- HRESULT Result = S_FALSE;
-
- // Unidrv only calls GetImplementedMethod for optional
- // methods. The required methods are assumed to be
- // supported.
-
- // Return S_OK for supported function (i.e. implemented),
- // and S_FALSE for functions that aren't supported (i.e. not implemented).
- switch (*pMethodName)
- {
- case 'C':
- if (!strcmp(NAME_CommandCallback, pMethodName))
- {
- Result = S_OK;
- }
- break;
- case 'F':
- if (!strcmp(NAME_FilterGraphics, pMethodName))
- {
- Result = S_OK;
- }
- break;
- case 'I':
- if (!strcmp(NAME_ImageProcessing, pMethodName))
- {
- Result = S_OK;
- }
- break;
- }
-
- return Result;
-}
-
-HRESULT __stdcall
-COemUni2::
-GetInfo(
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::GetInfo
-
- A rendering plug-in's IPrintOemUni::GetInfo method returns
- identification information.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::GetInfo method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dwMode - Contains one of the following caller-supplied integer constants.
- OEMGI_GETSIGNATURE - The method must return a unique four-byte
- identification signature. The plug-in must also place this signature
- in OPTITEM structures, as described in the description of the
- OEMCUIPPARAM. structure's pOEMOptItems member.
- OEMGI_GETVERSION - The method must return the user interface
- plug-in's version number as a DWORD. The version format is
- developer-defined.
- pBuffer - pointer to memory allocated to receive the information specified
- by dwInfo.
- cbSize - size of the buffer pointed to by pBuffer.
- pcbNeeded - pointer to a location to receive the number of bytes written
- into the buffer pointed to by pBuffer.
-
-Return Value:
-
- S_OK The operation succeeded (the specified method is implemented).
- S_FALSE The operation failed (the specified method is not implemented).
-
-
---*/
-
-{
- PWSTR pszTag = L"COemUni2::GetInfo entry.";
- switch(dwMode)
- {
- case OEMGI_GETSIGNATURE: pszTag = L"COemUni2::GetInfo entry. [OEMGI_GETSIGNATURE]"; break;
- case OEMGI_GETVERSION: pszTag = L"COemUni2::GetInfo entry. [OEMGI_GETVERSION]"; break;
-
- }
-
- // Validate parameters.
- if( (NULL == pcbNeeded)
- ||
- ( (OEMGI_GETSIGNATURE != dwMode)
- &&
- (OEMGI_GETVERSION != dwMode) ) )
- {
- WARNING("COemUni2::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER.\r\n");
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Set expected buffer size.
- *pcbNeeded = sizeof(DWORD);
-
- // Check buffer size is sufficient. If not, return error, and also ensure that
- // the required buffer size is provided to the caller.
- if((cbSize < *pcbNeeded) || (NULL == pBuffer))
- {
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- // OEM DLL Signature
- case OEMGI_GETSIGNATURE:
- *(PDWORD)pBuffer = OEM_SIGNATURE;
- break;
-
- // OEM DLL version
- case OEMGI_GETVERSION:
- *(PDWORD)pBuffer = OEM_VERSION;
- break;
-
- // dwMode not supported.
- default:
- // Set written bytes to zero since nothing was written.
- WARNING("COemUni2::GetInfo() exit mode not supported.\r\n");
- *pcbNeeded = 0;
- SetLastError(ERROR_NOT_SUPPORTED);
- return E_FAIL;
- }
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-HalftonePattern(
- PDEVOBJ pdevobj,
- PBYTE pHTPattern,
- DWORD dwHTPatternX,
- DWORD dwHTPatternY,
- DWORD dwHTNumPatterns,
- DWORD dwCallbackID,
- PBYTE pResource,
- DWORD dwResourceSize
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::HalftonePattern
-
- The IPrintOemUni::HalftonePattern method can be used with
- Unidrv-supported printers to create or modify a halftone
- pattern before it is used in a halftoning operation.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pHTPattern - pointer to a buffer to receive the method-supplied
- halftone pattern. Buffer size, in bytes, is:
- (((dwHTPatternX * dwHTPatternY) + 3)/4) * 4 * dwHTNumPatterns.
- dwHTPatternX - length, in pixels, of the halftone pattern, as specified
- by the GPD file's *HTPatternSize attribute.
- dwHTPatternY - height, in pixels, of the halftone pattern, as specified
- by the GPD file's *HTPatternSize attribute.
- dwHTNumPatterns - number of patterns, as specified by the GPD file's
- *HTNumPatterns attribute. This can be 1 or 3.
- dwCallbackID - value identifying the halftone method, as specified by
- the GPD file's *HTCallbackID attribute.
- pResource - pointer to a buffer containing a halftone pattern, as
- specified by the GPD file's *rcHTPatternID attribute. This can be NULL.
- dwResourceSize - size of the halftone pattern contained in the buffer
- pointed to by pResource. This is zero if pResource is NULL.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pHTPattern);
- UNREFERENCED_PARAMETER(dwHTPatternX);
- UNREFERENCED_PARAMETER(dwHTPatternY);
- UNREFERENCED_PARAMETER(dwHTNumPatterns);
- UNREFERENCED_PARAMETER(dwCallbackID);
- UNREFERENCED_PARAMETER(pResource);
- UNREFERENCED_PARAMETER(dwResourceSize);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-ImageProcessing(
- PDEVOBJ pdevobj,
- PBYTE pSrcBitmap,
- PBITMAPINFOHEADER pBitmapInfoHeader,
- PBYTE pColorTable,
- DWORD dwCallbackID,
- PIPPARAMS pIPParams,
- OUT PBYTE *ppbResult
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::ImageProcessing
-
- The IPrintOemUni::ImageProcessing method can be used with
- Unidrv-supported printers to modify image bitmap data, in order
- to perform color formatting or halftoning. The method can return
- the modified bitmap to Unidrv or send it directly to the print spooler.
-
- Please refer to DDK documentation for more details.
-
- The algorithm for this particular implementation of ImageProcessing is as follows.
- - If headers have not been filled as yet, fill them.
- - We fill out only the info header and the color table here. The file header is filled
- out in OEMEndDoc.
- - The height and image size in the bitmap info header are updated every time
- we enter ImageProcessing.
- - Increase the size of the data buffer by the size of the current band.
- - Copy over the data from the current band to the buffer.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pSrcBitmap - pointer to an input device-independent bitmap (DIB).
- pBitmapInfoHeader - pointer to a BITMAPINFOHEADER structure
- that describes the bitmap pointed to by pSrcBitmap.
- pColorTable - pointer to a color table. Used only if the output format is
- eight bits per pixel.
- dwCallbackID - value assigned to the *IPCallbackID attribute of the
- currently selected option for the ColorMode feature.
- pIPParams - pointer to an IPPARAMS structure.
- ppbResult -
- If the method returns the converted DIB to Unidrv:
- If the conversion succeeds, the method should return a
- pointer to a buffer containing the converted DIB.
- Otherwise it should return NULL.
- If the method sends the converted DIB to the print spooler:
- If the operation succeeds, the method should return TRUE.
- Otherwise it should return FALSE.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- UNREFERENCED_PARAMETER(pColorTable);
-
- POEMPDEV pOemPDEV = (POEMPDEV)pdevobj->pdevOEM;
-
- // We want to set ppbResult to NULL in case this function fails and returns E_FAIL
- //
- *ppbResult = NULL;
-
- // We want to keep track of the current offset from the start
- // of the buffer before the size is increased.
- //
- DWORD dwBufOffset = pOemPDEV->dwBufSize;
-
- // We fill out the file header in OEMEndDoc. But for the info header, we take the easy route
- // and copy the stuff from pBitmapInfoHeader. Only height and image size will be updated
- // every time we enter ImageProcessing.
- //
- if (!pOemPDEV->bHeadersFilled)
- {
- ULONG ulMonoPalette[2] = { RGB_BLACK, RGB_WHITE, };
-
- pOemPDEV->bHeadersFilled = TRUE;
- pOemPDEV->bmInfoHeader.biSize = pBitmapInfoHeader->biSize;
- pOemPDEV->bmInfoHeader.biPlanes = pBitmapInfoHeader->biPlanes;
- pOemPDEV->bmInfoHeader.biBitCount = pBitmapInfoHeader->biBitCount;
- pOemPDEV->bmInfoHeader.biCompression = pBitmapInfoHeader->biCompression;
- pOemPDEV->bmInfoHeader.biXPelsPerMeter = pBitmapInfoHeader->biXPelsPerMeter;
- pOemPDEV->bmInfoHeader.biYPelsPerMeter = pBitmapInfoHeader->biYPelsPerMeter;
- pOemPDEV->bmInfoHeader.biClrUsed = pBitmapInfoHeader->biClrUsed;
- pOemPDEV->bmInfoHeader.biClrImportant = pBitmapInfoHeader->biClrImportant;
- pOemPDEV->bmInfoHeader.biWidth = pBitmapInfoHeader->biWidth; // We support only Portrait. So width is constant and needs to be updated only once.
-
- if (dwCallbackID != BMF_24BPP) // We need color table only if it is not 24bpp
- {
- DWORD cbMemAllocSize;
-
- pOemPDEV->bColorTable = TRUE; // Indicates that color table needs to be dumped at EndDoc time
-
- switch(dwCallbackID)
- {
- case BMF_1BPP: // 1
- pOemPDEV->cPalColors = 2;
-
- pOemPDEV->prgbq = NULL;
-
- // Call intsafe.h function to ensure there's no integer overflow or underflow
- if (!SUCCEEDED(DWordMult(pOemPDEV->cPalColors, sizeof(RGBQUAD), &cbMemAllocSize)) ||
- (NULL == (pOemPDEV->prgbq = (RGBQUAD *)LocalAlloc(LPTR, cbMemAllocSize))))
- {
- return E_FAIL;
- }
-
- for (int i = 0; i < pOemPDEV->cPalColors; i++)
- {
- pOemPDEV->prgbq[i].rgbBlue = GetBValue(ulMonoPalette[i]);
- pOemPDEV->prgbq[i].rgbGreen = GetGValue(ulMonoPalette[i]);
- pOemPDEV->prgbq[i].rgbRed = GetRValue(ulMonoPalette[i]);
- }
- break;
- case BMF_4BPP: // 2
- pOemPDEV->cPalColors = 16;
- if (!bFillColorTable(pOemPDEV))
- return E_FAIL;
- break;
- case BMF_8BPP: // 3
- pOemPDEV->cPalColors = 256;
- if (!bFillColorTable(pOemPDEV))
- return E_FAIL;
- break;
- }
- }
-
- }
-
- // Keep track of the overall height and image size
- //
- pOemPDEV->bmInfoHeader.biHeight += pBitmapInfoHeader->biHeight;
- pOemPDEV->bmInfoHeader.biSizeImage += pBitmapInfoHeader->biSizeImage;
-
- // Increase the buffer by the size of the current band
- //
- if (!bGrowBuffer(pOemPDEV, pBitmapInfoHeader->biSizeImage))
- return E_FAIL;
-
- if (!pIPParams->bBlankBand) // Non-blank band
- {
- CopyMemory((pOemPDEV->pBufStart + dwBufOffset), pSrcBitmap, pBitmapInfoHeader->biSizeImage);
- }
- else // For blanks bands, buffer blank scanlines
- {
- memset((pOemPDEV->pBufStart + dwBufOffset), 0xff, pBitmapInfoHeader->biSizeImage);
- }
-
- // Set ppbResult to TRUE
- //
- *ppbResult = (LPBYTE)(INT_PTR)(TRUE);
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-MemoryUsage(
- PDEVOBJ pdevobj,
- POEMMEMORYUSAGE pMemoryUsage
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::MemoryUsage
-
- The IPrintOemUni::MemoryUsage method can be used with
- Unidrv-supported printers to specify the amount of memory
- required for use by a rendering plug-in's IPrintOemUni::ImageProcessing
- method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pMemoryUsage - pointer to an OEMMEMORYUSAGE structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pMemoryUsage);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-OutputCharStr(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- DWORD dwType,
- DWORD dwCount,
- PVOID pGlyph
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::OutputCharStr
-
- The IPrintOemUni::OutputCharStr method enables a rendering
- plug-in to control the printing of font glyphs.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pUFObj - pointer to a UNIFONTOBJ structure.
- dwType - value indicating the type of glyph specifier array
- pointed to by pGlyph. Valid values are as follows:
- TYPE_GLYPHHANDLE The pGlyph array elements are glyph
- handles of type HGLYPH.
- TYPE_GLYPHID The pGlyph array elements are glyph
- identifiers of type DWORD.
- dwCount - value representing the number of glyph specifiers in
- the array pointed to by pGlyph.
- pGlyph - pointer to an array of glyph specifiers, where the array
- element type is indicated by dwType.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(dwType);
- UNREFERENCED_PARAMETER(dwCount);
- UNREFERENCED_PARAMETER(pGlyph);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-PublishDriverInterface(
- IUnknown *pIUnknown
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::PublishDriverInterface
-
- The IPrintOemUni::PublishDriverInterface method allows a
- rendering plug-in for Unidrv to obtain the Unidrv driver's
- IPrintOemDriverUni interface.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::PublishDriverInterface method and the method
- must return S_OK, or the driver will not call the plug-in's other
- IPrintOemUni interface methods.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pIUnknown - pointer to the IUnknown interface of the driver's
- IPrintOemDriverUni COM interface.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- // Need to store pointer to Driver Helper functions, if we already haven't.
- if (this->m_pOEMHelp == NULL)
- {
- HRESULT hResult;
-
- // Get Interface to Helper Functions.
- hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverUni, (void** ) &(this->m_pOEMHelp));
-
- if(!SUCCEEDED(hResult))
- {
- // Make sure that interface pointer reflects interface query failure.
- this->m_pOEMHelp = NULL;
-
- return E_FAIL;
- }
- }
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-ResetPDEV(
- PDEVOBJ pdevobjOld,
- PDEVOBJ pdevobjNew
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::ResetPDEV
-
- The IPrintOemUni::ResetPDEV method allows a rendering
- plug-in for Unidrv to reset its PDEV structure.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::ResetPDEV method.
-
-
- A rendering plug-in's IPrintOemUni::ResetPDEV method performs
- the same types of operations as the DrvResetPDEV function. During
- the processing of an application's call to the Platform SDK ResetDC
- function, the IPrintOemUni::ResetPDEV method is called by Unidrv's
- DrvResetPDEV function. For more information about when DrvResetPDEV
- is called, see its description in the DDK docs.
-
- The rendering plug-in's private PDEV structure's address is contained
- in the pdevOEM member of the DEVOBJ structure pointed to by pdevobjOld.
- The IPrintOemUni::ResetPDEV method should use relevant members of this
- old structure to fill in the new structure, which is referenced through pdevobjNew.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobjOld - pointer to a DEVOBJ structure containing current PDEV information.
- pdevobjNew - pointer to a DEVOBJ structure into which the method should place
- new PDEV information.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- UNREFERENCED_PARAMETER(pdevobjOld);
- UNREFERENCED_PARAMETER(pdevobjNew);
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-SendFontCmd(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- PFINVOCATION pFInv
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::SendFontCmd
-
- The IPrintOemUni::SendFontCmd method enables a rendering
- plug-in to modify a printer's font selection command and then
- send it to the printer.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pUFObj - pointer to a UNIFONTOBJ structure.
- pFInv - pointer to an FINVOCATION structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(pFInv);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-TextOutAsBitmap(
- SURFOBJ *pso,
- STROBJ *pstro,
- FONTOBJ *pfo,
- CLIPOBJ *pco,
- RECTL *prclExtra,
- RECTL *prclOpaque,
- BRUSHOBJ *pboFore,
- BRUSHOBJ *pboOpaque,
- POINTL *pptlOrg,
- MIX mix
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::TextOutAsBitmap
-
- The IPrintOemUni::TextOutAsBitmap method allows a rendering
- plug-in to create a bitmap image of a text string, in case a
- downloadable font is not available.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface on which to be written.
- pstro - Defines the glyphs to be rendered and their positions
- pfo - Specifies the font to be used
- pco - Defines the clipping path
- prclExtra - A NULL-terminated array of rectangles to be filled
- prclOpaque - Specifies an opaque rectangle
- pboFore - Defines the foreground brush
- pboOpaque - Defines the opaque brush
- pptlOrg - Pointer to POINT struct , defining th origin
- mix - Specifies the foreground and background ROPs for pboFore
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- UNREFERENCED_PARAMETER(pso);
- UNREFERENCED_PARAMETER(pstro);
- UNREFERENCED_PARAMETER(pfo);
- UNREFERENCED_PARAMETER(pco);
- UNREFERENCED_PARAMETER(prclExtra);
- UNREFERENCED_PARAMETER(prclOpaque);
- UNREFERENCED_PARAMETER(pboFore);
- UNREFERENCED_PARAMETER(pboOpaque);
- UNREFERENCED_PARAMETER(pptlOrg);
- UNREFERENCED_PARAMETER(mix);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-TTDownloadMethod(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- OUT DWORD *pdwResult
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::TTDownloadMethod
-
- The IPrintOemUni::TTDownloadMethod method enables a rendering
- plug-in to indicate the format that Unidrv should use for a specified
- TrueType soft font.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pUFObj - pointer to a UNIFONTOBJ structure.
- pdwResult - Receives one of the following method-supplied constant values:
- TTDOWNLOAD_BITMAP Unidrv should download the specified font as bitmaps.
- TTDOWNLOAD_DONTCARE Unidrv can select the font format.
- TTDOWNLOAD_GRAPHICS Unidrv should print TrueType fonts as graphics,
- instead of downloading the font.
- TTDOWNLOAD_TTOUTLINE Unidrv should download the specified font as outlines.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(pdwResult);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-TTYGetInfo(
- PDEVOBJ pdevobj,
- DWORD dwInfoIndex,
- PVOID pOutputBuf,
- DWORD dwSize,
- DWORD *pcbcNeeded
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::TTYGetInfo
-
- The IPrintOemUni::TTYGetInfo method enables a rendering plug-in
- to supply Unidrv with information relevant to text-only printers.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- dwInfoIndex - constant identifying the type of information being requested.
- The following constant values are defined:
- OEMTTY_INFO_CODEPAGE - The pOutputBuf parameter points to a
- DWORD in which the method should return the number of the
- code page to be used.
- OEMTTY_INFO_MARGINS - The pOutputBuf parameter points to a
- RECT structure in which the method should return page margin
- widths, in tenths of millimeters (for example, 20 represents 2 mm).
- If the entire page is printable, all margin values must be 0.
- OEMTTY_INFO_NUM_UFMS - The pOutputBuf parameter points to a
- DWORD in which the method should return the number of resource
- IDs of the UFMs for 10, 12, and 17 CPI fonts. To actually obtain
- these resource IDs, perform a query using OEMTTY_INFO_UFM_IDS.
- OEMTTY_INFO_UFM_IDS - The pOutputBuf parameter points to an array
- of DWORDs of sufficient size to hold the number of resource IDs of
- the UFMs for 10, 12, and 17 CPI fonts. (This number is obtained by
- using OEMTTY_INFO_NUM_UFMS in a query.) The method should
- return the resource IDs of the UFMs for 10,12, and 17 CPI fonts.
- pOutputBuf - pointer to a buffer to receive the requested information.
- dwSize - size, in bytes, of the buffer pointed to by pOutputBuf.
- pcbcNeeded - pointer to a location to receive the number of bytes written into
- the buffer pointed to by pOutputBuf. If the number of bytes required is
- smaller than the number specified by dwSize, the method should supply
- the required size and return E_FAIL.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(dwInfoIndex);
- UNREFERENCED_PARAMETER(pOutputBuf);
- UNREFERENCED_PARAMETER(dwSize);
- UNREFERENCED_PARAMETER(pcbcNeeded);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-WritePrinter(
- PDEVOBJ pdevobj,
- PVOID pBuf,
- DWORD cbBuffer,
- PDWORD pcbWritten
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni2::WritePrinter
-
- The IPrintOemUni2::WritePrinter method, if supported, enables a
- rendering plug-in to capture all output data generated by a Unidrv
- driver. If this method is not supported, the output data would
- otherwise be sent to the spooler in a call to the spooler's WritePrinter API.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pBuf - pointer to the first byte of an array of bytes that contains
- the output data generated by the Unidrv driver.
- cbBuffer - size, in bytes, of the array pointed to by pBuf.
- pcbWritten - pointer to a DWORD value that receives the number
- of bytes of data that were successfully sent to the plug-in.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pBuf);
- UNREFERENCED_PARAMETER(cbBuffer);
- UNREFERENCED_PARAMETER(pcbWritten);
-
- return E_NOTIMPL;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// oem class factory
-//
-class COemCF : public IClassFactory
-{
-public:
- // *** IUnknown methods ***
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef)(THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release)(THIS);
-
- // *** IClassFactory methods ***
- STDMETHOD(CreateInstance)(THIS_
- LPUNKNOWN pUnkOuter,
- REFIID riid,
- LPVOID FAR* ppvObject);
-
- STDMETHOD(LockServer)(THIS_ BOOL bLock);
-
-
- // Constructor
- COemCF(): m_cRef(1) { };
-
- // Destructor
- ~COemCF() { };
-
-protected:
- LONG m_cRef;
-
-};
-
-///////////////////////////////////////////////////////////
-//
-// Class factory body
-//
-HRESULT __stdcall
-COemCF::
-QueryInterface(
- const IID& iid,
- void** ppv)
-{
- if ((iid == IID_IUnknown) || (iid == IID_IClassFactory))
- {
- *ppv = static_cast<COemCF*>(this);
- }
- else
- {
- *ppv = NULL;
- return E_NOINTERFACE;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef();
- return S_OK;
-}
-
-ULONG __stdcall
-COemCF::
-AddRef()
-{
- return InterlockedIncrement(&m_cRef);
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall
-COemCF::
-Release()
-{
-// ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
- }
- return cRef;
-}
-
-// IClassFactory implementation
-HRESULT __stdcall
-COemCF::
-CreateInstance(
- IUnknown* pUnknownOuter,
- const IID& iid,
- void** ppv)
-{
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Cannot aggregate.
- if (pUnknownOuter != NULL)
- {
- return CLASS_E_NOAGGREGATION;
- }
-
- // Create component.
- COemUni2* pOemCP = new COemUni2;
- if (pOemCP == NULL)
- {
- return E_OUTOFMEMORY;
- }
-
- // Get the requested interface.
- HRESULT hr = pOemCP->QueryInterface(iid, ppv);
-
- // Release the IUnknown pointer.
- // (If QueryInterface failed, component will delete itself.)
- pOemCP->Release();
- return hr;
-}
-
-// LockServer
-HRESULT __stdcall
-COemCF::
-LockServer(
- BOOL bLock
- )
-{
- if (bLock)
- {
- InterlockedIncrement(&g_cServerLocks);
- }
- else
- {
- InterlockedDecrement(&g_cServerLocks);
- }
- return S_OK;
-}
-
-
-//
-// Registration functions
-//
-
-//
-// Can DLL unload now?
-//
-STDAPI DllCanUnloadNow(void)
-{
- //
- // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers
- // are unloaded, Unidrv and Pscript driver ignore the return value of
- // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL.
- //
- // If OEM DLL spins off a working thread that also uses the OEM DLL, the
- // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise
- // it may crash after Unidrv or Pscript calls FreeLibrary.
- //
-
- if ((g_cComponents == 0) && (g_cServerLocks == 0))
- {
- return S_OK;
- }
- else
- {
- return S_FALSE;
- }
-}
-
-//
-// Get class factory
-//
-STDAPI DllGetClassObject(
- _In_ REFCLSID clsid,
- _In_ REFIID iid,
- _Outptr_ LPVOID* ppv)
-{
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Can we create this component?
- if (clsid != CLSID_OEMRENDER)
- {
- ERR("DllGetClassObject:\tClass not available!\r\n");
- return CLASS_E_CLASSNOTAVAILABLE;
- }
-
- // Create class factory.
- COemCF* pFontCF = new COemCF; // Reference count set to 1 in constructor
- if (pFontCF == NULL)
- {
- ERR("DllGetClassObject:\tOut of Memory!\r\n");
- return E_OUTOFMEMORY;
- }
-
- // Get requested interface.
- HRESULT hrResult = pFontCF->QueryInterface(iid, ppv);
- pFontCF->Release();
-
- return hrResult;
-}
-
-BOOL
-bGrowBuffer(
- POEMPDEV pOemPDEV,
- DWORD dwBufInc
- )
-
-/*++
-
-Routine Description:
-
- Enlarge the buffer for holding the bitmap data
-
-Arguments:
-
- pOemPDEV - Pointer to the private PDEV structure
- dwBufInc - Amount to enlarge the buffer by
-
-Return Value:
-
- TRUE if successful, FALSE if memory allocation fails
-
---*/
-
-{
- DWORD dwOldBufferSize;
- PBYTE pNewBuffer;
-
- // Allocate a new buffer whose size is the size of the previous buffer plus the increment
- //
- dwOldBufferSize = pOemPDEV->pBufStart ? pOemPDEV->dwBufSize : 0;
- pOemPDEV->dwBufSize = dwOldBufferSize + dwBufInc;
-
- if (NULL == (pNewBuffer = (PBYTE)LocalAlloc(LPTR, pOemPDEV->dwBufSize)))
- {
- WARNING("LocalAlloc failed!\n");
-
- vFreeBuffer(pOemPDEV);
-
- return FALSE;
- }
-
- if (pOemPDEV->pBufStart) // Growing an existing buffer
- {
- CopyMemory(pNewBuffer, pOemPDEV->pBufStart, dwOldBufferSize);
-
- LocalFree(pOemPDEV->pBufStart);
- pOemPDEV->pBufStart = pNewBuffer;
- }
- else // First time allocation
- {
- pOemPDEV->pBufStart = pNewBuffer;
- }
-
- return TRUE;
-}
-
-VOID
-vFreeBuffer(
- POEMPDEV pOemPDEV
- )
-
-/*++
-
-Routine Description:
-
- Free the buffer for holding the bitmap data
-
-Arguments:
-
- pOemPDEV - Pointer to the private PDEV structure
-
-Return Value:
-
- None
---*/
-
-{
- if (pOemPDEV->pBufStart)
- {
- LocalFree(pOemPDEV->pBufStart);
-
- pOemPDEV->pBufStart = NULL;
- pOemPDEV->dwBufSize = 0;
- }
-}
-
-BOOL
-bFillColorTable(
- POEMPDEV pOemPDEV
- )
-
-/*++
-
-Routine Description:
-
- Fill the color table for the bitmap data. This function
- obtains the entries in the default palette and fills the
- RGBQUAD structure that represents the color table.
-
-Arguments:
-
- pOemPDEV - Pointer to the private PDEV structure
-
-Return Value:
-
- TRUE if successful, FALSE if memory allocation for the color table fails
-
---*/
-
-{
- PALETTEENTRY * pPaletteEntry;
- UINT uiPalEntries;
- INT iLastPalIndex = pOemPDEV->cPalColors - 1;
- DWORD cbMemAllocSize;
-
- pOemPDEV->prgbq = NULL;
-
- // Call intsafe.h function to ensure there's no integer overflow or underflow
- if (!SUCCEEDED(DWordMult(pOemPDEV->cPalColors, sizeof(RGBQUAD), &cbMemAllocSize)) ||
- (NULL == (pOemPDEV->prgbq = (RGBQUAD *)LocalAlloc(LPTR, cbMemAllocSize))))
- {
- return FALSE;
- }
-
- // Call intsafe.h function to ensure there's no integer overflow or underflow
- if (!SUCCEEDED(DWordMult(pOemPDEV->cPalColors, sizeof(PALETTEENTRY), &cbMemAllocSize)) ||
- (NULL == (pPaletteEntry = (PALETTEENTRY *)LocalAlloc(LPTR, cbMemAllocSize))))
- {
- return FALSE;
- }
-
- uiPalEntries = GetPaletteEntries(pOemPDEV->hpalDefault, 0, pOemPDEV->cPalColors, pPaletteEntry);
-
- if (uiPalEntries == 0)
- {
- LocalFree(pPaletteEntry);
- return FALSE;
- }
-
- for (int i = 0; i < pOemPDEV->cPalColors; i++)
- {
- pOemPDEV->prgbq[i].rgbBlue = pPaletteEntry[i].peBlue;
- pOemPDEV->prgbq[i].rgbGreen = pPaletteEntry[i].peGreen;
- pOemPDEV->prgbq[i].rgbRed = pPaletteEntry[i].peRed;
- }
-
- // Set the last index in the color table to white
- //
- pOemPDEV->prgbq[iLastPalIndex].rgbBlue = 0xff;
- pOemPDEV->prgbq[iLastPalIndex].rgbGreen = 0xff;
- pOemPDEV->prgbq[iLastPalIndex].rgbRed = 0xff;
-
- return TRUE;
-
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/intrface.h
deleted file mode 100644
index 7c992055..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/intrface.h
+++ /dev/null
@@ -1,287 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.H
-//
-//
-// PURPOSE: Define COM interface for User Mode Printer Customization DLL.
-//
-
-
-#pragma once
-
-/////////////////////////////////////////////////////////
-// String Literals
-/////////////////////////////////////////////////////////
-
-
-CONST CHAR NAME_CommandCallback[] = "CommandCallback";
-CONST CHAR NAME_FilterGraphics[] = "FilterGraphics";
-CONST CHAR NAME_ImageProcessing[] = "ImageProcessing";
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// COemUni2
-//
-// Interface for Unidrv OEM sample rendering module
-//
-class COemUni2 : public IPrintOemUni2
-{
-public:
- // *** IUnknown methods ***
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release)(THIS);
-
- //
- // Method for publishing Driver interface.
- //
- STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown);
-
- //
- // Method for getting the implemented methods.
- // Returns S_OK if the given method is implemneted.
- // Returns S_FALSE if the given method is notimplemneted.
- //
-
- STDMETHOD(GetImplementedMethod)(THIS_ _In_ PSTR pMethodName);
-
- //
- // Method for OEM to specify DDIs that have been hooked
- //
-
- STDMETHOD(EnableDriver) (THIS_ DWORD DriverVersion,
- DWORD cbSize,
- PDRVENABLEDATA pded);
-
- //
- // Method to notify OEM plugin that it is no longer required
- //
-
- STDMETHOD(DisableDriver) (THIS);
-
- //
- // Method for OEM plugin to contruct its own PDEV
- //
-
- STDMETHOD(EnablePDEV)(THIS_ PDEVOBJ pdevobj,
- _In_ PWSTR pPrinterName,
- ULONG cPatterns,
- HSURF *phsurfPatterns,
- ULONG cjGdiInfo,
- GDIINFO *pGdiInfo,
- ULONG cjDevInfo,
- DEVINFO *pDevInfo,
- DRVENABLEDATA *pded,
- OUT PDEVOEM *pDevOem);
-
- //
- // Method for OEM to free any resource associated with its PDEV
- //
-
- STDMETHOD(DisablePDEV)(THIS_ PDEVOBJ pdevobj);
-
- //
- // Method for OEM to transfer from old PDEV to new PDEV
- //
-
- STDMETHOD(ResetPDEV)(THIS_ PDEVOBJ pdevobjOld,
- PDEVOBJ pdevobjNew);
-
- //
- // Get OEM dll related information
- //
-
- STDMETHOD(GetInfo)(THIS_ DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded);
-
- //
- // OEMDriverDMS - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(DriverDMS)(THIS_ PVOID pDevObj,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded);
-
- //
- // OEMDevMode
- //
-
- STDMETHOD(DevMode)(THIS_ DWORD dwMode,
- POEMDMPARAM pOemDMParam);
-
- //
- // OEMCommandCallback - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(CommandCallback)(THIS_ PDEVOBJ pdevobj,
- DWORD dwCallbackID,
- DWORD dwCount,
- PDWORD pdwParams,
- OUT INT *piResult);
-
- //
- // OEMImageProcessing - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(ImageProcessing)(THIS_ PDEVOBJ pdevobj,
- PBYTE pSrcBitmap,
- PBITMAPINFOHEADER pBitmapInfoHeader,
- PBYTE pColorTable,
- DWORD dwCallbackID,
- PIPPARAMS pIPParams,
- OUT PBYTE *ppbResult);
-
- //
- // OEMFilterGraphics - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(FilterGraphics)(THIS_ PDEVOBJ pdevobj,
- PBYTE pBuf,
- DWORD dwLen);
- //
- // OEMCompression - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(Compression)(THIS_ PDEVOBJ pdevobj,
- PBYTE pInBuf,
- PBYTE pOutBuf,
- DWORD dwInLen,
- DWORD dwOutLen,
- OUT INT *piResult);
-
- //
- // OEMHalftone - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(HalftonePattern)(THIS_ PDEVOBJ pdevobj,
- PBYTE pHTPattern,
- DWORD dwHTPatternX,
- DWORD dwHTPatternY,
- DWORD dwHTNumPatterns,
- DWORD dwCallbackID,
- PBYTE pResource,
- DWORD dwResourceSize);
-
- //
- // OEMMemoryUsage - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(MemoryUsage)(THIS_ PDEVOBJ pdevobj,
- POEMMEMORYUSAGE pMemoryUsage);
-
- //
- // OEMTTYGetInfo - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(TTYGetInfo)(THIS_ PDEVOBJ pdevobj,
- DWORD dwInfoIndex,
- PVOID pOutputBuf,
- DWORD dwSize,
- DWORD *pcbcNeeded);
-
- //
- // OEMDownloadFontheader - UNIDRV only
- //
-
- STDMETHOD(DownloadFontHeader)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- OUT DWORD *pdwResult);
-
- //
- // OEMDownloadCharGlyph - UNIDRV only
- //
-
- STDMETHOD(DownloadCharGlyph)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- HGLYPH hGlyph,
- PDWORD pdwWidth,
- OUT DWORD *pdwResult);
-
- //
- // OEMTTDownloadMethod - UNIDRV only
- //
-
- STDMETHOD(TTDownloadMethod)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- OUT DWORD *pdwResult);
-
- //
- // OEMOutputCharStr - UNIDRV only
- //
-
- STDMETHOD(OutputCharStr)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- DWORD dwType,
- DWORD dwCount,
- PVOID pGlyph);
-
- //
- // OEMSendFontCmd - UNIDRV only
- //
-
-
- STDMETHOD(SendFontCmd)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- PFINVOCATION pFInv);
-
- //
- // OEMTextOutAsBitmap - UNIDRV only
- //
-
- STDMETHOD(TextOutAsBitmap)(THIS_ SURFOBJ *pso,
- STROBJ *pstro,
- FONTOBJ *pfo,
- CLIPOBJ *pco,
- RECTL *prclExtra,
- RECTL *prclOpaque,
- BRUSHOBJ *pboFore,
- BRUSHOBJ *pboOpaque,
- POINTL *pptlOrg,
- MIX mix);
-
- //
- // IPrintOemUni2 methods
- //
-
- //
- // Method for plugin to hook out spooler's WritePrinter API so it
- // can get access to output data Universal driver is generating
- //
- // At DrvEnablePDEV time, Universal driver will call this function with
- // pdevobj = NULL, pBuf = NULL, cbBuffer = 0 to detect if the plugin
- // implements this function. Plugin should return S_OK to indicate it is
- // implementing this function, or return E_NOTIMPL otherwise.
- //
- // In pcbWritten, plugins should return the number of bytes written to the
- // spooler's WritePrinter function. Zero doesn't carry a special meaning,
- // errors must be reported through the returned HRESULT.
- //
-
- STDMETHOD(WritePrinter)(THIS_ PDEVOBJ pdevobj,
- PVOID pBuf,
- DWORD cbBuffer,
- PDWORD pcbWritten);
-
-
- COemUni2();
- ~COemUni2();
-
-protected:
- LONG m_cRef;
- IPrintOemDriverUni* m_pOEMHelp;
-};
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/precomp.h
deleted file mode 100644
index d26e300b..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/precomp.h
+++ /dev/null
@@ -1,40 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: precomp.H
-//
-//
-// PURPOSE: Required header files external to the current project
-// that do not need to be recompiled frequently.
-//
-
-
-#pragma once
-
-#include <STDDEF.H>
-#include <STDLIB.H>
-#include <OBJBASE.H>
-#include <STDARG.H>
-#include <STDIO.H>
-#include <WINDEF.H>
-#include <WINERROR.H>
-#include <WINBASE.H>
-#include <WINGDI.H>
-#include <WINDDI.H>
-#include <TCHAR.H>
-#include <EXCPT.H>
-#include <ASSERT.H>
-#include <PRINTOEM.H>
-#include <INTSAFE.H>
-#include <DRIVERSPECS.H>
-#include <INITGUID.H>
-#include <PRCOMOEM.H>
-
-// StrSafe.h needs to be included last
-// to disallow unsafe string functions.
-#include <STRSAFE.H>
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/precompsrc.cpp
deleted file mode 100644
index 5944cf51..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/precompsrc.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "precomp.h" \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/resource.h
deleted file mode 100644
index 8e941820..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/resource.h
+++ /dev/null
@@ -1,17 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by OEMUNI.rc
-//
-
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 103
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp.gpd b/print/OEM Printer Customization Plug-in Samples/C++/custhlp.gpd
deleted file mode 100644
index 23c72bea..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp.gpd
+++ /dev/null
@@ -1,563 +0,0 @@
-*GPDSpecVersion: "1.0"
-*Include: "StdNames.gpd"
-*ModelName: "OEM Unidrv Customization Sample"
-*MasterUnits: PAIR(1200, 1200)
-*ResourceDLL: "unires.dll"
-*PrinterType: PAGE
-*MaxCopies: 99
-
-*%-------------------------------------
-*%This is your OEM Custom Help file.
-*%-------------------------------------
-*HelpFile: "CUSTOMDRV.HLP"
-
-*PrintRate: 8
-*PrintRateUnit: PPM
-*PrintRatePPM: 8
-
-*Feature: Orientation
-{
- *HelpIndex: 15001
- *rcNameID: =ORIENTATION_DISPLAY
- *DefaultOption: PORTRAIT
- *Option: PORTRAIT
- {
- *rcNameID: =PORTRAIT_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.6
- *Cmd: "<1B>&l0O"
- }
- }
- *Option: LANDSCAPE_CC90
- {
- *rcNameID: =LANDSCAPE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.6
- *Cmd: "<1B>&l1O"
- }
- }
-}
-
-*%-------------------------------------
-*%This Features std help is replaced with OEM help.
-*%Note you need to have *HelpFile: def in the general section.
-*%HelpIndex is OEM ref ID
-*%-------------------------------------
-*Feature: InputBin
-{
- *HelpIndex: 15001
- *rcNameID: =PAPER_SOURCE_DISPLAY
- *DefaultOption: UPPER
- *Option: UPPER
- {
- *rcNameID: =UPPER_TRAY_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.9
- *Cmd: "<1B>&l1H"
- }
- }
-}
-*Feature: Resolution
-{
- *HelpIndex: 15001
- *rcNameID: =RESOLUTION_DISPLAY
- *DefaultOption: Option1
- *Option: Option1
- {
- *Name: "300 x 300 " =DOTS_PER_INCH
- *DPI: PAIR(300, 300)
- *TextDPI: PAIR(300, 300)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
- *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
- *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.4
- *Cmd: "<1B>%%-12345X"
-+ "@PJL COMMENT HP Color LaserJet 5/5M "
-+ "Version 0.56<0A>"
-+ "@PJL SET RESOLUTION=300<0A>"
-+ "@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R"
- }
- }
- *Option: Option2
- {
- *Name: "150 x 150 " =DOTS_PER_INCH
- *DPI: PAIR(150, 150)
- *TextDPI: PAIR(300, 300)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
- *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
- *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.4
- *Cmd: "<1B>%%-12345X"
-+ "@PJL COMMENT HP Color LaserJet 5/5M "
-+ "Version 0.56<0A>"
-+ "@PJL SET RESOLUTION=150<0A>"
-+ "@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R"
- }
- }
-}
-
-*Feature: PaperSize
-{
- *HelpIndex: 15001
- *rcNameID: =PAPER_SIZE_DISPLAY
- *DefaultOption: LETTER
- *Option: LETTER
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *%(9600, 12648)
-*% *PrintableArea: PAIR(9600, 12648)
- *PrintableArea: PAIR(9564, 12600)
-*% *PrintableArea: PAIR(5000,5000)
- *PrintableOrigin: PAIR(300, 300)
-*% *PrintableOrigin: PAIR(300, 500)
- *switch: Resolution
- {
- *case: Option2
- {
-*% Warning: the following printable width is adjusted (9600->9592) so it is divisible by the resolution X scale.
-*% Warning: the following printable length is adjusted (12648->12640) so it is divisible by the resolution Y scale.
- *PrintableArea: PAIR(9592, 12640)
-*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale.
-*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale.
- *PrintableOrigin: PAIR(304, 304)
- }
- }
- *CursorOrigin: PAIR(300, 180)
- *Command: CmdSelect
- {
- *%5760 -- 7560
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t5760x7604Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *%(9720, 12648)
- *PrintableArea: PAIR(9760, 12688)
- *PrintableOrigin: PAIR(200, 272)
- *CursorOrigin: PAIR(200, 12960)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t7632x5880Y"
- }
- }
- }
- }
- *Option: LEGAL
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9540, 16248)
- *PrintableOrigin: PAIR(300, 300)
- *switch: Resolution
- {
- *case: Option2
- {
-*% Warning: the following printable width is adjusted (9600->9592) so it is divisible by the resolution X scale.
-*% Warning: the following printable length is adjusted (16248->16240) so it is divisible by the resolution Y scale.
- *PrintableArea: PAIR(9592, 16240)
-*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale.
-*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale.
- *PrintableOrigin: PAIR(304, 304)
- }
- }
- *CursorOrigin: PAIR(300, 180)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t5760x9864Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9760, 16288)
- *PrintableOrigin: PAIR(200, 272)
- *CursorOrigin: PAIR(200, 16560)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t9792x5880Y"
- }
- }
- }
- }
- *Option: EXECUTIVE
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(8100, 12000)
- *PrintableOrigin: PAIR(300, 300)
- *switch: Resolution
- {
- *case: Option2
- {
-*% Warning: the following printable width is adjusted (8100->8096) so it is divisible by the resolution X scale.
-*% Warning: the following printable length is adjusted (12000->11992) so it is divisible by the resolution Y scale.
- *PrintableArea: PAIR(8096, 11992)
-*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale.
-*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale.
- *PrintableOrigin: PAIR(304, 304)
- }
- }
- *CursorOrigin: PAIR(300, 180)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t4860x7344Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(8200, 12080)
- *PrintableOrigin: PAIR(240, 280)
- *CursorOrigin: PAIR(200, 12360)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t7272x4980Y"
- }
- }
- }
- }
- *Option: A4
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9324, 13476)
- *PrintableOrigin: PAIR(300, 300)
- *switch: Resolution
- {
- *case: Option2
- {
-*% Warning: the following printable width is adjusted (9324->9320) so it is divisible by the resolution X scale.
-*% Warning: the following printable length is adjusted (13476->13472) so it is divisible by the resolution Y scale.
- *PrintableArea: PAIR(9320, 13472)
-*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale.
-*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale.
- *PrintableOrigin: PAIR(304, 304)
- }
- }
- *CursorOrigin: PAIR(300, 180)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t5594x8201Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9464, 13516)
- *PrintableOrigin: PAIR(220, 272)
- *switch: Resolution
- {
- *case: Option2
- {
-*% Warning: the following printable width is adjusted (9464->9456) so it is divisible by the resolution X scale.
-*% Warning: the following printable length is adjusted (13516->13512) so it is divisible by the resolution Y scale.
- *PrintableArea: PAIR(9456, 13512)
-*% Warning: the following printable origin X is adjusted (220->224) so it is divisible by the resolution X scale.
- *PrintableOrigin: PAIR(224, 272)
- }
- }
- *CursorOrigin: PAIR(200, 13788)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t8129x5714Y"
- }
- }
- }
- }
- *Option: A3
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(13428, 19308)
- *PrintableOrigin: PAIR(300, 300)
- *switch: Resolution
- {
- *case: Option2
- {
-*% Warning: the following printable width is adjusted (13428->13424) so it is divisible by the resolution X scale.
-*% Warning: the following printable length is adjusted (19308->19304) so it is divisible by the resolution Y scale.
- *PrintableArea: PAIR(13424, 19304)
-*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale.
-*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale.
- *PrintableOrigin: PAIR(304, 304)
- }
- }
- *CursorOrigin: PAIR(300, 180)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l27a8c1E<1B>*p0x0Y<1B>*c0t8057x11693Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(13588, 19368)
- *PrintableOrigin: PAIR(200, 240)
- *switch: Resolution
- {
- *case: Option2
- {
-*% Warning: the following printable width is adjusted (13588->13584) so it is divisible by the resolution X scale.
- *PrintableArea: PAIR(13584, 19368)
- }
- }
- *CursorOrigin: PAIR(200, 19608)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l27a8c1E<1B>*p0x0Y<1B>*c0t11621x8177Y"
- }
- }
- }
- }
- *Option: TABLOID
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *switch: Orientation
- {
- *case: PORTRAIT
- {
-*% *PrintableArea: PAIR(12600, 19800)
- *PrintableArea: PAIR(12540, 19740)
- *PrintableOrigin: PAIR(300, 300)
- *switch: Resolution
- {
- *case: Option2
- {
-*% Warning: the following printable width is adjusted (12600->12592) so it is divisible by the resolution X scale.
-*% Warning: the following printable length is adjusted (19800->19792) so it is divisible by the resolution Y scale.
- *PrintableArea: PAIR(12592, 19792)
-*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale.
-*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale.
- *PrintableOrigin: PAIR(304, 304)
- }
- }
- *CursorOrigin: PAIR(300, 200)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l6a8c1E<1B>*p0x0Y<1B>*c0t7560x12000Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(12600, 19800)
- *PrintableOrigin: PAIR(300, 300)
- *switch: Resolution
- {
- *case: Option2
- {
-*% Warning: the following printable width is adjusted (12600->12592) so it is divisible by the resolution X scale.
-*% Warning: the following printable length is adjusted (19800->19792) so it is divisible by the resolution Y scale.
- *PrintableArea: PAIR(12592, 19792)
-*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale.
-*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale.
- *PrintableOrigin: PAIR(304, 304)
- }
- }
- *CursorOrigin: PAIR(200, 20100)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l6a8c1E<1B>*p0x0Y<1B>*c0t11880x7680Y"
- }
- }
- }
- }
-}
-*Feature: MediaType
-{
- *HelpIndex: 15001
- *rcNameID: =MEDIA_TYPE_DISPLAY
- *DefaultOption: STANDARD
- *Option: STANDARD
- {
- *rcNameID: =PLAIN_PAPER_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.14
- *Cmd: "<1B>&l0M"
- }
- }
- *Option: TRANSPARENCY
- {
- *rcNameID: =TRANSPARENCY_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.14
- *Cmd: "<1B>&l4M"
- }
- }
-}
-*Feature: ColorMode
-{
- *rcNameID: =COLOR_PRINTING_MODE_DISPLAY
- *HelpIndex: 12004
- *DefaultOption: 24bpp
- *Option: 24bpp
- {
- *rcNameID: =24BPP_DISPLAY
- *DevNumOfPlanes: 1
- *DevBPP: 24
- *DrvBPP: 24
- *Command: CmdEnableDRC { *Cmd : "<1B>*b3M" }
- *PaletteSize: 256
- *PaletteProgrammable? : TRUE
- *Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" %d{PaletteIndexToProgram}
-+ "I" }
- *Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" }
- *Command: CmdSetSrcBmpWidth { *Cmd : "<1B>*r" %d{RasterDataWidthInBytes / 3}"S" }
- *Command: CmdSelect
- {
- *Order: PAGE_SETUP.16
- *Cmd: "<1B>*v1N<1B>*v1O<1B>*l184O<1B>*v6W<0003080808081B>*v0a0b0c7i255a255b255c0I<1B>*"
-+ "o3W<060400>"
- }
- }
-}
-*Feature: Halftone
-{
- *rcNameID: =HALFTONING_DISPLAY
- *HelpIndex: 12005
- *DefaultOption: HT_PATSIZE_AUTO
- *Option: HT_PATSIZE_AUTO
- {
- *rcNameID: =HT_AUTO_SELECT_DISPLAY
- }
- *Option: HT_PATSIZE_SUPERCELL_M
- {
- *rcNameID: =HT_SUPERCELL_DISPLAY
- }
- *Option: HT_PATSIZE_6x6_M
- {
- *rcNameID: =HT_DITHER6X6_DISPLAY
- }
- *Option: HT_PATSIZE_8x8_M
- {
- *rcNameID: =HT_DITHER8X8_DISPLAY
- }
-}
-*Command: CmdStartDoc
-{
- *Order: DOC_SETUP.5
- *Cmd: "<1B>&u300D<1B>*r0F"
-}
-*Command: CmdStartPage
-{
- *Order: PAGE_SETUP.1
- *Cmd: "<1B>*b0M<0D>"
-}
-*Command: CmdEndJob
-{
- *Order: JOB_FINISH.1
- *Cmd: "<1B>E<1B>%%-12345X"
-}
-*Command: CmdCopies
-{
- *Order: DOC_SETUP.11
- *Cmd: "<1B>&l" %d{NumOfCopies}"X"
-}
-*RotateCoordinate?: TRUE
-*RotateRaster?: TRUE
-*RotateFont?: TRUE
-*TextCaps: LIST(TC_CR_90,TC_UA_ABLE)
-*MemoryUsage: LIST(FONT)
-*CursorXAfterCR: AT_PRINTABLE_X_ORIGIN
-*BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE)
-*XMoveThreshold: 0
-*YMoveThreshold: 0
-*XMoveUnit: 300
-*YMoveUnit: 300
-*Command: CmdXMoveAbsolute { *Cmd : "<1B>*p" %d{(DestX / 4) }"X" }
-*Command: CmdXMoveRelRight { *Cmd : "<1B>*p+" %d[0,9600]{max_repeat((DestXRel / 4) )}"X" }
-*Command: CmdXMoveRelLeft { *Cmd : "<1B>*p-" %d[0,9600]{max_repeat((DestXRel / 4) )}"X" }
-*Command: CmdYMoveAbsolute { *Cmd : "<1B>*p" %d{(DestY / 4) }"Y" }
-*Command: CmdYMoveRelDown { *Cmd : "<1B>*p+" %d[1,12600]{max_repeat((DestYRel / 4) )}"Y" }
-*Command: CmdYMoveRelUp { *Cmd : "<1B>*p-" %d[1,12600]{max_repeat((DestYRel / 4) )}"Y" }
-*Command: CmdCR { *Cmd : "<0D>" }
-*Command: CmdLF { *Cmd : "<0A>" }
-*Command: CmdFF { *Cmd : "<0C>" }
-*Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" %d{PaletteIndexToProgram}
-+ "I" }
-*Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" }
-*Command: CmdBackSpace { *Cmd : "<08>" }
-*Command: CmdUniDirectionOn { *Cmd : "<00>" }
-*Command: CmdUniDirectionOff { *Cmd : "<00>" }
-*Command: CmdPushCursor { *Cmd : "<1B>&f0S" }
-*Command: CmdPopCursor { *Cmd : "<1B>&f1S" }
-*Command: CmdSetSimpleRotation { *Cmd : "<1B>&a" %d{PrintDirInCCDegrees}"P" }
-*EjectPageWithFF?: TRUE
-*Command: CmdEnableTIFF4 { *Cmd : "<1B>*b2M" }
-*Command: CmdDisableCompression { *Cmd : "<1B>*b0M" }
-*OutputDataFormat: H_BYTE
-*OptimizeLeftBound?: TRUE
-*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN
-*CursorYAfterSendBlockData: AUTO_INCREMENT
-
-*DefaultFont: 136
-*DefaultCTT: 0
-*CharPosition: BASELINE
-*TTFSEnabled?: TRUE
-*DeviceFonts: LIST(134,135,136,137,138,139,140,146,147,148,149,150,151,152,153,154,
-+ 155,156,157,164,165,166,196,197,198,199,200,201,202,203,209,210,
-+ 211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,
-+ 227,228,229,230)
-
-*MinFontID: 16534
-*MaxFontID: 32768
-*FontFormat: HPPCL_OUTLINE
-*% When the %f format is implemented we can remove the /100 part of
-*% CmdSelectFontHeight and CmdSelectFontWidth
-*% NOTE: MasterUnits.x is hardcoded here!
-*% NOTE: THIS dividing by 200 because I want to /100 and then /2 for now.
-*% The number 60000 may look strange, but it's 1200/2 * 100.
-*Command: CmdSelectFontHeight { *Cmd : "<1B>(s" %d{FontHeight}"V" }
-*Command: CmdSelectFontWidth { *Cmd : "<1B>(s" %f{1200 / FontWidth}"H" }
-*Command: CmdSetFontID { *Cmd : "<1B>*c" %d{NextFontID}"D" }
-*Command: CmdSelectFontID { *Cmd : "<1B>(" %d{CurrentFontID}"X" }
-*Command: CmdSetCharCode { *Cmd : "<1B>*c" %d{NextGlyph}"E" }
-*Command: CmdUnderlineOn { *Cmd : "<1B>&dD" }
-*Command: CmdUnderlineOff { *Cmd : "<1B>&d@" }
-*Command: CmdWhiteTextOn { *Cmd : "<1B>*v1o1T" }
-*Command: CmdWhiteTextOff { *Cmd : "<1B>*v0o0T" }
-*MinGrayFill: 1
-*MaxGrayFill: 100
-*Command: CmdSetRectWidth { *Cmd : "<1B>*c" %d{(RectXSize / 4) }"A" }
-*Command: CmdSetRectHeight { *Cmd : "<1B>*c" %d{(RectYSize / 4) }"B" }
-*Command: CmdRectGrayFill { *Cmd : "<1B>*c" %d{GrayPercentage }"g2P" }
-*Command: CmdRectWhiteFill { *Cmd : "<1B>*c1P" }
-*Command: CmdRectBlackFill { *Cmd : "<1B>*c0P" }
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp.ini b/print/OEM Printer Customization Plug-in Samples/C++/custhlp.ini
deleted file mode 100644
index 2e014201..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[OEMFiles]
-OEMConfigFile1=CUSTHLP.DLL
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.def b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.def
deleted file mode 100644
index 68bdffc0..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY OEMUI
-EXPORTS DllGetClassObject PRIVATE
- DllCanUnloadNow PRIVATE \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.vcxproj
deleted file mode 100644
index 60f17f4c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.vcxproj
+++ /dev/null
@@ -1,1060 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Win10 Debug|ARM64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|Win32">
- <Configuration>Win10 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|x64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|ARM64">
- <Configuration>Win10 Release</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|Win32">
- <Configuration>Win10 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|x64">
- <Configuration>Win10 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|Win32">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|Win32">
- <Configuration>Win8 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|Win32">
- <Configuration>Win7 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|Win32">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|Win32">
- <Configuration>Win8 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|Win32">
- <Configuration>Win7 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|x64">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|x64">
- <Configuration>Win8 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|x64">
- <Configuration>Win7 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|x64">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|x64">
- <Configuration>Win8 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|x64">
- <Configuration>Win7 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{CA70C64A-75C8-48CD-9224-335C2ED689A6}</ProjectGuid>
- <RootNamespace>$(MSBuildProjectName)</RootNamespace>
- <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration>
- <Platform Condition="'$(Platform)' == ''">Win32</Platform>
- <SampleGuid>{67281069-E045-4DCB-82BF-17B46979B788}</SampleGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <PropertyGroup>
- <OutDir>$(IntDir)</OutDir>
- </PropertyGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ItemGroup Label="WrappedTaskItems" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetName>CUSTHLP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetName>CUSTHLP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetName>CUSTHLP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <TargetName>CUSTHLP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <TargetName>CUSTHLP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetName>CUSTHLP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetName>CUSTHLP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetName>CUSTHLP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <TargetName>CUSTHLP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <TargetName>CUSTHLP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetName>CUSTHLP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetName>CUSTHLP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetName>CUSTHLP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <TargetName>CUSTHLP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetName>CUSTHLP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetName>CUSTHLP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetName>CUSTHLP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <TargetName>CUSTHLP</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="devmode.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="globals.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="oemui.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Create</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ResourceCompile Include="oemui.rc" />
- </ItemGroup>
- <ItemGroup>
- <Inf Exclude="@(Inf)" Include="*.inf" />
- <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" />
- </ItemGroup>
- <ItemGroup>
- <None Exclude="@(None)" Include="*.txt;*.htm;*.html" />
- <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" />
- <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.vcxproj.Filters
deleted file mode 100644
index 4c89a16e..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.vcxproj.Filters
+++ /dev/null
@@ -1,220 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions>
- <UniqueIdentifier>{C7019300-D308-4256-B5E7-2CF8880D9E37}</UniqueIdentifier>
- </Filter>
- <Filter Include="Header Files">
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- <UniqueIdentifier>{8C99BD7D-E931-4BC0-810B-E56E2CE71883}</UniqueIdentifier>
- </Filter>
- <Filter Include="Resource Files">
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions>
- <UniqueIdentifier>{B8E59174-9E39-4E27-A90D-17A011B16729}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="devmode.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="globals.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="oemui.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="oemui.rc">
- <Filter>Resource Files</Filter>
- </ResourceCompile>
- </ItemGroup>
- <ItemGroup>
- <None Include="CUSTHLP.def">
- <Filter>Source Files</Filter>
- </None>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.cnt b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.cnt
deleted file mode 100644
index 4713a3b5..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.cnt
+++ /dev/null
@@ -1,3 +0,0 @@
-:Base windows.HLP
-1 Dialog Box Help
-2 Information about this Help file=nocontent
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.h b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.h
deleted file mode 100644
index f49cbd14..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.h
+++ /dev/null
@@ -1,11 +0,0 @@
-//
-//
-//
-//
-//////////////////////////////////////////////////////////////////
-
-#define CUSDRV_HELPTOPIC_1 = 15001
-#define CUSDRV_HELPTOPIC_2 = 15002
-#define CUSDRV_HELPTOPIC_3 = 15003
-#define CUSDRV_HELPTOPIC_4 = 15004
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.hpj b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.hpj
deleted file mode 100644
index 2ccc18db..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.hpj
+++ /dev/null
@@ -1,17 +0,0 @@
-; This file is maintained by HCW. Do not modify this file directly.
-
-[OPTIONS]
-COMPRESS=12 Hall Zeck
-ERRORLOG=customdrv.err
-LCID=0x409 0x0 0x0 ; English (United States)
-REPORT=Yes
-TITLE=Windows
-CNT=customdrv.cnt
-COPYRIGHT=%date
-HLP=customdrv.hlp
-
-[FILES]
-customdrv.rtf
-
-[MAP]
-#include customdrv.h
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.rtf b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.rtf
deleted file mode 100644
index 5ddf4b0e..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.rtf
+++ /dev/null
@@ -1,22 +0,0 @@
-{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times};}{\f30\froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times};}
-{\f31\froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times};}{\f33\froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times};}{\f34\froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times};}
-{\f35\froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times};}{\f36\froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times};}{\f37\froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times};}}{\colortbl;\red0\green0\blue0;
-\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;
-\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}
-{\*\cs10 \additive Default Paragraph Font;}{\s15\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext15 endnote text;}{
-\s16\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext16 footnote text;}{\*\cs17 \additive \super \sbasedon10 footnote reference;}{\*\cs18 \additive \super
-\sbasedon10 endnote reference;}{\*\cs19 \additive \fs16\cf0\up6 \sbasedon10 ExternalFN;}{\s20\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033
-\sbasedon0 \snext20 header;}{\s21\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext21 footer;}}{\info{\author Craig Horsfield}
-{\operator Craig Horsfield}{\creatim\yr2001\mo2\dy27\hr15\min6}{\revtim\yr2001\mo4\dy2\hr15\min7}{\version5}{\edmins3}{\nofpages3}{\nofwords17}{\nofchars100}{\*\company Microsoft}{\nofcharsws0}{\vern8269}}
-\widowctrl\ftnbj\aendnotes\ftnnrlc\aftnnar\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale144\viewzk2\nolnhtadjtbl \fet0\sectd
-\linex0\sectdefaultcl {\header \pard\plain \s20\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
-\par }}{\footer \pard\plain \s21\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
-\par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}
-{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8
-\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
-\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\cs19\fs16\up6 @{\footnote \pard\plain \s16\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\cs17\super @}{
- The following topics are for Custom options in the Custom Driver UI Plugin.}} #{\footnote \pard\plain \s16\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\cs17\super #}{
- CUSDRV_HELPTOPIC_1}}}{ Custom Topic 1 Help text contained in customdrv.rtf.
-\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\page }{\cs19\fs16\up6 #{\footnote \pard\plain \s16\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\cs17\super #}{
- CUSDRV_HELPTOPIC_2}}}{ Custom Topic 2 Help text contained in customdrv.rtf. }{\fs20 \page }{
-\par }} \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/debug.h
deleted file mode 100644
index 0414569c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/debug.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Debug.H
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debugging functions. Also defines the various debug macros.
-//
-//
-
-#pragma once
-
-/////////////////////////////////////////////////////////
-// Macros
-/////////////////////////////////////////////////////////
-//
-// These macros are used for debugging purposes. They expand
-// to white spaces on a free build. Here is a brief description
-// of what they do and how they are used:
-//
-// giDebugLevel
-// Global variable which set the current debug level to control
-// the amount of debug messages emitted.
-//
-// WARNING(msg)
-// Display a message if the current debug level is <= DBG_WARNING.
-// The message format is: WRN filename (linenumber): message
-//
-// ERR(msg)
-// Similiar to WARNING macro above - displays a message
-// if the current debug level is <= DBG_ERROR.
-//
-// ASSERT(cond)
-// Verify a condition is true. If not, force a breakpoint.
-//
-// RIP(msg)
-// Display a message and force a breakpoint.
-//
-// Usage:
-// WARNING("App passed NULL pointer, ignoring...\n");
-//
-
-#define DBG_VERBOSE 0
-#define DBG_WARNING 1
-#define DBG_ERROR 2
-#define DBG_NONE 3
-
-// VC and Build use different debug defines.
-#if defined (DBG) || defined (_DEBUG)
-
- // __declspec(selectany) ensures that even if this is defined in multiple compilation
- // modules, they will all resolve to the same symbol in the linked DLL
- __declspec(selectany) INT giDebugLevel = 2;
-
- #define STRINGIZE(x) #x
- #define QUOTE(x) STRINGIZE(x)
- #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__)
-
- #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); }
- #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); }
- #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); }
- #define ASSERT(cond) { if (!(cond)) RIP("\n"); }
- #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); }
-
-#else // !DBG
-
- #define VERBOSE(msg)
- #define WARNING(msg)
- #define ERR(msg)
- #define ASSERT(cond)
- #define RIP(msg)
-
-#endif
-
-
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/devmode.cpp
deleted file mode 100644
index 8dae1ed3..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/devmode.cpp
+++ /dev/null
@@ -1,182 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.cpp
-//
-// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules.
-//
-
-
-#include "precomp.h"
-#include "oemui.h"
-#include "debug.h"
-#include "devmode.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-//
-//Performs operation on UI Plugins Private DevMode Members.
-//Called via IOemUI::DevMode
-//
-
-HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam)
-{
- POEMDEV pOEMDevIn;
- POEMDEV pOEMDevOut;
-
-
- // Verify parameters.
- if( (NULL == pOemDMParam)
- ||
- ( (OEMDM_SIZE != dwMode)
- &&
- (OEMDM_DEFAULT != dwMode)
- &&
- (OEMDM_CONVERT != dwMode)
- &&
- (OEMDM_MERGE != dwMode)
- )
- )
- {
- ERR("DevMode() ERROR_INVALID_PARAMETER.\r\n");
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Cast generic (i.e. PVOID) to OEM private devomode pointer type.
- pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn;
- pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut;
-
- switch(dwMode)
- {
- //
- //The Method should return the size of the memory allocation needed to store the UI plugin Private DEVMODE.
- //
- case OEMDM_SIZE:
- pOemDMParam->cbBufSize = sizeof(OEMDEV);
- break;
-
- //
- //Should fill the Private DEVMODE with the default values.
- //
- case OEMDM_DEFAULT:
- //
- //OEM_DMEXTRAHEADER Members
- //
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
-
- //
- //Private members
- //
- pOEMDevOut->dwDriverData = 0;
- pOEMDevOut->dwAdvancedData = 0;
- break;
-
- //
- //The method should convert private DEVMODE members to the current version, if necessary.
- //
- case OEMDM_CONVERT:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- break;
-
- //
- //The method should validate the information contained in private DEVMODE members and merge validated values into a private DEVMODE structure containing default values
- //
- case OEMDM_MERGE:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- MakeOEMDevmodeValid(pOEMDevOut);
- break;
- }
-
- return S_OK;
-}
-
-
-BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut)
-{
- if( (NULL == pOEMDevIn)
- ||
- (NULL == pOEMDevOut)
- )
- {
- ERR("ConvertOEMDevmode() invalid parameters.\r\n");
- return FALSE;
- }
-
- // Check OEM Signature, if it doesn't match ours,
- // then just assume DMIn is bad and use defaults.
- if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature)
- {
- // Set the devmode defaults so that anything the isn't copied over will
- // be set to the default value.
- pOEMDevOut->dwDriverData = 0;
- pOEMDevOut->dwAdvancedData = 0;
-
- // Copy the old structure in to the new using which ever size is the smaller.
- // Devmode maybe from newer Devmode (not likely since there is only one), or
- // Devmode maybe a newer Devmode, in which case it maybe larger,
- // but the first part of the structure should be the same.
-
- // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to;
- // the fields that are in the DEVMODE never change only new fields get added to the end.
-
- memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize));
-
- // Re-fill in the size and version fields to indicated
- // that the DEVMODE is the current private DEVMODE version.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- }
- else
- {
- WARNING("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n");
-
- // Don't know what the input DEVMODE is, so just use defaults.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- pOEMDevOut->dwDriverData = 0;
- pOEMDevOut->dwAdvancedData = 0;
- }
-
- return TRUE;
-}
-
-
-BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode)
-{
- if(NULL == pOEMDevmode)
- {
- return FALSE;
- }
-
- // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure.
-
- // Make sure that dmOEMExtra indicates the current OEMDEV structure.
- pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION;
-
- // Set driver data, if not valid.
- if(pOEMDevmode->dwDriverData > 100)
- {
- pOEMDevmode->dwDriverData = 0;
- }
-
- // Set Advanced driver data, if not valid.
- if(pOEMDevmode->dwAdvancedData > 100)
- {
- pOEMDevmode->dwAdvancedData = 0;
- }
-
- return TRUE;
-}
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/devmode.h
deleted file mode 100644
index fe594658..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/devmode.h
+++ /dev/null
@@ -1,46 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.h
-//
-// PURPOSE: The plug-in private devmode, common data types, and
-// external function prototypes for devmode functions.
-//
-
-#pragma once
-
-
-//
-//Can add info to the private devmode bellow here.
-//Note :
-// This structure must be prefixed by OEM_DMEXTRAHEADER
-// Your plug-in must implement the IPrintOemUI::DevMode method
-//
-typedef struct tagOEMDEV
-{
- OEM_DMEXTRAHEADER dmOEMExtra;
- DWORD dwDriverData;
- DWORD dwAdvancedData;
-
- //
- //Private DevMode Members
- //
-
-} OEMDEV, *POEMDEV;
-
-typedef const OEMDEV *PCOEMDEV;
-
-
-/////////////////////////////////////////////////////////
-// ProtoTypes
-/////////////////////////////////////////////////////////
-
-HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam);
-BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut);
-BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode);
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/dllentry.cpp
deleted file mode 100644
index 287c0617..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/dllentry.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: dllentry.cpp
-//
-//
-// PURPOSE: Source module for DLL entry function(s).
-//
-
-#include "precomp.h"
-#include "oemui.h"
-#include "debug.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-///////////////////////////////////////////////////////////
-//
-// DLL entry point
-//
-BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved)
-{
- UNREFERENCED_PARAMETER(lpReserved);
-
- switch(wReason)
- {
- case DLL_PROCESS_ATTACH:
- ghInstance = hInst;
- break;
-
- case DLL_THREAD_ATTACH:
- break;
-
- case DLL_PROCESS_DETACH:
- break;
-
- case DLL_THREAD_DETACH:
- break;
- }
-
- return TRUE;
-}
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/globals.cpp b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/globals.cpp
deleted file mode 100644
index c41a27e4..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/globals.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Globals.cpp
-//
-//
-// PURPOSE: File that contains all the globals.
-//
-
-#include "precomp.h"
-#include "oemui.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-///////////////////////////////////////
-// Globals
-///////////////////////////////////////
-
-// Module's Instance handle from DLLEntry of process.
-HINSTANCE ghInstance = NULL;
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/globals.h b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/globals.h
deleted file mode 100644
index b9d707a0..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/globals.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Globals.h
-//
-// PURPOSE: Lists of globals declared in Globals.cpp.
-//
-
-
-#pragma once
-
-///////////////////////////////////////
-// Globals
-///////////////////////////////////////
-
-// Module's Instance handle from DLLEntry of process.
-extern HINSTANCE ghInstance;
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/intrface.cpp
deleted file mode 100644
index 2a1278cc..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/intrface.cpp
+++ /dev/null
@@ -1,562 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: intrface.cpp
-//
-// PURPOSE: Implementation of OEMGetInfo and OEMDevMode. Shared by all Unidrv
-// OEM test dll's.
-//
-
-#include "precomp.h"
-
-#include "oemui.h"
-#include "debug.h"
-#include "intrface.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-////////////////////////////////////////////////////////
-// Internal Globals
-////////////////////////////////////////////////////////
-
-static long g_cComponents = 0; // Count of active components
-static long g_cServerLocks = 0; // Count of locks
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IOemUI body
-//
-IOemUI::~IOemUI()
-{
- // Make sure that helper interface is released.
- if(NULL != m_pOEMHelp)
- {
- m_pOEMHelp->Release();
- m_pOEMHelp = NULL;
- }
-
- // If this instance of the object is being deleted, then the reference
- // count should be zero.
- ASSERT(0 == m_cRef);
-}
-
-HRESULT __stdcall IOemUI::QueryInterface(const IID& iid, void** ppv)
-{
- if (iid == IID_IUnknown)
- {
- *ppv = static_cast<IUnknown*>(this);
- }
- else if (iid == IID_IPrintOemUI)
- {
- *ppv = static_cast<IPrintOemUI*>(this);
- }
- else
- {
- *ppv = NULL;
- return E_NOINTERFACE;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef();
- return S_OK;
-}
-
-ULONG __stdcall IOemUI::AddRef()
-{
- return InterlockedIncrement(&m_cRef);
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IOemUI::Release()
-{
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-//
-// (Implementation is required) Supplies a pointer to UNIDRIVE /PScript IPrintOemDriverUI
-//
-HRESULT __stdcall IOemUI::PublishDriverInterface(
- IUnknown *pIUnknown)
-{
- // Need to store pointer to Driver Helper functions, if we already haven't.
- if (m_pOEMHelp == NULL)
- {
- HRESULT hResult;
-
-
- // Get Interface to Helper Functions.
- hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverUI, (void** ) &(m_pOEMHelp));
-
- if(!SUCCEEDED(hResult))
- {
- // Make sure that interface pointer reflects interface query failure.
- m_pOEMHelp = NULL;
-
- return E_FAIL;
- }
- }
-
- return S_OK;
-}
-
-//
-//(Implementation is required) Returns the UI Plugin's identification information
-//
-HRESULT __stdcall IOemUI::GetInfo(
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- // Validate parameters.
- if( (NULL == pcbNeeded)
- ||
- ( (OEMGI_GETSIGNATURE != dwMode)
- &&
- (OEMGI_GETVERSION != dwMode)
- &&
- (OEMGI_GETPUBLISHERINFO != dwMode)
- )
- )
- {
- WARNING("IOemUI::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER\r\r\n");
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Set expected buffer size and number of bytes written.
- *pcbNeeded = sizeof(DWORD);
-
- // Check buffer size is sufficient.
- if((cbSize < *pcbNeeded) || (NULL == pBuffer))
- {
- WARNING("IOemUI::GetInfo() exit insufficient buffer!\r\r\n");
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- // OEM DLL Signature
- case OEMGI_GETSIGNATURE:
- *(PDWORD)pBuffer = OEM_SIGNATURE;
- break;
-
- // OEM DLL version
- case OEMGI_GETVERSION:
- *(PDWORD)pBuffer = OEM_VERSION;
- break;
-
- // dwMode not supported.
- default:
- // Set written bytes to zero since nothing was written.
- WARNING("IOemUI::GetInfo() exit mode not supported.\r\r\n");
- *pcbNeeded = 0;
- SetLastError(ERROR_NOT_SUPPORTED);
- return E_FAIL;
- }
-
- return S_OK;
-}
-
-
-//
-//Performs operation on UI Plugins Private DevMode Members.
-//
-HRESULT __stdcall IOemUI::DevMode(
- DWORD dwMode,
- POEMDMPARAM pOemDMParam)
-{
- return hrOEMDevMode(dwMode, pOemDMParam);
-}
-
-
-//
-//Allows UI Plugin to Modifiy Existing printer porp sheet and document property sheet page..
-//
-HRESULT __stdcall IOemUI::CommonUIProp(
- DWORD dwMode,
- POEMCUIPPARAM pOemCUIPParam)
-{
- return hrOEMPropertyPage(dwMode, pOemCUIPParam);
-}
-
-
-//
-//Adds a New page to the device Documment property sheet.
-//
-
-HRESULT __stdcall IOemUI::DocumentPropertySheets(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam)
-{
- return hrOEMDocumentPropertySheets(pPSUIInfo, lParam, m_pOEMHelp);
-}
-
-//
-//Adds a New page to the device printer property page.
-//
-HRESULT __stdcall IOemUI::DevicePropertySheets(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam)
-{
- return hrOEMDevicePropertySheets(pPSUIInfo, lParam);
-}
-
-
-//
-//Allows the UI plugin to spec Customized device capabilaties (TODO)
-//
-HRESULT __stdcall IOemUI::DeviceCapabilities(
- POEMUIOBJ poemuiobj,
- HANDLE hPrinter,
- _In_ PWSTR pDeviceName,
- WORD wCapability,
- PVOID pOutput,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- DWORD dwOld,
- DWORD *dwResult)
-{
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(pDeviceName);
- UNREFERENCED_PARAMETER(wCapability);
- UNREFERENCED_PARAMETER(pOutput);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
- UNREFERENCED_PARAMETER(dwOld);
- UNREFERENCED_PARAMETER(dwResult);
-
- return E_NOTIMPL;
-}
-
-
-//
-//Allows the UI plugin to help determine if a print Job is printable.
-//
-HRESULT __stdcall IOemUI::DevQueryPrintEx(
- POEMUIOBJ poemuiobj,
- PDEVQUERYPRINT_INFO pDQPInfo,
- PDEVMODE pPublicDM,
- PVOID pOEMDM)
-{
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(pDQPInfo);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
-
- return E_NOTIMPL;
-}
-
-
-//
-//Allows the UI Plugin to upgrade its dev options stored in the registry.
-//
-HRESULT __stdcall IOemUI::UpgradePrinter(
- DWORD dwLevel,
- PBYTE pDriverUpgradeInfo)
-{
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(pDriverUpgradeInfo);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI::PrinterEvent(
- _In_ PWSTR pPrinterName,
- INT iDriverEvent,
- DWORD dwFlags,
- LPARAM lParam)
-{
- UNREFERENCED_PARAMETER(pPrinterName);
- UNREFERENCED_PARAMETER(iDriverEvent);
- UNREFERENCED_PARAMETER(dwFlags);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI::DriverEvent(
- DWORD dwDriverEvent,
- DWORD dwLevel,
- LPBYTE pDriverInfo,
- LPARAM lParam)
-{
- UNREFERENCED_PARAMETER(dwDriverEvent);
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(pDriverInfo);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-};
-
-
-HRESULT __stdcall IOemUI::QueryColorProfile(
- HANDLE hPrinter,
- POEMUIOBJ poemuiobj,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- ULONG ulQueryMode,
- VOID *pvProfileData,
- ULONG *pcbProfileData,
- FLONG *pflProfileData)
-{
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
-
- HRESULT Result = E_FAIL;
- static const WCHAR PROFILE_NAME[] = L"OEMPROFILE.icm\0";
-
- if(QCP_DEVICEPROFILE == ulQueryMode)
- {
- if(NULL == pvProfileData)
- {
- *pcbProfileData = sizeof(PROFILE_NAME);
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- }
- else
- {
- if(*pcbProfileData < sizeof(PROFILE_NAME))
- {
- *pcbProfileData = sizeof(PROFILE_NAME);
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- }
- else
- {
- Result = StringCbCopy((LPWSTR)pvProfileData, *pcbProfileData, PROFILE_NAME);
- *pcbProfileData = sizeof(PROFILE_NAME);
- *pflProfileData = QCP_PROFILEDISK;
-
- if(FAILED(Result))
- {
- SetLastError(Result);
- }
- }
- }
- }
-
- return Result;
-};
-
-HRESULT __stdcall IOemUI::FontInstallerDlgProc(
- HWND hWnd,
- UINT usMsg,
- WPARAM wParam,
- LPARAM lParam)
-{
- UNREFERENCED_PARAMETER(hWnd);
- UNREFERENCED_PARAMETER(usMsg);
- UNREFERENCED_PARAMETER(wParam);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-};
-
-HRESULT __stdcall IOemUI::UpdateExternalFonts(
- HANDLE hPrinter,
- HANDLE hHeap,
- _In_ PWSTR pwstrCartridges)
-{
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(hHeap);
- UNREFERENCED_PARAMETER(pwstrCartridges);
-
- return E_NOTIMPL;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// oem class factory
-//
-class IOemCF : public IClassFactory
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- // *** IClassFactory methods ***
- STDMETHOD(CreateInstance) (THIS_
- LPUNKNOWN pUnkOuter,
- REFIID riid,
- LPVOID FAR* ppvObject);
- STDMETHOD(LockServer) (THIS_ BOOL bLock);
-
-
- // Constructor
- IOemCF(): m_cRef(1) { };
- ~IOemCF() { };
-
-protected:
- LONG m_cRef;
-
-};
-
-///////////////////////////////////////////////////////////
-//
-// Class factory body
-//
-HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv)
-{
- if ((iid == IID_IUnknown) || (iid == IID_IClassFactory))
- {
- *ppv = static_cast<IOemCF*>(this);
- }
- else
- {
- *ppv = NULL;
- return E_NOINTERFACE;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef();
- return S_OK;
-}
-
-ULONG __stdcall IOemCF::AddRef()
-{
- return InterlockedIncrement(&m_cRef);
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IOemCF::Release()
-{
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-// IClassFactory implementation
-HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter,
- const IID& iid,
- void** ppv)
-{
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Cannot aggregate.
- if (pUnknownOuter != NULL)
- {
- return CLASS_E_NOAGGREGATION;
- }
-
- // Create component.
- IOemUI* pOemCB = new IOemUI;
- if (pOemCB == NULL)
- {
- return E_OUTOFMEMORY;
- }
- // Get the requested interface.
- HRESULT hr = pOemCB->QueryInterface(iid, ppv);
-
- // Release the IUnknown pointer.
- // (If QueryInterface failed, component will delete itself.)
- pOemCB->Release();
- return hr;
-}
-
-HRESULT __stdcall IOemCF::LockServer(BOOL bLock)
-{
- if (bLock)
- {
- InterlockedIncrement(&g_cServerLocks);
- }
- else
- {
- InterlockedDecrement(&g_cServerLocks);
- }
- return S_OK;
-}
-
-///////////////////////////////////////////////////////////
-//
-// Exported functions
-//
-
-
-// Can DLL unload now?
-//
-STDAPI DllCanUnloadNow()
-{
- //
- // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers
- // are unloaded, Unidrv and Pscript driver ignore the return value of
- // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL.
- //
- // If OEM DLL spins off a working thread that also uses the OEM DLL, the
- // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise
- // it may crash after Unidrv or Pscript calls FreeLibrary.
- //
-
- if ((g_cComponents == 0) && (g_cServerLocks == 0))
- {
- return S_OK;
- }
- else
- {
- return S_FALSE;
- }
-}
-
-//
-// Get class factory
-//
-STDAPI DllGetClassObject(
- _In_ REFCLSID clsid,
- _In_ REFIID iid,
- _Outptr_ LPVOID* ppv)
-{
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Can we create this component?
- if (clsid != CLSID_OEMUI)
- {
- return CLASS_E_CLASSNOTAVAILABLE;
- }
-
- // Create class factory.
- IOemCF* pFontCF = new IOemCF; // Reference count set to 1
- // in constructor
- if (pFontCF == NULL)
- {
- return E_OUTOFMEMORY;
- }
-
- // Get requested interface.
- HRESULT hr = pFontCF->QueryInterface(iid, ppv);
- pFontCF->Release();
-
- return hr;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/intrface.h
deleted file mode 100644
index 1cc44e3a..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/intrface.h
+++ /dev/null
@@ -1,182 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: intrface.h
-//
-// PURPOSE: Declaration of class that implements the UI plug-in class
-//
-
-
-#pragma once
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IOemUI
-//
-class IOemUI: public IPrintOemUI
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- // *** IPrintOemUI methods ***
-
- //
- // Method for publishing Driver interface.
- //
- STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown);
-
- //
- // Get OEM dll related information
- //
-
- STDMETHOD(GetInfo) (THIS_ DWORD dwMode, PVOID pBuffer, DWORD cbSize,
- PDWORD pcbNeeded);
-
- //
- // OEMDevMode
- //
-
- STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) ;
-
- //
- // OEMCommonUIProp
- //
-
- STDMETHOD(CommonUIProp) (THIS_
- DWORD dwMode,
- POEMCUIPPARAM pOemCUIPParam
- );
-
- //
- // OEMDocumentPropertySheets
- //
-
- STDMETHOD(DocumentPropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
- //
- // OEMDevicePropertySheets
- //
-
- STDMETHOD(DevicePropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
-
- //
- // OEMDevQueryPrintEx
- //
-
- STDMETHOD(DevQueryPrintEx) (THIS_
- POEMUIOBJ poemuiobj,
- PDEVQUERYPRINT_INFO pDQPInfo,
- PDEVMODE pPublicDM,
- PVOID pOEMDM
- );
-
- //
- // OEMDeviceCapabilities
- //
-
- STDMETHOD(DeviceCapabilities) (THIS_
- POEMUIOBJ poemuiobj,
- HANDLE hPrinter,
- _In_ PWSTR pDeviceName,
- WORD wCapability,
- PVOID pOutput,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- DWORD dwOld,
- DWORD *dwResult
- );
-
- //
- // OEMUpgradePrinter
- //
-
- STDMETHOD(UpgradePrinter) (THIS_
- DWORD dwLevel,
- PBYTE pDriverUpgradeInfo
- );
-
- //
- // OEMPrinterEvent
- //
-
- STDMETHOD(PrinterEvent) (THIS_
- _In_ PWSTR pPrinterName,
- INT iDriverEvent,
- DWORD dwFlags,
- LPARAM lParam
- );
-
- //
- // OEMDriverEvent
- //
-
- STDMETHOD(DriverEvent)(THIS_
- DWORD dwDriverEvent,
- DWORD dwLevel,
- LPBYTE pDriverInfo,
- LPARAM lParam
- );
-
- //
- // OEMQueryColorProfile
- //
-
- STDMETHOD(QueryColorProfile) (THIS_
- HANDLE hPrinter,
- POEMUIOBJ poemuiobj,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- ULONG ulReserved,
- VOID *pvProfileData,
- ULONG *pcbProfileData,
- FLONG *pflProfileData);
-
- //
- // OEMFontInstallerDlgProc
- //
-
- STDMETHOD(FontInstallerDlgProc) (THIS_
- HWND hWnd,
- UINT usMsg,
- WPARAM wParam,
- LPARAM lParam
- );
- //
- // UpdateExternalFonts
- //
-
- STDMETHOD(UpdateExternalFonts) (THIS_
- HANDLE hPrinter,
- HANDLE hHeap,
- _In_ PWSTR pwstrCartridges
- );
-
-
- IOemUI() { m_cRef = 1; m_pOEMHelp = NULL; };
- ~IOemUI();
-
-protected:
- LONG m_cRef;
- IPrintOemDriverUI* m_pOEMHelp;
-};
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.cpp b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.cpp
deleted file mode 100644
index 2bc8cc32..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.cpp
+++ /dev/null
@@ -1,960 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: OEMUI.cpp
-//
-//
-// PURPOSE: Main file for OEM UI test module.
-//
-
-#include "precomp.h"
-#include "resource.h"
-#include "debug.h"
-#include "oemui.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-////////////////////////////////////////////////////////
-// INTERNAL MACROS and DEFINES
-////////////////////////////////////////////////////////
-
-typedef struct _tagCBUserData
-{
- HANDLE hComPropSheet;
- HANDLE hPropPage;
- POEMUIPSPARAM pOEMUIParam;
- PFNCOMPROPSHEET pfnComPropSheet;
-
-} CBUSERDATA, *PCBUSERDATA;
-
-
-////////////////////////////////////////////////////////
-// INTERNAL PROTOTYPES
-////////////////////////////////////////////////////////
-
-static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam);
-static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam);
-LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam);
-LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam);
-LONG APIENTRY OEMDocUICallBack2(PCPSUICBPARAM pCallbackParam);
-INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam);
-static BOOL AddCustomUIHelp (HANDLE hPrinter, HANDLE hHeap, HANDLE hModule, POPTITEM pOptItem, DWORD HelpIndex, DWORD HelpFile);
-static POIEXT CreateOIExt(HANDLE hHeap);
-static POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems);
-static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems);
-static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams);
-static PTSTR GetHelpFile (HANDLE hPrinter, HANDLE hHeap, HANDLE hModule, UINT uResource);
-static PTSTR GetStringResource(HANDLE hHeap, HANDLE hModule, UINT uResource);
-LPBYTE WrapGetPrinterDriver (HANDLE hHeap, HANDLE hPrinter, DWORD dwLevel);
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems to display OEM device or document property UI.
-// Called via IOemUI::CommonUIProp
-//
-HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam)
-{
- HRESULT hResult = S_OK;
-
- // Validate parameters.
- if( (OEMCUIP_DOCPROP != dwMode)
- &&
- (OEMCUIP_PRNPROP != dwMode)
- )
- {
- ERR("hrOEMPropertyPage() ERROR_INVALID_PARAMETER.\r\n");
-
- // Return invalid parameter error.
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- case OEMCUIP_DOCPROP:
- hResult = hrDocumentPropertyPage(dwMode, pOEMUIParam);
- break;
-
- case OEMCUIP_PRNPROP:
- hResult = hrPrinterPropertyPage(dwMode, pOEMUIParam);
- break;
-
- default:
- // Should never reach this!
- ERR("hrOEMPropertyPage() Invalid dwMode");
- SetLastError(ERROR_INVALID_PARAMETER);
- hResult = E_FAIL;
- break;
- }
-
- return hResult;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems to display OEM document property UI.
-//
-static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam)
-{
- UNREFERENCED_PARAMETER(dwMode);
-
- if(NULL == pOEMUIParam->pOEMOptItems)
- {
- // Fill in the number of OptItems to create for OEM document property UI.
- pOEMUIParam->cOEMOptItems = 1;
- }
- else
- {
- POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM;
-
- // Init UI Callback reference.
- pOEMUIParam->OEMCUIPCallback = OEMDocUICallBack;
-
- // Init OEMOptItmes.
- InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems);
-
- // Fill out tree view items.
-
- // New section.
- pOEMUIParam->pOEMOptItems[0].Level = 1;
- pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE;
- pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, pOEMUIParam->hModule, IDS_ADV_SECTION);
- pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData;
-
- pOEMUIParam->pOEMOptItems[0].pOptType= CreateOptType(pOEMUIParam->hOEMHeap, 2);
-
- //
- //Setup the Optional Item
- //
- pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100;
-
-
- //
- //Allows You to apply Customised help to this Control.
- //
- //Notes:
- // You must use a fully qualified path for pHelpFile
- // OPTITEM Flags member must have OPTIF_HAS_POIEXT flag set. This indicates that the data in OIEXT is valid.
- // OPTITEM is allocated on the Heap see (AddCustomUIHelp, GetHelpFile, CreateOIExt)
- //
- AddCustomUIHelp (pOEMUIParam->hPrinter,
- pOEMUIParam->hOEMHeap,
- pOEMUIParam->hModule,
- &(pOEMUIParam->pOEMOptItems[0]),
- CUSDRV_HELPTOPIC_2, IDS_HELPFILE);
- }
-
- return S_OK;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems to display OEM printer property UI.
-//
-static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam)
-{
- UNREFERENCED_PARAMETER(dwMode);
-
- if(NULL == pOEMUIParam->pOEMOptItems)
- {
- // Fill in the number of OptItems to create for OEM printer property UI.
- pOEMUIParam->cOEMOptItems = 1;
- }
- else
- {
- //
- //This is the second time we are called Now setup the optional items.
- //
- DWORD dwError;
- DWORD dwDeviceValue;
- DWORD dwType;
- DWORD dwNeeded;
-
- // Get device settings value from printer.
- dwError = GetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, &dwType, (PBYTE) &dwDeviceValue,
- sizeof(dwDeviceValue), &dwNeeded);
- if( (ERROR_SUCCESS != dwError)
- ||
- (dwDeviceValue > 100)
- )
- {
- // Failed to get the device value or value is invalid, just use the default.
- dwDeviceValue = 0;
- }
-
- // Init UI Callback reference.
- pOEMUIParam->OEMCUIPCallback = OEMPrinterUICallBack;
-
- // Init OEMOptItmes.
- InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems);
-
- // Fill out tree view items.
-
- // New section.
- pOEMUIParam->pOEMOptItems[0].Level = 1;
- pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE;
- pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, pOEMUIParam->hModule, IDS_DEV_SECTION);
- pOEMUIParam->pOEMOptItems[0].Sel = dwDeviceValue;
-
- pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2);
-
- //
- //Setup the Optional Item
- //
- pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100;
-
- //
- //Allows You to apply Customised help to this Control
- //
- AddCustomUIHelp (pOEMUIParam->hPrinter,
- pOEMUIParam->hOEMHeap,
- pOEMUIParam->hModule,
- &(pOEMUIParam->pOEMOptItems[0]),
- CUSDRV_HELPTOPIC_1,
- IDS_HELPFILE);
- }
- return S_OK;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Adds property page to Document property sheet. Called via IOemUI::DocumentPropertySheets
-//
-HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam,
- IPrintOemDriverUI* pOEMHelp)
-{
- UNREFERENCED_PARAMETER(pOEMHelp);
-
- LONG_PTR lResult = 0;
- HRESULT hrResult = S_OK;
-
- // Validate parameters.
- if( (NULL == pPSUIInfo)
- ||
- (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version)
- )
- {
- ERR("hrOEMDocumentPropertySheets() ERROR_INVALID_PARAMETER.\r\n");
-
- // Return invalid parameter error.
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Do action.
- switch(pPSUIInfo->Reason)
- {
- case PROPSHEETUI_REASON_INIT:
- {
- DWORD dwSheets = 0;
- PCBUSERDATA pUserData;
- POEMUIPSPARAM pOEMUIParam = (POEMUIPSPARAM) pPSUIInfo->lParamInit;
- HANDLE hHeap = pOEMUIParam->hOEMHeap;
- HANDLE hModule = pOEMUIParam->hModule;
- POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM;
- COMPROPSHEETUI Sheet;
-
-
- // Init property page.
- memset(&Sheet, 0, sizeof(COMPROPSHEETUI));
- Sheet.cbSize = sizeof(COMPROPSHEETUI);
- Sheet.Flags = CPSUIF_UPDATE_PERMISSION;
- Sheet.hInstCaller = ghInstance;
- Sheet.pCallerName = GetStringResource(hHeap, ghInstance, IDS_NAME);
- Sheet.pHelpFile = NULL;
- Sheet.pfnCallBack = OEMDocUICallBack2;
- Sheet.pDlgPage = CPSUI_PDLGPAGE_TREEVIEWONLY;
- Sheet.cOptItem = 1;
- Sheet.IconID = IDI_CPSUI_PRINTER;
- Sheet.pOptItemName = GetStringResource(hHeap, ghInstance, IDS_SECTION);
- Sheet.CallerVersion = 0x100;
- Sheet.OptItemVersion = 0x100;
-
- // Init user data.
- pUserData = (PCBUSERDATA) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(CBUSERDATA));
- if (NULL == pUserData)
- {
- ERR("hrOEMDocumentPropertySheets() failed to allocate user data.\r\n");
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- pUserData->hComPropSheet = pPSUIInfo->hComPropSheet;
- pUserData->pfnComPropSheet = pPSUIInfo->pfnComPropSheet;
- pUserData->pOEMUIParam = pOEMUIParam;
- Sheet.UserData = (ULONG_PTR) pUserData;
-
- // Create OptItems for page.
- Sheet.pOptItem = CreateOptItems(hHeap, Sheet.cOptItem);
- if (NULL == Sheet.pOptItem)
- {
- ERR("hrOEMDocumentPropertySheets() failed to allocate OPTITEMs.\r\n");
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- // Initialize OptItems
- Sheet.pOptItem[0].Level = 1;
- Sheet.pOptItem[0].Flags = OPTIF_COLLAPSE;
- Sheet.pOptItem[0].pName = GetStringResource(hHeap, ghInstance, IDS_SECTION);
- Sheet.pOptItem[0].Sel = pOEMDev->dwDriverData;
-
- Sheet.pOptItem[0].pOptType = CreateOptType(hHeap, 2);
- if (NULL == Sheet.pOptItem[0].pOptType)
- {
- ERR("hrOEMDocumentPropertySheets() failed to allocate OPTTYPE.\r\n");
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- //
- //Set the UI prop of this OPTYPE item.
- //
- Sheet.pOptItem[0].pOptType->Type = TVOT_UDARROW;
- Sheet.pOptItem[0].pOptType->pOptParam[1].IconID = 0;
- Sheet.pOptItem[0].pOptType->pOptParam[1].lParam = 100;
-
- //
- //Allows You to apply Customised help to this Control.
- //See Function : AddCustomUIHelp, For more details on implamentation.
- //
- AddCustomUIHelp (pOEMUIParam->hPrinter,
- hHeap,
- hModule,
- &(Sheet.pOptItem[0]),
- CUSDRV_HELPTOPIC_1,
- IDS_HELPFILE);
-
- // Adds the property sheets.
- lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PCOMPROPSHEETUI,
- (LPARAM)&Sheet, (LPARAM)&dwSheets);
- }
- break;
-
- case PROPSHEETUI_REASON_GET_INFO_HEADER:
- {
- PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam;
-
- pHeader->pTitle = (LPTSTR)PROP_TITLE;
- lResult = TRUE;
- }
- break;
-
- case PROPSHEETUI_REASON_GET_ICON:
- // No icon
- lResult = 0;
- break;
-
- case PROPSHEETUI_REASON_SET_RESULT:
- {
- PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam;
-
- lResult = pInfo->Result;
- }
- break;
-
- case PROPSHEETUI_REASON_DESTROY:
- lResult = TRUE;
- break;
- }
-
-Exit:
-
- pPSUIInfo->Result = lResult;
- return hrResult;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Adds property page to printer property sheet. Called via IOemUI::DevicePropertySheets
-//
-HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam)
-{
- LONG_PTR lResult = 0;
-
- // Validate parameters.
- if( (NULL == pPSUIInfo)
- ||
- (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version)
- )
- {
- ERR("hrOEMDevicePropertySheets() ERROR_INVALID_PARAMETER.\r\n");
-
- // Return invalid parameter error.
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Do action.
- switch(pPSUIInfo->Reason)
- {
- case PROPSHEETUI_REASON_INIT:
- {
- PROPSHEETPAGE Page;
-
- // Init property page.
- memset(&Page, 0, sizeof(PROPSHEETPAGE));
- Page.dwSize = sizeof(PROPSHEETPAGE);
- Page.dwFlags = PSP_DEFAULT;
- Page.hInstance = ghInstance;
- Page.pszTemplate = MAKEINTRESOURCE(IDD_DEVICE_PROPPAGE);
- Page.pfnDlgProc = DevicePropPageProc;
-
- // Add property sheets.
- lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PROPSHEETPAGE, (LPARAM)&Page, 0);
- }
- break;
-
- case PROPSHEETUI_REASON_GET_INFO_HEADER:
- {
- PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam;
-
- pHeader->pTitle = (LPTSTR)PROP_TITLE;
- lResult = TRUE;
- }
- break;
-
- case PROPSHEETUI_REASON_GET_ICON:
- // No icon
- lResult = 0;
- break;
-
- case PROPSHEETUI_REASON_SET_RESULT:
- {
- PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam;
-
- lResult = pInfo->Result;
- }
- break;
-
- case PROPSHEETUI_REASON_DESTROY:
- lResult = TRUE;
- break;
- }
-
- pPSUIInfo->Result = lResult;
- return S_OK;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// OptItems call back for OEM printer property UI.
-//
-LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam)
-{
- LONG lReturn = CPSUICB_ACTION_NONE;
-
- switch(pCallbackParam->Reason)
- {
- case CPSUICB_REASON_APPLYNOW:
- {
- DWORD dwDriverValue = pOEMUIParam->pOEMOptItems[0].Sel;
-
- // Store OptItems state in printer data.
- SetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, REG_DWORD, (PBYTE) &dwDriverValue, sizeof(DWORD));
- }
- break;
-
- default:
- break;
- }
-
- return lReturn;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Call back for OEM device property UI.
-//
-#pragma warning(push)
-#pragma warning( disable : 6262 ) // 2 MAX_PATH strings exceeds the stack size by a few bytes.
-INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam)
-{
- switch (uiMsg)
- {
- case WM_COMMAND:
- switch(HIWORD(wParam))
- {
- case BN_CLICKED:
- switch(LOWORD(wParam))
- {
- case IDC_CALIBRATE:
- // Simulate printer calibration by displaying a message that the
- // printer has been calibrated.
- {
- TCHAR szName[MAX_PATH];
- TCHAR szCalibrated[MAX_PATH];
-
- LoadString(ghInstance, IDS_NAME, szName, sizeof(szName)/sizeof(szName[0]));
- LoadString(ghInstance, IDS_CALIBRATED, szCalibrated, sizeof(szCalibrated)/sizeof(szCalibrated[0]));
- MessageBox(hDlg, szCalibrated, szName, MB_OK);
- }
- break;
- }
- break;
-
- default:
- return FALSE;
- }
- return TRUE;
-
- case WM_NOTIFY:
- {
- switch (((LPNMHDR)lParam)->code) // type of notification message
- {
- case PSN_SETACTIVE:
- break;
-
- case PSN_KILLACTIVE:
- break;
-
- case PSN_APPLY:
- break;
-
- case PSN_RESET:
- break;
- }
- }
- break;
- }
-
- return FALSE;
-}
-#pragma warning(pop)
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// OptItems call back for OEM document property UI.
-//
-LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam)
-{
- LONG lReturn = CPSUICB_ACTION_NONE;
- POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM;
-
- switch(pCallbackParam->Reason)
- {
- case CPSUICB_REASON_APPLYNOW:
- // Store OptItems state in DEVMODE.
- pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel;
- break;
-
- case CPSUICB_REASON_KILLACTIVE:
- pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel;
- break;
-
- case CPSUICB_REASON_SETACTIVE:
- if((DWORD)(pOEMUIParam->pOEMOptItems[0].Sel) != pOEMDev->dwAdvancedData)
- {
- pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData;
- pOEMUIParam->pOEMOptItems[0].Flags |= OPTIF_CHANGED;
- lReturn = CPSUICB_ACTION_OPTIF_CHANGED;
- }
- break;
-
- default:
- break;
- }
-
- return lReturn;
-}
-
-
-LONG APIENTRY OEMDocUICallBack2(PCPSUICBPARAM pCallbackParam)
-{
- LONG lReturn = CPSUICB_ACTION_NONE;
- PCBUSERDATA pUserData = (PCBUSERDATA) pCallbackParam->UserData;
- POEMDEV pOEMDev = (POEMDEV) pUserData->pOEMUIParam->pOEMDM;
-
- switch(pCallbackParam->Reason)
- {
- case CPSUICB_REASON_APPLYNOW:
- pOEMDev->dwDriverData = pCallbackParam->pOptItem[0].Sel;
- pUserData->pfnComPropSheet(pUserData->hComPropSheet, CPSFUNC_SET_RESULT,
- (LPARAM)pUserData->hPropPage,
- (LPARAM)CPSUI_OK);
- break;
-
- case CPSUICB_REASON_KILLACTIVE:
- pOEMDev->dwDriverData = pCallbackParam->pOptItem[0].Sel;
- break;
-
- case CPSUICB_REASON_SETACTIVE:
- if((DWORD)(pCallbackParam->pOptItem[0].Sel) != pOEMDev->dwDriverData)
- {
- pCallbackParam->pOptItem[0].Sel = pOEMDev->dwDriverData;
- pCallbackParam->pOptItem[0].Flags |= OPTIF_CHANGED;
- lReturn = CPSUICB_ACTION_OPTIF_CHANGED;
- }
- break;
-
- default:
- break;
- }
-
- return lReturn;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Creates and Initializes OptItems.
-//
-static POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems)
-{
- POPTITEM pOptItems = NULL;
- DWORD cbMemAllocSize;
-
- // Allocate memory for OptItems;
-
- // Call intsafe.h function to ensure there's no integer overflow or underflow
- if (SUCCEEDED(DWordMult(sizeof(OPTITEM), dwOptItems, &cbMemAllocSize)) &&
- (NULL != (pOptItems = (POPTITEM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, cbMemAllocSize))))
- {
- InitOptItems(pOptItems, dwOptItems);
- }
- else
- {
- ERR("CreateOptItems() failed to allocate memory for OPTITEMs!\r\n");
- }
-
- return pOptItems;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems.
-//
-static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems)
-{
- // Zero out memory.
- memset(pOptItems, 0, sizeof(OPTITEM) * dwOptItems);
-
- // Set each OptItem's size, and Public DM ID.
- for(DWORD dwCount = 0; dwCount < dwOptItems; dwCount++)
- {
- pOptItems[dwCount].cbSize = sizeof(OPTITEM);
- pOptItems[dwCount].DMPubID = DMPUB_NONE;
- }
-}
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Adds Custom help top a OPTTYPE UI item.
-//
-// Note :
-// The OPTITEM member HelpIndex must be set the the correct HELP ID number.
-// HelpIndex is the index that you assigned in the hlp file to this item of help.
-// The OPTITEM, pOIExt member must point to a valid OIEXT structure.
-// The phelpfile is member of OIEXT must have the fully qualified path to the driver file.
-//
-//
-// It is also possible to overide common help items in UNIDRIVE via the HelpIndex in the GPD.
-// For further information on using HelpIndex in the GPD see the relavent section in the DDK
-// It is not possible to custimse help however via the PPD. The OPTITEM must be modified in the OEM Plugin.
-//
-static BOOL AddCustomUIHelp (HANDLE hPrinter, HANDLE hHeap, HANDLE hModule,
- POPTITEM pOptItem, DWORD HelpIndex, DWORD HelpFile)
-{
- POIEXT pOIExt = NULL;
-
- //
- //Allocate a new OIEXT structure on the heap
- //
- if (pOptItem->pOIExt == NULL)
- {
- pOptItem->pOIExt = CreateOIExt(hHeap);
- }
-
- if ( pOptItem->pOIExt == NULL )
- {
- ERR("AddCustomUIHelp() Error Allocation Failed.\r\n");
- return FALSE;
- }
-
- pOIExt = pOptItem->pOIExt;
-
- //
- //Set to the full absolute path of the driver file.
- //(It should be in the Printer Driver Directrory in most cases)
- //This String needs to be allocated on the heap (The Driver will clean it up).
- //
- pOIExt->pHelpFile = GetHelpFile (hPrinter, hHeap, hModule, HelpFile);
-
- //
- //Set to show tha there is a valid OIEXT structure and data
- //
- pOptItem->Flags |= OPTIF_HAS_POIEXT;
-
- //
- //This needs to be set if you have ansi strings in your help file. (NOTE!)
- //
- //pOiExt->Flags |= OIEXTF_ANSI_STRING;
-
- //
- //Add the help this the index in the .hlp file.
- //
- pOptItem->HelpIndex = HelpIndex;
-
- return TRUE;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Allocates and initializes OIEXT for OptItem.
-//
-static POIEXT CreateOIExt(HANDLE hHeap)
-{
-
- POIEXT pOiExt = NULL;
-
- // Allocate memory from the heap for the OPTTYPE; the driver will take care of clean up.
- pOiExt = (POIEXT) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OIEXT));
- if(NULL != pOiExt)
- {
- //
- // Initialize OPTTYPE. (These members are setup by AddCustomUIHelp)
- //
- pOiExt->cbSize = sizeof(OIEXT);
- pOiExt->Flags = 0;
- pOiExt->hInstCaller = NULL;
- pOiExt->pHelpFile = NULL;
- }
-
- return pOiExt;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Allocates and initializes OptType for OptItem.
-//
-static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams)
-{
- POPTTYPE pOptType = NULL;
-
- // Allocate memory from the heap for the OPTTYPE; the driver will take care of clean up.
- pOptType = (POPTTYPE) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OPTTYPE));
- if(NULL != pOptType)
- {
- DWORD cbMemAllocSize;
-
- // Initialize OPTTYPE.
- pOptType->cbSize = sizeof(OPTTYPE);
- pOptType->Count = wOptParams;
-
- // Allocate memory from the heap for the OPTPARAMs for the OPTTYPE.
-
- // Call intsafe.h function to ensure there's no integer overflow or underflow
- if (SUCCEEDED(DWordMult(wOptParams, sizeof(OPTPARAM), &cbMemAllocSize)) &&
- (NULL != (pOptType->pOptParam = (POPTPARAM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, cbMemAllocSize))))
- {
- // Initialize the OPTPARAMs.
- for(WORD wCount = 0; wCount < wOptParams; wCount++)
- {
- pOptType->pOptParam[wCount].cbSize = sizeof(OPTPARAM);
- }
- }
- else
- {
- ERR("CreateOptType() failed to allocated memory for OPTPARAMs!\r\n");
-
- // Free allocated memory and return NULL.
- HeapFree(hHeap, 0, pOptType);
- pOptType = NULL;
- }
- }
- else
- {
- ERR("CreateOptType() failed to allocated memory for OPTTYPE!\r\n");
- }
-
- return pOptType;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Allocates space on the heap and gets the help file name from the resource file.
-// Note you need to allocate this on the heap so that it stays allocated as long as the driver UI is loaded.
-// The OPTITEM->pOIExt ref this data.
-//
-static PTSTR GetHelpFile (HANDLE hPrinter, HANDLE hHeap, HANDLE hModule, UINT uResource)
-{
-
- DWORD nResult = 0;
- DWORD dwSize = MAX_PATH;
- PTSTR pszString = NULL;
- PTSTR pszTemp = NULL;
- PDRIVER_INFO_2 pDriverInfo = NULL;
-
- //
- // Allocate buffer for string resource from heap;
- //
- pszTemp = (PTSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize * sizeof(TCHAR));
- pDriverInfo = (PDRIVER_INFO_2)WrapGetPrinterDriver (hHeap, hPrinter, 2);
-
- //
- //Get the Full Driver Dir from pDriverPath it must include the \version\
- //
- if(NULL != pszTemp && pDriverInfo && pDriverInfo->pDriverPath)
- {
- HRESULT hCopy;
-
- hCopy = StringCchCopy(pszTemp, dwSize, pDriverInfo->pDriverPath);
- if(FAILED(hCopy))
- {
- ERR("StringCchCopy() failed to copy driver path to temp buffer!\r\n");
- }
- pszString = _tcsrchr (pszTemp, _T('\\') ) + 1;
- }
-
- //
- //The Help file is installed with the driver in the version drictory.
- //
- if(NULL != pszString)
- {
- //
- //The Buffer size is in characters for the unicode version of LoadString
- //
- nResult = LoadString((HMODULE)hModule, uResource, pszString, (int)(dwSize - _tcslen(pszTemp)) );
- }
- else
- {
- ERR("GetStringResource() failed to allocate string buffer!\r\n");
- }
-
- if(nResult > 0)
- {
- //
- //Reallocate this so that we don't waist space on the heap (free any non used heap in MAX_PATH)
- //
- pszString = (PTSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pszTemp, (_tcslen(pszTemp) + 1) * sizeof(TCHAR));
- if(NULL == pszString)
- {
- pszTemp = pszString;
- ERR("GetStringResource() HeapReAlloc() of string retrieved failed!\r\n");
- }
- }
- else
- {
- ERR("LoadString() failed!");
- pszString = NULL;
- }
-
- //
- //Clean up the Driverinfo that was allocated. It is not needed. (Always free this it is only temp data)
- //
- if (pDriverInfo)
- {
- HeapFree(hHeap, 0, pDriverInfo);
- }
-
- return pszString;
-}
-
-////////////////////////////////////////////////////////////////////////////////////
-//
-// Retrieves pointer to a String resource.
-//
-static PTSTR GetStringResource(HANDLE hHeap, HANDLE hModule, UINT uResource)
-{
- int nResult;
- DWORD dwSize = MAX_PATH;
- PTSTR pszString = NULL;
-
- // Allocate buffer for string resource from heap; let the driver clean it up.
- pszString = (PTSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize * sizeof(TCHAR));
- if(NULL != pszString)
- {
- // Load string resource; resize after loading so as not to waste memory.
- nResult = LoadString((HMODULE)hModule, uResource, pszString, dwSize);
- if(nResult > 0)
- {
- PTSTR pszTemp;
-
- pszTemp = (PTSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pszString, (nResult + 1) * sizeof(TCHAR));
- if(NULL != pszTemp)
- {
- pszString = pszTemp;
- }
- else
- {
- ERR("GetStringResource() HeapReAlloc() of string retrieved failed!\r\n");
- }
- }
- else
- {
- ERR("LoadString() failed!\r\n");
- pszString = NULL;
- }
- }
- else
- {
- ERR("GetStringResource() failed to allocate string buffer!\r\n");
- }
-
- return pszString;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////////
-//
-// Wrapper to help retrive the PrinterDriverInfo,
-// Note the MEM is orphaned by this call on success
-//
-
-LPBYTE WrapGetPrinterDriver (HANDLE hHeap, HANDLE hPrinter, DWORD dwLevel)
-{
- //
- //Get the PrinterINFO so that we know where the driver help file is.
- //
- BOOL bGet = TRUE;
- DWORD dwNeeded = 0;
- LPBYTE pBuffer = NULL;
-
- bGet = GetPrinterDriver(hPrinter, NULL, dwLevel, pBuffer, 0, &dwNeeded);
-
- if(!bGet && GetLastError() == ERROR_INSUFFICIENT_BUFFER )
- {
- SetLastError(ERROR_SUCCESS); // clear the previous result to prevent noise
- pBuffer = (LPBYTE)HeapAlloc (hHeap, HEAP_ZERO_MEMORY, dwNeeded);
- }
-
- if (pBuffer)
- {
- bGet = GetPrinterDriver(hPrinter, NULL, dwLevel, pBuffer, dwNeeded, &dwNeeded);
- }
-
- if(!bGet || !pBuffer)
- {
- if (pBuffer)
- {
- HeapFree(hHeap, 0, pBuffer);
- pBuffer = NULL;
- }
-
- ERR("GetPrinterDriver() failed.");
- }
-
- return pBuffer;
-}
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.h b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.h
deleted file mode 100644
index 2fc12cba..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.h
+++ /dev/null
@@ -1,47 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: OEMUI.H
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for property sheet handling.
-//
-
-
-#pragma once
-
-#include "DEVMODE.H"
-#include "globals.h"
-
-////////////////////////////////////////////////////////
-// Custom Help Defines
-////////////////////////////////////////////////////////
-
-#define CUSDRV_HELPTOPIC_1 15001
-#define CUSDRV_HELPTOPIC_2 15002
-
-////////////////////////////////////////////////////////
-// OEM UI Defines
-////////////////////////////////////////////////////////
-
-// OEM Signature and version.
-#define PROP_TITLE L"OEM UI Page"
-#define OEM_SIGNATURE 'MSFT'
-#define OEM_VERSION 0x00000001L
-
-// Printer registry keys where OEM data is stored.
-#define OEMUI_VALUE TEXT("OEMUI_VALUE")
-#define OEMUI_DEVICE_VALUE TEXT("OEMUI_DEVICE_VALUE")
-
-////////////////////////////////////////////////////////
-// Prototypes
-////////////////////////////////////////////////////////
-
-HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam);
-HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, IPrintOemDriverUI* pOEMHelp);
-HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam);
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.rc b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.rc
deleted file mode 100644
index e4d28716..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.rc
+++ /dev/null
@@ -1,170 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "Written by Windows Printing & Imaging Team"
- VALUE "CompanyName", "Microsoft Corp."
- VALUE "FileDescription", "OEM UI Test Module."
- VALUE "FileVersion", "1, 0, 0, 1"
- VALUE "InternalName", "OEMUI"
- VALUE "LegalCopyright", "Copyright � 1998 - 2003 Microsoft Corp."
- VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation"
- VALUE "OriginalFilename", "OEMUI.dll"
- VALUE "ProductName", "Microsoft OEMUI"
- VALUE "ProductVersion", "1.1"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""winres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DEVICE_PROPPAGE DIALOG 0, 0, 179, 113
-STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Device Property Page"
-FONT 8, "MS Shell Dialog"
-BEGIN
- LTEXT "OEM UI Added Page",IDC_STATIC,55,14,68,11
- PUSHBUTTON "Calibrate",IDC_CALIBRATE,61,34,50,14
-END
-
-IDD_DOC_PROPPAGE DIALOG 0, 0, 210, 154
-STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Document Property Page"
-FONT 8, "MS Shell Dialog"
-BEGIN
- LTEXT "OEM UI Document Property Page",IDC_STATIC,60,73,108,8
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO
-BEGIN
- IDD_DEVICE_PROPPAGE, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 172
- TOPMARGIN, 8
- BOTTOMMARGIN, 106
- END
-
- IDD_DOC_PROPPAGE, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 203
- TOPMARGIN, 7
- BOTTOMMARGIN, 147
- END
-END
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE
-BEGIN
- IDS_SECTION "OEM UI Added Item"
- IDS_CALIBRATED "Printer has been calibrated."
- IDS_NAME "OEM UI Customization DLL"
- IDS_HELPFILE "CUSTOMDRV.HLP"
- IDS_DEV_SECTION "Device Settings OEM UI Added Item"
- IDS_ADV_SECTION "Advanced OEM UI Added Item"
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/precomp.h
deleted file mode 100644
index ef4615ad..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/precomp.h
+++ /dev/null
@@ -1,54 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: PRECOMP.H
-//
-// PURPOSE: Optimize compilation of headers that do not change frequently
-//
-
-#pragma once
-
-// Necessary for compiling under VC.
-#if(!defined(WINVER) || (WINVER < 0x0500))
- #undef WINVER
- #define WINVER 0x0500
-#endif
-#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500))
- #undef _WIN32_WINNT
- #define _WIN32_WINNT 0x0500
-#endif
-
-
-// Required header files that shouldn't change often.
-
-
-#include <STDDEF.H>
-#include <STDLIB.H>
-#include <OBJBASE.H>
-#include <STDARG.H>
-#include <STDIO.H>
-#include <WINDEF.H>
-#include <WINERROR.H>
-#include <WINBASE.H>
-#include <WINGDI.H>
-#include <WINDDI.H>
-#include <WINSPOOL.H>
-#include <TCHAR.H>
-#include <EXCPT.H>
-#include <ASSERT.H>
-#include <PRSHT.H>
-#include <COMPSTUI.H>
-#include <WINDDIUI.H>
-#include <PRINTOEM.H>
-#include <INTSAFE.H>
-#include <INITGUID.H>
-#include <PRCOMOEM.H>
-
-// StrSafe.h needs to be included last
-// to disallow unsafe string functions.
-#include <STRSAFE.H>
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/precompsrc.cpp
deleted file mode 100644
index 5944cf51..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/precompsrc.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "precomp.h" \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/resource.h
deleted file mode 100644
index 9c7732fe..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/resource.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: resource.h
-//
-// PURPOSE: Defines resources IDs for localizable resources.
-//
-
-
-#define IDS_SECTION 1
-#define IDS_CALIBRATED 2
-#define IDS_NAME 3
-#define IDS_HELPFILE 4
-#define IDS_DEV_SECTION 5
-#define IDS_ADV_SECTION 10
-#define IDD_DEVICE_PROPPAGE 106
-#define IDD_DOC_PROPPAGE 107
-#define IDC_CALIBRATE 1001
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.gpd b/print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.gpd
deleted file mode 100644
index 20e4d472..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.gpd
+++ /dev/null
@@ -1,520 +0,0 @@
-*GPDFileName: "gdlsmpl.gpd"
-*GPDFileVersion: "1.0"
-*GPDSpecVersion: "1.0"
-*Include: "StdNames.gpd"
-*ModelName: "OEM Unidrv GDL Sample"
-*MasterUnits: PAIR(1200, 1200)
-*ResourceDLL: "unires.dll"
-*PrinterType: PAGE
-*MaxCopies: 99
-*PrintRate: 16
-*PrintRateUnit: PPM
-*PrintRatePPM: 16
-
-*%
-*% This line indicates which file the GDL parser should use to find Bidi information.
-*% This is also the same file that will be parser when querying the GDL via
-*% IPrintCoreHelperUni. GDL is compatible with GPD syntax, and this can be the driver's
-*% GPD file, whis is what this sample does.
-*%
-*BidiQueryFile: "gdlsmpl.gpd"
-
-
-*%******************************************************************************************
-*% Orientation
-*%******************************************************************************************
-*Feature: Orientation
-{
- *rcNameID: =ORIENTATION_DISPLAY
- *DefaultOption: PORTRAIT
- *Option: PORTRAIT
- {
- *rcNameID: =PORTRAIT_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.6
- *Cmd: "<1B>&l0O"
- }
- }
- *Option: LANDSCAPE_CC90
- {
- *rcNameID: =LANDSCAPE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.8
- *Cmd: "<1B>&l1O"
- }
- }
-}
-
-*%******************************************************************************************
-*% Input Bin
-*%******************************************************************************************
-*Feature: InputBin
-{
- *rcNameID: =PAPER_SOURCE_DISPLAY
- *DefaultOption: AUTO
- *Option: AUTO
- {
- *rcNameID: =AUTO_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.11
- *Cmd: "<1B>&l0H"
- }
- }
- *Option: UPPER
- {
- *rcNameID: =UPPER_TRAY_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.11
- *Cmd: "<1B>&l1H"
- }
- }
-}
-
-*%******************************************************************************************
-*% Resolution
-*%******************************************************************************************
-*Feature: Resolution
-{
- *rcNameID: =RESOLUTION_DISPLAY
- *DefaultOption: 300dpi
- *Option: 300dpi
- {
- *Name: "300 x 300" =DOTS_PER_INCH
- *DPI: PAIR(300, 300)
- *TextDPI: PAIR(300, 300)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
- *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
- *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.7
- *Cmd: "@PJL SET RESOLUTION=300<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R"
- }
- }
-}
-
-*%******************************************************************************************
-*% HP-GL/2 Graphics Support
-*%******************************************************************************************
-*Ifdef: WINNT_51
-*Personality: =PERSONALITY_HPGL2
-*Feature: GraphicsMode
-{
- *rcNameID: =GRAPHICSMODE_DISPLAY
- *DefaultOption: HPGL2MODE
- *Option: HPGL2MODE
- {
- *rcNameID: =GRAPHICSMODE_HPGL2_DISPLAY
- }
- *Option: RASTERMODE
- {
- *rcNameID: =GRAPHICSMODE_RASTER_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.5
- *Cmd: "@PJL SET LIMAGEENHANCE=OFF<0A>"
- }
- }
-}
-*Endif:
-
-*%******************************************************************************************
-*% Paper Size
-*%******************************************************************************************
-*Feature: PaperSize
-{
- *rcNameID: =PAPER_SIZE_DISPLAY
- *DefaultOption: LETTER
- *Option: LETTER
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 1028
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9500, 12500)
- *PrintableOrigin: PAIR(400, 400)
- *CursorOrigin: PAIR(300, 300)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t5260x7704Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9500, 12200)
- *PrintableOrigin: PAIR(450, 300)
- *CursorOrigin: PAIR(200, 12900)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t7332x5880Y"
- }
- }
- }
- }
- *Option: LEGAL
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 1692
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9000, 15500)
- *PrintableOrigin: PAIR(400, 600)
- *CursorOrigin: PAIR(180, 300)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t5880x8900Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9000, 15500)
- *PrintableOrigin: PAIR(400, 900)
- *CursorOrigin: PAIR(180, 16500)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t8900x5880Y"
- }
- }
- }
- }
- *Option: EXECUTIVE
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 4109
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(8100, 11500)
- *PrintableOrigin: PAIR(300, 300)
- *CursorOrigin: PAIR(300, 200)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t4860x7344Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(8300, 11500)
- *PrintableOrigin: PAIR(200, 300)
- *CursorOrigin: PAIR(200, 12300)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t7272x4980Y"
- }
- }
- }
- }
- *Option: A4
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 4249
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9100, 13200)
- *PrintableOrigin: PAIR(400, 300)
- *CursorOrigin: PAIR(288, 180)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t5594x8201Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9100, 13200)
- *PrintableOrigin: PAIR(400, 300)
- *CursorOrigin: PAIR(204, 13824)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t8129x5714Y"
- }
- }
- }
- }
- *Option: B5
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 3198
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(7900, 11140)
- *PrintableOrigin: PAIR(352, 300)
- *CursorOrigin: PAIR(300, 100)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t4970x7040Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(7760, 11140)
- *PrintableOrigin: PAIR(300, 400)
- *CursorOrigin: PAIR(100, 11940)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t6780x4970Y"
- }
- }
- }
- }
-}
-
-*%******************************************************************************************
-*% Outputbin
-*%******************************************************************************************
-
-
-*Feature: OutputBin
-{
- *rcNameID: =OUTPUTBIN_DISPLAY
- *HelpIndex: 12006
- *DefaultOption: Option1
- *Option: Option1
- {
- *% Auto Select
- *Name: "default"
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.4
- *Cmd: "@PJL SET OUTBIN=OPTIONALOUTBIN2<0A>@PJL SET FINISH=NONE<0A>"
- }
- }
- *Option: Option14
- {
- *% Stacker
- *Name: "stacker" *% Stacker
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.4
- *Cmd: "@PJL SET OUTBIN=OPTIONALOUTBIN2<0A>@PJL SET FINISH=NONE<0A>"
- }
- }
-}
-
-
-*%******************************************************************************************
-*% Media Type
-*%******************************************************************************************
-*Feature: MediaType
-{
- *rcNameID: =MEDIA_TYPE_DISPLAY
- *DefaultOption: PLAIN
- *Option: PLAIN
- {
- *rcNameID: =PLAIN_PAPER_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.15
- *Cmd: "<1B>&n6WdPlain"
- }
- }
- *Option: TRANSPARENCY
- {
- *rcNameID: =TRANSPARENCY_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.15
- *Cmd: "<1B>&n13WdTransparency"
- }
- }
-}
-
-
-
-*%******************************************************************************************
-*% HalfTone
-*%******************************************************************************************
-*Feature: Halftone
-{
- *rcNameID: =HALFTONING_DISPLAY
- *DefaultOption: HT_PATSIZE_AUTO
- *Option: HT_PATSIZE_AUTO
- {
- *rcNameID: =HT_AUTO_SELECT_DISPLAY
- }
- *Option: HT_PATSIZE_SUPERCELL_M
- {
- *rcNameID: =HT_SUPERCELL_DISPLAY
- }
- *Option: HT_PATSIZE_6x6_M
- {
- *rcNameID: =HT_DITHER6X6_DISPLAY
- }
- *Option: HT_PATSIZE_8x8_M
- {
- *rcNameID: =HT_DITHER8X8_DISPLAY
- }
-}
-
-*%******************************************************************************************
-*% Memory
-*%
-*% Note: Unidrv uses the font memory information to estimate when it needs to stop
-*% downloading fonts for a page, and thus driver writers should err on the conservative
-*% side. Otherwise, printers will generate "out of memory" device errors for pages with
-*% a large number of fonts / unique glyphs.
-*%******************************************************************************************
-*Feature: Memory
-{
- *rcNameID: =PRINTER_MEMORY_DISPLAY
- *DefaultOption: 32768KB
- *Option: 16384KB
- {
- *Name: "16MB"
- *MemoryConfigKB: PAIR(16384, 13950)
- }
- *Option: 32768KB
- {
- *Name: "32MB"
- *MemoryConfigKB: PAIR(32768, 28350)
- }
-}
-
-*%******************************************************************************************
-*% Page Protect
-*%******************************************************************************************
-*Feature: PageProtect
-{
- *rcNameID: =PAGE_PROTECTION_DISPLAY
- *DefaultOption: OFF
- *Option: ON
- {
- *rcNameID: =ON_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.1
- *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=LETTER<0A>"
- }
- }
- *Option: OFF
- {
- *rcNameID: =OFF_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.1
- *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=OFF<0A>"
- }
- }
-}
-
-*%******************************************************************************************
-*% Doc setup commands
-*%******************************************************************************************
-*Command: CmdStartDoc
-{
- *Order: DOC_SETUP.7
- *Cmd: "<1B>&u1200D<1B>*r0F"
-}
-*Command: CmdStartPage
-{
- *Order: PAGE_SETUP.1
- *Cmd: "<1B>*b0M<0D>"
-}
-*Command: CmdEndJob
-{
- *Order: JOB_FINISH.1
- *Cmd: "<1B>E<1B>%%-12345X@PJL<20>LPORTROTATE<0A><1B>%%-12345X"
-}
-*Command: CmdCopies
-{
- *Order: DOC_SETUP.13
- *Cmd: "<1B>&l" %d{NumOfCopies}"X"
-}
-
-*%******************************************************************************************
-*% Cursor, Page and Color Commands
-*%******************************************************************************************
-*RotateCoordinate?: TRUE
-*RotateRaster?: TRUE
-*RotateFont?: TRUE
-*TextCaps: LIST(TC_CR_90,TC_UA_ABLE)
-*MemoryUsage: LIST(FONT, RASTER, VECTOR)
-*CursorXAfterCR: AT_PRINTABLE_X_ORIGIN
-*BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE)
-*XMoveThreshold: 0
-*YMoveThreshold: 0
-*XMoveUnit: 300
-*YMoveUnit: 300
-*Command: CmdXMoveAbsolute { *Cmd : "<1B>*p" %d{(DestX) }"X" }
-*Command: CmdXMoveRelRight { *Cmd : "<1B>*p+" %d[0,9600]{max_repeat((DestXRel) )}"X" }
-*Command: CmdXMoveRelLeft { *Cmd : "<1B>*p-" %d[0,9600]{max_repeat((DestXRel) )}"X" }
-*Command: CmdYMoveAbsolute { *Cmd : "<1B>*p" %d{(DestY) }"Y" }
-*Command: CmdYMoveRelDown { *Cmd : "<1B>*p+" %d{(DestYRel) }"Y" }
-*Command: CmdYMoveRelUp { *Cmd : "<1B>*p-" %d{(DestYRel) }"Y" }
-*Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c"
-+ %d{PaletteIndexToProgram} "I" }
-*Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" }
-*Command: CmdCR { *Cmd : "<0D>" }
-*Command: CmdLF { *Cmd : "<0A>" }
-*Command: CmdFF { *Cmd : "<0C>" }
-*Command: CmdBackSpace { *Cmd : "<08>" }
-*Command: CmdUniDirectionOn { *Cmd : "<00>" }
-*Command: CmdUniDirectionOff { *Cmd : "<00>" }
-*Command: CmdPushCursor { *Cmd : "<1B>&f0S" }
-*Command: CmdPopCursor { *Cmd : "<1B>&f1S" }
-*Command: CmdSetSimpleRotation { *Cmd : "<1B>&a" %d{PrintDirInCCDegrees}"P" }
-*EjectPageWithFF?: TRUE
-*Command: CmdEnableTIFF4 { *Cmd : "<1B>*b2M" }
-*Command: CmdDisableCompression { *Cmd : "<1B>*b0M" }
-*OutputDataFormat: H_BYTE
-*OptimizeLeftBound?: TRUE
-*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN
-*CursorYAfterSendBlockData: AUTO_INCREMENT
-
-*%******************************************************************************************
-*% Font Descriptions and Commands
-*%******************************************************************************************
-*DefaultFont: 136
-*DefaultCTT: 0
-*CharPosition: BASELINE
-*DeviceFonts: LIST(136,138,146,147,148,149,150,151,152,153,154,155,156,157,
-+ 163,164,165,166,196,197,198,199,200,201,202,203,209,210,
-+ 211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,
-+ 227,228,229,230)
-*MinFontID: 16534
-*MaxFontID: 32768
-*FontFormat: HPPCL_OUTLINE
-*Command: CmdSetFontID { *Cmd : "<1B>*c" %d{NextFontID}"D" }
-*Command: CmdSelectFontID { *Cmd : "<1B>(" %d{CurrentFontID}"X" }
-*Command: CmdSetCharCode { *Cmd : "<1B>*c" %d{NextGlyph}"E" }
-*Command: CmdUnderlineOn { *Cmd : "<1B>&dD" }
-*Command: CmdUnderlineOff { *Cmd : "<1B>&d@" }
-*Command: CmdWhiteTextOn { *Cmd : "<1B>*v1o1T" }
-*Command: CmdWhiteTextOff { *Cmd : "<1B>*v0o0T" }
-
-
-*%********************************************************************************************
-*%* Vector Commands.
-*%********************************************************************************************
-*MinGrayFill: 1
-*MaxGrayFill: 100
-*Command: CmdSetRectWidth { *Cmd : "<1B>*c" %d{(RectXSize) }"A" }
-*Command: CmdSetRectHeight { *Cmd : "<1B>*c" %d{(RectYSize) }"B" }
-*Command: CmdRectGrayFill { *Cmd : "<1B>*c" %d{GrayPercentage }"g2P" }
-*Command: CmdRectWhiteFill { *Cmd : "<1B>*c1P" }
-*Command: CmdRectBlackFill { *Cmd : "<1B>*c0P" }
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.inf b/print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.inf
deleted file mode 100644
index 8794fa8e..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.inf
+++ /dev/null
Binary files differ
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.ini b/print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.ini
deleted file mode 100644
index dd46570f..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[OEMFiles]
-OEMConfigFile1=GDLSMPL.DLL
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/GDLSMPL.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/GDLSMPL.vcxproj
deleted file mode 100644
index 8b4e5189..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/GDLSMPL.vcxproj
+++ /dev/null
@@ -1,1084 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Win10 Debug|ARM64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|Win32">
- <Configuration>Win10 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|x64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|ARM64">
- <Configuration>Win10 Release</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|Win32">
- <Configuration>Win10 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|x64">
- <Configuration>Win10 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|Win32">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|Win32">
- <Configuration>Win8 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|Win32">
- <Configuration>Win7 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|Win32">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|Win32">
- <Configuration>Win8 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|Win32">
- <Configuration>Win7 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|x64">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|x64">
- <Configuration>Win8 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|x64">
- <Configuration>Win7 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|x64">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|x64">
- <Configuration>Win8 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|x64">
- <Configuration>Win7 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{F0118F7B-9DF5-49FC-B4FF-951C54033F3D}</ProjectGuid>
- <RootNamespace>$(MSBuildProjectName)</RootNamespace>
- <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration>
- <Platform Condition="'$(Platform)' == ''">Win32</Platform>
- <SampleGuid>{54379D65-81DC-4846-87B8-91904DFAD95D}</SampleGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <PropertyGroup>
- <OutDir>$(IntDir)</OutDir>
- </PropertyGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ItemGroup Label="WrappedTaskItems" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetName>GDLSMPL</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetName>GDLSMPL</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetName>GDLSMPL</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <TargetName>GDLSMPL</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <TargetName>GDLSMPL</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetName>GDLSMPL</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetName>GDLSMPL</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetName>GDLSMPL</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <TargetName>GDLSMPL</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <TargetName>GDLSMPL</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetName>GDLSMPL</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetName>GDLSMPL</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetName>GDLSMPL</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <TargetName>GDLSMPL</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetName>GDLSMPL</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetName>GDLSMPL</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetName>GDLSMPL</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <TargetName>GDLSMPL</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ResourceCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <ClCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Midl>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ResourceCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <ClCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Midl>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ResourceCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <ClCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Midl>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ResourceCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <ClCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Midl>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ResourceCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <ClCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Midl>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ResourceCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <ClCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Midl>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ResourceCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <ClCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Midl>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ResourceCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <ClCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Midl>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ResourceCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <ClCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Midl>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ResourceCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <ClCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Midl>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ResourceCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <ClCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Midl>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ResourceCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <ClCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Midl>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ResourceCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <ClCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Midl>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ResourceCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <ClCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Midl>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ResourceCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <ClCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Midl>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ResourceCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <ClCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Midl>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ResourceCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <ClCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Midl>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ResourceCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ResourceCompile>
- <ClCompile>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
- <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Midl>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies>
- <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies>
- <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies>
- <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies>
- <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies>
- <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies>
- <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies>
- <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies>
- <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies>
- <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies>
- <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies>
- <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies>
- <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies>
- <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies>
- <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies>
- <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies>
- <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies>
- <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies>
- <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="devmode.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="gdlsmpl.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Create</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ResourceCompile Include="gdlsmpl.rc" />
- </ItemGroup>
- <ItemGroup>
- <Inf Exclude="@(Inf)" Include="*.inf" />
- <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" />
- </ItemGroup>
- <ItemGroup>
- <None Exclude="@(None)" Include="*.txt;*.htm;*.html" />
- <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" />
- <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/GDLSMPL.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/GDLSMPL.vcxproj.Filters
deleted file mode 100644
index 6031427f..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/GDLSMPL.vcxproj.Filters
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions>
- <UniqueIdentifier>{AA9642FD-4376-4AA6-BEBD-F068AD5C8036}</UniqueIdentifier>
- </Filter>
- <Filter Include="Header Files">
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- <UniqueIdentifier>{C5C6C5CD-8656-4525-B00D-B1F5AEFAA986}</UniqueIdentifier>
- </Filter>
- <Filter Include="Resource Files">
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions>
- <UniqueIdentifier>{7600E0E1-C09C-435F-9EE5-6AE7AF0E62AA}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="devmode.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="gdlsmpl.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="gdlsmpl.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="gdlsmpl.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="gdlsmpl.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="gdlsmpl.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="gdlsmpl.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="gdlsmpl.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="gdlsmpl.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="gdlsmpl.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="gdlsmpl.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="gdlsmpl.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="gdlsmpl.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="gdlsmpl.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="gdlsmpl.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="gdlsmpl.rc">
- <Filter>Resource Files</Filter>
- </ResourceCompile>
- </ItemGroup>
- <ItemGroup>
- <None Include="gdlsmpl.def">
- <Filter>Source Files</Filter>
- </None>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/debug.h
deleted file mode 100644
index 0414569c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/debug.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Debug.H
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debugging functions. Also defines the various debug macros.
-//
-//
-
-#pragma once
-
-/////////////////////////////////////////////////////////
-// Macros
-/////////////////////////////////////////////////////////
-//
-// These macros are used for debugging purposes. They expand
-// to white spaces on a free build. Here is a brief description
-// of what they do and how they are used:
-//
-// giDebugLevel
-// Global variable which set the current debug level to control
-// the amount of debug messages emitted.
-//
-// WARNING(msg)
-// Display a message if the current debug level is <= DBG_WARNING.
-// The message format is: WRN filename (linenumber): message
-//
-// ERR(msg)
-// Similiar to WARNING macro above - displays a message
-// if the current debug level is <= DBG_ERROR.
-//
-// ASSERT(cond)
-// Verify a condition is true. If not, force a breakpoint.
-//
-// RIP(msg)
-// Display a message and force a breakpoint.
-//
-// Usage:
-// WARNING("App passed NULL pointer, ignoring...\n");
-//
-
-#define DBG_VERBOSE 0
-#define DBG_WARNING 1
-#define DBG_ERROR 2
-#define DBG_NONE 3
-
-// VC and Build use different debug defines.
-#if defined (DBG) || defined (_DEBUG)
-
- // __declspec(selectany) ensures that even if this is defined in multiple compilation
- // modules, they will all resolve to the same symbol in the linked DLL
- __declspec(selectany) INT giDebugLevel = 2;
-
- #define STRINGIZE(x) #x
- #define QUOTE(x) STRINGIZE(x)
- #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__)
-
- #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); }
- #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); }
- #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); }
- #define ASSERT(cond) { if (!(cond)) RIP("\n"); }
- #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); }
-
-#else // !DBG
-
- #define VERBOSE(msg)
- #define WARNING(msg)
- #define ERR(msg)
- #define ASSERT(cond)
- #define RIP(msg)
-
-#endif
-
-
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/devmode.cpp
deleted file mode 100644
index 0654e1b5..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/devmode.cpp
+++ /dev/null
@@ -1,251 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2006 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: devmode.cpp
-//
-// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules.
-//
-//--------------------------------------------------------------------------
-
-#include "precomp.h"
-
-#include "debug.h"
-#include "devmode.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-BOOL
-ConvertOEMDevmode(
- _In_ PCOEMDEV pOEMDevIn,
- _Inout_ POEMDEV pOEMDevOut
- );
-
-BOOL
-MakeOEMDevmodeValid(
- _Out_ POEMDEV pOEMDevmode
- );
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::hrOEMDevMode
-//
-// Synopsis:
-// Performs operation on UI Plugins Private DevMode Members.
-// Called via IOemUI::DevMode
-//
-// Returns:
-// S_OK or E_FAIL. For more detailed failure info,
-// check GetLastError
-//
-// Last error:
-// ERROR_INVALID_PARAMETER
-//
-//
-//----------------------------------------------------------------------------
-HRESULT
-hrOEMDevMode(
- DWORD dwMode,
- // Indicates which operation should be performed
- _Inout_ POEMDMPARAM pOemDMParam
- // contains various data structures needed by this
- // routine. The usage of this struct is determined by
- // the dwMode flag.
- )
-{
- HRESULT hr = S_OK;
- // Return value.
-
- //
- // Verify parameters.
- //
- if ((NULL == pOemDMParam) ||
- ((OEMDM_SIZE != dwMode) &&
- (OEMDM_DEFAULT != dwMode) &&
- (OEMDM_CONVERT != dwMode) &&
- (OEMDM_MERGE != dwMode)))
- {
- ERR("DevMode() ERROR_INVALID_PARAMETER.\r\n");
-
- SetLastError(ERROR_INVALID_PARAMETER);
- hr = E_FAIL;
- }
- else
- {
- POEMDEV pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn;;
- // Pointer to the supplied OEM devmode data, if applicable
- // based on dwMode.
-
- POEMDEV pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut;;
- // Pointer to the DEVMODE data that this routine is
- // expected to configure, if applicable based on dwMode.
-
- switch (dwMode)
- {
- //
- // The Method should return the size of the memory allocation
- // needed to store the UI plugin Private DEVMODE.
- //
- case OEMDM_SIZE:
- pOemDMParam->cbBufSize = sizeof(OEMDEV);
- break;
-
- //
- //Should fill the Private DEVMODE with the default values.
- //
- case OEMDM_DEFAULT:
- //
- //OEM_DMEXTRAHEADER Members
- //
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- break;
-
- //
- // The method should convert private DEVMODE members to
- // the current version, if necessary.
- //
- case OEMDM_CONVERT:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- break;
-
- //
- // The method should validate the information contained in private
- // DEVMODE members and merge validated values into a private
- // DEVMODE structure containing default values
- //
- case OEMDM_MERGE:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- MakeOEMDevmodeValid(pOEMDevOut);
- break;
- }
- }
-
- return hr;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::ConvertOEMDevmode
-//
-// Synopsis:
-// confirm that the private DEVMODE being passed in is data that
-// this driver recognizes, read the settings from the input
-// OEM DEVMODE data, and write them to pOEMDevOut.
-//
-// Returns:
-// True unless the routine was called with null pointers
-//
-//
-//----------------------------------------------------------------------------
-BOOL
-ConvertOEMDevmode(
- _In_ PCOEMDEV pOEMDevIn,
- // Caller supplied DEVMODE that we are attempting to read
- _Inout_ POEMDEV pOEMDevOut
- // OEM private DEVMODE configured by this routine based on the settings
- // in pOEMDevIn
- )
-{
- if ((NULL == pOEMDevIn) ||
- (NULL == pOEMDevOut))
- {
- ERR("ConvertOEMDevmode() invalid parameters.\r\n");
- return FALSE;
- }
-
- //
- // Check OEM Signature, if it doesn't match ours,
- // then just assume DMIn is bad and use defaults.
- //
- if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature)
- {
- //
- // Copy the old structure in to the new using which ever size is the
- // smaller. Devmode maybe from newer Devmode (not likely since there
- // is only one), or Devmode maybe a newer Devmode, in which case it
- // maybe larger, but the first part of the structure should be the same.
- //
- // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to;
- // the fields that are in the DEVMODE never change only new fields get
- // added to the end.
- //
- memcpy(pOEMDevOut,
- pOEMDevIn,
- __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize));
-
- //
- // Re-fill in the size and version fields to indicated
- // that the DEVMODE is the current private DEVMODE version.
- //
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
-
- //
- // If the plug-in is capable of recognizing multiple versions of it's
- // private DEVMODE data add custom handling here to support it.
- //
- }
- else
- {
- WARNING("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n");
-
- //
- // The private DEVMODE data is not something that this plug-in understands,
- // so use defaults.
- //
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- }
-
- return TRUE;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::MakeOEMDevmodeValid
-//
-// Synopsis:
-// Force the OEM devmode settings to valid values.
-//
-// Returns:
-// True if the OEMDEV was configured, else FALSE. Only return false if
-// the parameter is NULL.
-//
-//
-//----------------------------------------------------------------------------
-BOOL
-MakeOEMDevmodeValid(
- _Out_ POEMDEV pOEMDevmode
- // OEM DEVMODE data to modify
- )
-{
- if(NULL == pOEMDevmode)
- {
- return FALSE;
- }
-
- //
- // Assumption: pOEMDevmode is large enough to contain OEMDEV structure.
- //
- pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION;
-
- return TRUE;
-}
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/devmode.h
deleted file mode 100644
index 791b1a20..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/devmode.h
+++ /dev/null
@@ -1,52 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2006 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: devmode.h
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for devmode functions.
-//
-//--------------------------------------------------------------------------
-
-#pragma once
-
-#define OEM_SIGNATURE 'GDLS'
-#define OEM_VERSION 0x00000001L
-
-//
-// OEM private DEVMODE data structure. This gets included in the DEVMODE
-// used by Unidrv.
-//
-typedef struct tagOEMDEV
-{
- OEM_DMEXTRAHEADER dmOEMExtra;
- // This structure MUST be prefixed by OEM_DMEXTRAHEADER
-
- //
- // Add private DevMode members here, after the standard header
- // information.
- //
-
-} OEMDEV, *POEMDEV;
-
-typedef const OEMDEV *PCOEMDEV;
-
-
-//
-// Prototypes
-//
-
-HRESULT
-hrOEMDevMode(
- DWORD dwMode,
- _Inout_ POEMDMPARAM pOemDMParam
- );
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.cpp b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.cpp
deleted file mode 100644
index 6d8fd195..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.cpp
+++ /dev/null
@@ -1,856 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2006 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: gdlsmpl.cpp
-//
-// PURPOSE: Implementation of interface for Unidrv5 UI plug-ins.
-//
-//--------------------------------------------------------------------------
-
-#include "precomp.h"
-
-#include "debug.h"
-#include "devmode.h"
-#include "intrface.h"
-#include "gdlsmpl.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-//--------------------------------------------------------------------------
-// Globals
-//--------------------------------------------------------------------------
-
-HINSTANCE ghInstance = NULL;
- // Module's Instance handle from DLLEntry of process.
-
-
-//--------------------------------------------------------------------------
-// Internal Globals
-//--------------------------------------------------------------------------
-
-static long g_cComponents = 0;
- // Count of active components
-
-static long g_cServerLocks = 0;
- // Count of locks
-
-
-//--------------------------------------------------------------------------
-// Local helper functions
-//--------------------------------------------------------------------------
-BOOL __stdcall
-DebugPrint(
- LPCWSTR pszMessage,
- // Format string for the error message
- ...
- // args specified in the format string.
- )
-{
- va_list arglist;
- // varargs list for processing the '...' parameter.
-
- WCHAR szMsgBuf[MAX_PATH] = {0};
- // Use a stack error buffer so that we don't need to
- // allocate in the failure path.
-
- HRESULT hResult;
- // Result from formatting the string.
-
- if (NULL == pszMessage)
- {
- return FALSE;
- }
-
- // Pass the variable parameters to wvsprintf to be formated.
- va_start(arglist, pszMessage);
- hResult = StringCbVPrintfW(szMsgBuf, MAX_PATH*sizeof(szMsgBuf[0]), pszMessage, arglist);
- va_end(arglist);
-
- // Dump string to debug output.
- OutputDebugStringW(szMsgBuf);
-
- return SUCCEEDED(hResult);
-}
-
-
-//--------------------------------------------------------------------------
-// Class factory for the Plug-In object
-//--------------------------------------------------------------------------
-class COemCF : public IClassFactory
-{
-public:
-
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_
- REFIID riid,
- LPVOID FAR* ppvObj
- );
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- // IClassFactory methods
- STDMETHOD(CreateInstance) (THIS_
- _In_opt_ LPUNKNOWN pUnkOuter,
- _In_ REFIID riid,
- _Outptr_ LPVOID FAR* ppvObject
- );
-
- STDMETHOD(LockServer) (THIS_
- BOOL bLock
- );
-
- // Class-specific methods.
- COemCF(): m_cRef(1) { };
-
- ~COemCF() { };
-
-protected:
- LONG m_cRef;
-
-};
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::DllMain
-//
-// Synopsis:
-// Dll's main routine, called when new
-// threads or processes reference the module
-//
-// Returns:
-// TRUE. Currently has no failure paths. Return false if the module
-// cannot be properly initialized.
-//
-// Notes:
-// the caller of this routine holds a process-wide lock preventing more
-// than one module from being initialized at a time. In general,
-// plug-ins should do as little as possible in this routine to avoid
-// stalling other threads that may need to load modules. Also, calling
-// any function that would, in-turn, cause another module to be loaded
-// could result in a deadlock.
-//
-//
-//----------------------------------------------------------------------------
-extern "C" BOOL
-WINAPI DllMain(
- HINSTANCE hInst,
- WORD wReason,
- LPVOID lpReserved
- )
-{
- UNREFERENCED_PARAMETER(hInst);
- UNREFERENCED_PARAMETER(lpReserved);
-
- switch(wReason)
- {
- case DLL_PROCESS_ATTACH:
- ghInstance = hInst;
- break;
-
- case DLL_THREAD_ATTACH:
- break;
-
- case DLL_PROCESS_DETACH:
- break;
-
- case DLL_THREAD_DETACH:
- break;
- }
-
- return TRUE;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::DllCanUnloadNow
-//
-// Synopsis:
-// Can the DLL be unloaded from memory? Answers no if any objects are
-// still allocated, or if the server has been locked.
-//
-// To avoid leaving OEM DLL still in memory when Unidrv or Pscript
-// drivers are unloaded, Unidrv and Pscript driver ignore the return
-// value of DllCanUnloadNow of the OEM DLL, and always call FreeLibrary
-// on the OEMDLL.
-//
-// If the plug-in spins off a working thread that also uses this DLL,
-// the thread needs to call LoadLibrary and FreeLibraryAndExitThread,
-// otherwise it may crash after Unidrv or Pscript calls FreeLibrary.
-//
-// Returns:
-// S_OK if the DLL can be unloaded safely, otherwise S_FALSE
-//
-//
-//----------------------------------------------------------------------------
-STDAPI DllCanUnloadNow()
-{
- if ((g_cComponents == 0) && (g_cServerLocks == 0))
- {
- return S_OK;
- }
- else
- {
- return S_FALSE;
- }
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::DllGetClassObject
-//
-// Synopsis:
-// Retrieve the class factory object for the indicated class.
-//
-// Returns:
-// CLASS_E_CLASSNOTAVAILABLE, E_OUTOFMEMORY, or S_OK.
-//
-// Notes:
-//
-//
-//----------------------------------------------------------------------------
-STDAPI
-DllGetClassObject(
- _In_ CONST CLSID& clsid,
- // GUID of the class object that the caller wants a class factory for
- _In_ CONST IID& iid,
- // Interface ID to provide in ppv
- _Outptr_ VOID** ppv
- // out pointer to the interface requested.
- )
-{
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- //
- // Can we create this component?
- //
- if (clsid != CLSID_OEMUI)
- {
- return CLASS_E_CLASSNOTAVAILABLE;
- }
-
- //
- // Create class factory.
- // Reference count set to 1 in Constructor
- //
- COemCF* pGDLSampleClassFactory = new COemCF;
- if (pGDLSampleClassFactory == NULL)
- {
- return E_OUTOFMEMORY;
- }
-
- //
- // Get requested interface.
- //
- HRESULT hr = pGDLSampleClassFactory->QueryInterface(iid, ppv);
- pGDLSampleClassFactory->Release();
-
- return hr;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemCF::QueryInterface
-//
-// Synopsis:
-// Standard COM IUnknown implementation.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemCF::QueryInterface(
- CONST IID& iid,
- VOID** ppv
- )
-{
- if ((iid == IID_IUnknown) || (iid == IID_IClassFactory))
- {
- *ppv = static_cast<COemCF*>(this);
- }
- else
- {
- *ppv = NULL;
- return E_NOINTERFACE;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef();
- return S_OK;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemCF::AddRef
-//
-// Synopsis:
-// Standard COM IUnknown implementation.
-//
-//
-//----------------------------------------------------------------------------
-ULONG __stdcall
-COemCF::AddRef()
-{
- return InterlockedIncrement(&m_cRef);
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemCF::Release
-//
-// Synopsis:
-// Standard COM IUnknown implementation.
-//
-//
-//----------------------------------------------------------------------------
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall
-COemCF::Release()
-{
- assert(0 != m_cRef);
-
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
- }
- return cRef;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemCF::CreateInstance
-//
-// Synopsis:
-// Attempt to create an object that implements the specified interface.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemCF::CreateInstance(
- _In_opt_ IUnknown* pUnknownOuter,
- _In_ CONST IID& iid,
- _Outptr_ VOID** ppv
- )
-{
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- //
- // Cannot aggregate.
- //
- if (pUnknownOuter != NULL)
- {
- return CLASS_E_NOAGGREGATION;
- }
-
- HRESULT hr = S_OK;
-
- if (iid == IID_IUnknown ||
- iid == IID_IPrintOemUI2)
- {
- //
- // Create component.
- //
- COemUI2* pOemCB = new COemUI2;
- if (pOemCB == NULL)
- {
- hr = E_OUTOFMEMORY;
- }
- else
- {
- //
- // Get the requested interface.
- //
- hr = pOemCB->QueryInterface(iid, ppv);
-
- //
- // Release the IUnknown pointer.
- // (If QueryInterface failed, component will delete itself.)
- //
- pOemCB->Release();
- }
- }
- else
- {
- hr = E_NOINTERFACE;
- }
-
- return hr;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemCF::LockServer
-//
-// Synopsis:
-// Locking the server holds the objects server in memory, so that new
-// instances of objects can be created more quickly.
-//
-// Returns:
-// S_OK
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemCF::LockServer(
- BOOL bLock
- // If true, increment the lock count, otherwise decrement the lock
- // count.
- )
-{
- if (bLock)
- {
- InterlockedIncrement(&g_cServerLocks);
- }
- else
- {
- InterlockedDecrement(&g_cServerLocks);
- }
-
- return S_OK;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2 (destructor)
-//
-// Synopsis:
-// Release the helper interface, as well as any other resources that
-// the plug-in is holding onto.
-//
-// Returns:
-//
-// Notes:
-//
-//
-//----------------------------------------------------------------------------
-COemUI2::~COemUI2()
-{
- //
- // Make sure that helper interface is released.
- //
- if(NULL != m_pCoreHelper)
- {
- m_pCoreHelper->Release();
- m_pCoreHelper = NULL;
- }
-
- //
- // If this instance of the object is being deleted, then the reference
- // count should be zero.
- //
- assert(0 == m_cRef);
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::PublishDriverInterface
-//
-// Synopsis:
-// This routine is called by the core driver to supply objects to the
-// plug-in which the plug-in can use to implement various features.
-//
-// This implementation requires an object that IPrintCoreHelper interface
-// from the core driver to implement full UI replacement. If the object
-// passed in is the one desired, this routine will return S_OK, otherwise
-// it will return E_FAIL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::PublishDriverInterface(
- IUnknown *pIUnknown
- )
-{
- HRESULT hr = S_OK;
-
- //
- // Save a pointer to the IPrintCoreHelperUni interface. This will allow
- // the plug-in to access it's GDL file (which can be it's GPD file as well)
- //
- if (m_pCoreHelper == NULL)
- {
- hr = pIUnknown->QueryInterface(IID_IPrintCoreHelperUni, (VOID**) &(m_pCoreHelper));
-
- if (!SUCCEEDED(hr))
- {
- m_pCoreHelper = NULL;
- hr = E_FAIL;
- }
- }
-
- return hr;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::GetInfo
-//
-// Synopsis:
-// Most of this routine is a standard implementation common to most
-// plug-ins. Of particular note in this sample is that to get a handle
-// the IPrintCoreHelper plug-in in the PublishDriverInterface callback,
-// this routine must return OEMPUBLISH_IPRINTCOREHELPER in the out
-// parameter when the mode is OEMGI_GETREQUESTEDHELPERINTERFACES.
-//
-// Returns:
-// S_OK for supported modes, E_FAIL for everything else.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::GetInfo(
- DWORD dwMode,
- // The mode indicates what information is being requested by the
- // core driver.
- _Out_writes_bytes_(cbSize) PVOID pBuffer,
- // The output buffer is the location into which the requested info
- // should be written
- DWORD cbSize,
- // The size of the output buffer.
- PDWORD pcbNeeded
- // If the size of the buffer is insufficient, use this parameter
- // to indicate to the core driver how much space is required.
- )
-{
- HRESULT hrResult = S_OK;
-
- //
- // Validate parameters. OEMGI_GETPUBLISHERINFO is excluded from this
- // list because that GetInfo mode applies only to PScript rendering plug-ins.
- //
- if ((NULL == pcbNeeded) ||
- ((OEMGI_GETSIGNATURE != dwMode) &&
- (OEMGI_GETVERSION != dwMode) &&
- (OEMGI_GETREQUESTEDHELPERINTERFACES != dwMode)))
- {
- WARNING("COemUI2::GetInfo() exit pcbNeeded is NULL or mode is not supported\r\n");
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- //
- // Set expected buffer size and number of bytes written.
- //
- *pcbNeeded = sizeof(DWORD);
-
- //
- // Check buffer size is sufficient.
- //
- if((cbSize < *pcbNeeded) || (NULL == pBuffer))
- {
- WARNING("COemUI2::GetInfo() exit insufficient buffer!\r\n");
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- hrResult = E_FAIL;
- }
- else
- {
- switch(dwMode)
- {
- //
- // OEM DLL Signature
- //
- case OEMGI_GETSIGNATURE:
- *(PDWORD)pBuffer = OEM_SIGNATURE;
- break;
-
- //
- // OEM DLL version
- //
- case OEMGI_GETVERSION:
- *(PDWORD)pBuffer = OEM_VERSION;
- break;
-
- //
- // The UI is asking whether the plug-in uses the IPrintCoreHelper based
- // helper object. Indicate that the plug-in does need this object.
- //
- case OEMGI_GETREQUESTEDHELPERINTERFACES:
- *(PDWORD)pBuffer = 0;
- *(PDWORD)pBuffer |= OEMPUBLISH_IPRINTCOREHELPER;
- break;
-
- //
- // dwMode not supported.
- //
- default:
- //
- // Set written bytes to zero since nothing was written.
- //
- WARNING("COemUI2::GetInfo() exit mode not supported.\r\n");
- *pcbNeeded = 0;
- SetLastError(ERROR_NOT_SUPPORTED);
- hrResult = E_FAIL;
- }
- }
-
- return hrResult;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::DevMode
-//
-// Synopsis:
-// This routine operates in various modes to manage the private DEVMODE.
-// This sample does not provide much by way of illustration of how to
-// handle OEM settings in the private DEVMODE. See the sample OEMUI for
-// a more in-depth look at this routine. The function hrOEMDevMode in
-// devmode.cpp also provides more information on how to handle the various
-// modes.
-//
-// Returns:
-// S_OK on success, else E_*
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::DevMode(
- DWORD dwMode,
- // The operation that should be performed
- POEMDMPARAM pOemDMParam
- // The input & output DEVMODEs, including pointers to the public &
- // private DEVMODE data.
- )
-{
- return hrOEMDevMode(dwMode, pOemDMParam);
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::DocumentPropertySheets
-//
-// Synopsis:
-// Show the GPD version in the debugger whenever the
-// printing preferences UI is shown.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::DocumentPropertySheets(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- )
-{
- UNREFERENCED_PARAMETER(pPSUIInfo);
- UNREFERENCED_PARAMETER(lParam);
-
- this->DbgShowGPDVersion();
-
- return S_OK;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::DbgShowGPDVersion
-//
-// Synopsis:
-// Display the GPD version in the debugger using a GDL snapshot & MSXML 6
-// To make this work on versions of Windows prior to Windows Vista, change
-// references to MSXML 6 with MSXML 3.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT
-COemUI2::DbgShowGPDVersion()
-{
- HRESULT hr;
- IXMLDOMDocument2 *pDOMSnapshot = NULL;
- IXMLDOMNode *pVersionNode = NULL;
-
- //
- // Get a DOM representation of the snapshot using MSXML 3
- //
- hr = LoadGDLSnapshot(&pDOMSnapshot);
-
- if (hr == REGDB_E_CLASSNOTREG)
- {
- DebugPrint(L"COemUI2::PublishHelperInterface: MSXML 6.0 not registered, GDL version lookup disabled\r\n");
- }
-
- //
- // Find the GDL node that contains the GPDFileVersion. This should return a single XML DOM Element.
- //
- if (SUCCEEDED(hr))
- {
- hr = pDOMSnapshot->selectSingleNode((BSTR)TEXT("//gdl:SnapshotRoot/gdl:GDL_ATTRIBUTE[@Name=\"*GPDFileVersion\"]"), &pVersionNode);
- }
-
- //
- // If the node was found, write the version information to the debugger.
- // It's content is represented as CDATA in the XML, but MSXML will
- // normalize that to a regular string when it parses the XML.
- //
- if (SUCCEEDED(hr) && pVersionNode)
- {
- VARIANT varVersionString;
-
- //
- // Get DefaultOption name
- //
- hr = pVersionNode->get_nodeTypedValue(&varVersionString);
-
- if (SUCCEEDED(hr))
- {
- DebugPrint(L"COemUI2::PublishHelperInterface: GDL Version: %s\r\n", varVersionString.bstrVal);
- }
-
- VariantClear(&varVersionString);
- }
-
- if (pDOMSnapshot)
- {
- pDOMSnapshot->Release();
- pDOMSnapshot = NULL;
- }
-
- return hr;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::LoadGDLSnapshot
-//
-// Synopsis:
-// Load the GDL snapshot from IPrintCoreHelperUni into a DOM object,
-// and set appropriate properties on the DOM to prepare it for use
-// with xpath queries.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT
-COemUI2::LoadGDLSnapshot(
- _Out_ IXMLDOMDocument2 **ppDOMSnapshot
- )
-{
- HRESULT hr = S_OK;
- IStream *pSnapshotStream = NULL;
- VARIANT_BOOL loadResult = 0;
-
- if (!ppDOMSnapshot)
- {
- return E_INVALIDARG;
- }
-
- (*ppDOMSnapshot) = NULL;
-
- hr = m_pCoreHelper->CreateDefaultGDLSnapshot(0, &pSnapshotStream);
-
- if (SUCCEEDED(hr))
- {
- //
- // Create DOM document
- //
- hr = m_pCoreHelper->CreateInstanceOfMSXMLObject(CLSID_DOMDocument60,
- NULL,
- CLSCTX_INPROC_SERVER,
- IID_IXMLDOMDocument2,
- (LPVOID *)ppDOMSnapshot);
- }
-
- if (SUCCEEDED(hr))
- {
- VARIANT streamVar;
-
- VariantInit(&streamVar);
- V_VT(&streamVar) = VT_UNKNOWN;
- V_UNKNOWN(&streamVar) = pSnapshotStream;
- pSnapshotStream->AddRef();
-
- //
- // Load the snapshot into the DOM document
- //
- (*ppDOMSnapshot)->put_async(VARIANT_FALSE);
- (*ppDOMSnapshot)->put_validateOnParse(VARIANT_FALSE);
- (*ppDOMSnapshot)->put_resolveExternals(VARIANT_FALSE);
-
- hr = (*ppDOMSnapshot)->load(streamVar, &loadResult);
-
- VariantClear(&streamVar);
- }
-
- //
- // If the DOM fails to load, the HRESULT will be S_FALSE, so explicitly
- // look for S_OK.
- //
- if (hr == S_OK)
- {
- //
- // Set the namespaces that should be available for xpath queries later.
- //
- BSTR bstrDefNameSpace = SysAllocString(TEXT("xmlns:gdl=\"http://schemas.microsoft.com/2002/print/gdl/1.0\""));
-
- if (!bstrDefNameSpace)
- {
- hr = E_OUTOFMEMORY;
- }
-
- if (SUCCEEDED(hr))
- {
- VARIANT varDefNameSpace;
-
- VariantInit(&varDefNameSpace);
- varDefNameSpace.vt = VT_BSTR;
- varDefNameSpace.bstrVal = bstrDefNameSpace;
-
- hr = (*ppDOMSnapshot)->setProperty((BSTR)TEXT("SelectionNamespaces"), varDefNameSpace);
- SysFreeString(bstrDefNameSpace);
- }
- }
- else
- {
- hr = E_FAIL;
- }
-
- if (FAILED(hr) && *ppDOMSnapshot)
- {
- (*ppDOMSnapshot)->Release();
- (*ppDOMSnapshot) = NULL;
- }
-
- if (pSnapshotStream)
- {
- pSnapshotStream->Release();
- pSnapshotStream = NULL;
- }
-
- return hr;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.def b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.def
deleted file mode 100644
index d9534de1..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.def
+++ /dev/null
@@ -1,18 +0,0 @@
-;
-; THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-; ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-; THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-; PARTICULAR PURPOSE.
-;
-; Copyright 1997 - 2006 Microsoft Corporation. All Rights Reserved.
-;
-; Abstract:
-;
-; This file contains a listing of all of the methods to be exported
-; from the DLL, as well as rules for how to name the exports.
-;
-
-LIBRARY GDLSMPL
-
-EXPORTS DllGetClassObject PRIVATE
- DllCanUnloadNow PRIVATE
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.h b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.h
deleted file mode 100644
index 77ba7647..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.h
+++ /dev/null
@@ -1,79 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2006 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: gdlsmpl.h
-//
-// PURPOSE: COM implementation of a UI module that uses GDL. CAbstractOemUI2
-// is defined in intrface.h, and contains a default implementation of
-// all optional interface methods.
-//
-//--------------------------------------------------------------------------
-
-#pragma once
-
-///////////////////////////////////////
-// Globals
-///////////////////////////////////////
-
-extern HINSTANCE ghInstance;
- // Module's Instance handle from DLLEntry of process.
-
-class COemUI2: public CAbstractOemUI2
-{
-public:
-
- COemUI2() :
- m_pCoreHelper(NULL)
- {}
-
- //
- // Method for publishing Driver interface.
- //
- STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown);
-
- //
- // Get OEM dll related information
- //
- STDMETHOD(GetInfo) (THIS_
- DWORD dwMode,
- _Out_writes_bytes_(cbSize) PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded);
-
- //
- // OEMDevMode
- //
- STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam);
-
- //
- // OEMDocumentPropertySheets
- //
- STDMETHOD(DocumentPropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
- virtual ~COemUI2();
-
-protected:
-
- HRESULT
- DbgShowGPDVersion();
-
- HRESULT
- LoadGDLSnapshot(
- _Out_ IXMLDOMDocument2 **ppDOMSnapshot
- );
-
- IPrintCoreHelperUni* m_pCoreHelper;
- // Pointer to the helper interface introduced in Windows Vista.
-};
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.rc b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.rc
deleted file mode 100644
index 5cd078df..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.rc
+++ /dev/null
@@ -1,106 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2006 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: gdlsmpl.rc
-//
-// PURPOSE: Resource script containing all localizable strings for this
-// module
-//
-//--------------------------------------------------------------------------
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "Developed by Microsoft Corp."
- VALUE "CompanyName", "Microsoft Corp."
- VALUE "FileDescription", "GDL Sample Printer UI Module"
- VALUE "FileVersion", "1, 0, 0, 1"
- VALUE "InternalName", "GDLSMPL"
- VALUE "LegalCopyright", "Copyright � 1998 - 2006 Microsoft Corp."
- VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation"
- VALUE "OriginalFilename", "GDLSMPL.dll"
- VALUE "ProductName", "Microsoft GDL Sample Driver"
- VALUE "ProductVersion", "1.1"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""winres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/intrface.cpp
deleted file mode 100644
index d399712d..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/intrface.cpp
+++ /dev/null
@@ -1,559 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2006 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.cpp
-//
-// PURPOSE: Generic abstract base class useful for creating implementation
-// of interface for Unidrv5 UI plug-ins. This base class
-// implements all methods which have a standard implementation
-// and / or are optional. Non-optional mathods are pure virtual
-// in this base class.
-//
-//--------------------------------------------------------------------------
-
-#include "precomp.h"
-
-#include "debug.h"
-#include "devmode.h"
-#include "intrface.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CAbstractOemUI2::QueryInterface
-//
-// Synopsis:
-// Standard COM IUnknown implementation.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-CAbstractOemUI2::QueryInterface(
- CONST IID& iid,
- VOID** ppv
- )
-{
- if (iid == IID_IUnknown)
- {
- *ppv = static_cast<IUnknown*>(this);
- }
- else if (iid == IID_IPrintOemUI2)
- {
- *ppv = static_cast<IPrintOemUI2*>(this);
- }
- else
- {
- *ppv = NULL;
- return E_NOINTERFACE;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef();
- return S_OK;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CAbstractOemUI2::AddRef
-//
-// Synopsis:
-// Standard COM IUnknown implementation.
-//
-//
-//----------------------------------------------------------------------------
-ULONG __stdcall
-CAbstractOemUI2::AddRef()
-{
- return InterlockedIncrement(&m_cRef);
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CAbstractOemUI2::Release
-//
-// Synopsis:
-// Standard COM IUnknown implementation.
-//
-//
-//----------------------------------------------------------------------------
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall
-CAbstractOemUI2::Release()
-{
- ASSERT(0 != m_cRef);
-
- ULONG cRef = InterlockedDecrement(&m_cRef);
-
- if (0 == cRef)
- {
- delete this;
- return 0;
-
- }
-
- return cRef;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CAbstractOemUI2::HideStandardUI
-//
-// Synopsis:
-// This routine is critical to supporting full UI replacement. This
-// routine allows the plug-in to disable Unidrv's (or PScript's) standard
-// UI panels. If this returns E_NOTIMPL, the panel isn't hidden. If
-// this routine returns S_OK, Unidrv will not display any UI for the
-// specified mode. If this returns E_NOTIMPL, Unidrv will display it's
-// standard UI.
-//
-// Returns:
-// S_OK to hide the indicated UI if desired, otherwise E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-CAbstractOemUI2::HideStandardUI(
- DWORD dwMode
- // document property sheets, printer property sheets, or possibly
- // something not yet defined.
- )
-{
- UNREFERENCED_PARAMETER(dwMode);
-
- return E_NOTIMPL;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CAbstractOemUI2::DocumentPropertySheets
-//
-// Synopsis:
-// A plug-in may optionally add property sheets. If the plug-in has
-// chosen to hide the standard UI, then it would instead provide
-// replacements for the standard property sheets.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-CAbstractOemUI2::DocumentPropertySheets(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- )
-{
- UNREFERENCED_PARAMETER(pPSUIInfo);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CAbstractOemUI2::DevicePropertySheets
-//
-// Synopsis:
-// A plug-in may optionally add property sheets. If the plug-in has
-// chosen to hide the standard UI, then it would instead provide
-// replacements for the standard property sheets.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-CAbstractOemUI2::DevicePropertySheets(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- )
-{
- UNREFERENCED_PARAMETER(pPSUIInfo);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CAbstractOemUI2::CommonUIProp
-//
-// Synopsis:
-// This routine is used to interact with the Unidrv-supplied
-// property sheet pages. Since this plug-in implements full-UI
-// replacement, those property sheet pages are disabled, and this
-// routine does not need to do anything.
-//
-// Returns:
-// S_OK
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-CAbstractOemUI2::CommonUIProp(
- DWORD dwMode,
- POEMCUIPPARAM pOemCUIPParam
- )
-{
- UNREFERENCED_PARAMETER(dwMode);
- UNREFERENCED_PARAMETER(pOemCUIPParam);
-
- return E_NOTIMPL;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CAbstractOemUI2::DeviceCapabilities
-//
-// Synopsis:
-// This routine can be used to replace the Unidrv's device capabilities
-// handling. In this implementation, no custom capabilities handling is
-// provided.
-//
-// Returns:
-// E_FAIL
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-CAbstractOemUI2::DeviceCapabilities(
- _Inout_ POEMUIOBJ poemuiobj,
- // OEM settings & information
- _In_ HANDLE hPrinter,
- // Handle to the printer that the capabilities are being requested for
- _In_ PWSTR pDeviceName,
- // Name of the device / driver
- WORD wCapability,
- // The DC_ ID indicating which capability was requested.
- _Out_ PVOID pOutput,
- // Buffer to write requested information to.
- _In_ PDEVMODE pPublicDM,
- // Pointer to the public DEVMODE representing the settings to get
- // capabilities with respect to.
- _In_ PVOID pOEMDM,
- // OEM private DEVMODE settings.
- DWORD dwOld,
- // Result from previous plug-in call to this routine.
- _Out_ DWORD *dwResult
- // Result of this call. If there are multiple UI plug-ins, this
- // result is passed to the next one as dwOld
- )
-{
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(pDeviceName);
- UNREFERENCED_PARAMETER(wCapability);
- UNREFERENCED_PARAMETER(pOutput);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
- UNREFERENCED_PARAMETER(dwOld);
- UNREFERENCED_PARAMETER(dwResult);
-
- //
- // Do nothing. Let Unidrv handle the device capabilities processing.
- //
-
- return E_NOTIMPL;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CAbstractOemUI2::DevQueryPrintEx
-//
-// Synopsis:
-// This routine is used to determine print job compatibility with the
-// current driver. The plug-in can supplement Unidrv's handling of this
-// routine. If Unidrv determines that a job can be printed on the current
-// printer it will call this routine to ask the plug-in whether it can
-// also handle the current job. If Unidrv determines that the job cannot
-// be printed, it will not call the plug-in. Additionally, XPS drivers
-// built on the Unidrv and PScript UI modules may not recieve this call-
-// back.
-//
-// Implementation of this routine is optional. To indicate that the
-// plug-in does not support this call, return E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-CAbstractOemUI2::DevQueryPrintEx(
- POEMUIOBJ poemuiobj,
- PDEVQUERYPRINT_INFO pDQPInfo,
- PDEVMODE pPublicDM,
- PVOID pOEMDM
- )
-{
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(pDQPInfo);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
-
- return E_NOTIMPL;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CAbstractOemUI2::UpgradePrinter
-//
-// Synopsis:
-// Use this callback to upgrade any settings from previous versions
-// that are stored in the registry by the plug-in Not applicabe to
-// this sample.
-//
-// Implementation of this routine is optional. To indicate that the
-// plug-in does not support this call, return E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-CAbstractOemUI2::UpgradePrinter(
- DWORD dwLevel,
- PBYTE pDriverUpgradeInfo
- )
-{
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(pDriverUpgradeInfo);
-
- return E_NOTIMPL;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CAbstractOemUI2::PrinterEvent
-//
-// Synopsis:
-// Perform any special processing needed when various events occur to the
-// print queue.
-//
-// Implementation of this routine is optional. To indicate that the
-// plug-in does not support this call, return E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-CAbstractOemUI2::PrinterEvent(
- _In_ PWSTR pPrinterName,
- INT iDriverEvent,
- DWORD dwFlags,
- LPARAM lParam
- )
-{
- UNREFERENCED_PARAMETER(pPrinterName);
- UNREFERENCED_PARAMETER(iDriverEvent);
- UNREFERENCED_PARAMETER(dwFlags);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CAbstractOemUI2::DriverEvent
-//
-// Synopsis:
-// Notifies the plug-in of changes or events relevant to the driver,
-// such as installing and upgrading.
-//
-// Implementation of this routine is optional. To indicate that the
-// plug-in does not support this call, return E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-CAbstractOemUI2::DriverEvent(
- DWORD dwDriverEvent,
- DWORD dwLevel,
- LPBYTE pDriverInfo,
- LPARAM lParam
- )
-{
- UNREFERENCED_PARAMETER(dwDriverEvent);
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(pDriverInfo);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-};
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CAbstractOemUI2::QueryColorProfile
-//
-// Synopsis:
-// This routine can be implemented to provide a color profile from the
-// driver.
-//
-// Implementation of this routine is optional. To indicate that the
-// plug-in does not support this call, return E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-CAbstractOemUI2::QueryColorProfile(
- HANDLE hPrinter,
- POEMUIOBJ poemuiobj,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- ULONG ulQueryMode,
- VOID *pvProfileData,
- ULONG *pcbProfileData,
- FLONG *pflProfileData
- )
-{
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
- UNREFERENCED_PARAMETER(ulQueryMode);
- UNREFERENCED_PARAMETER(pvProfileData);
- UNREFERENCED_PARAMETER(pcbProfileData);
- UNREFERENCED_PARAMETER(pflProfileData);
-
- return E_NOTIMPL;
-};
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CAbstractOemUI2::FontInstallerDlgProc
-//
-// Synopsis:
-// Plug-ins can use this method to replace Unidrv's provided soft-font
-// installer dialog.
-//
-// Implementation of this routine is optional. To indicate that the
-// plug-in does not support this call, return E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-CAbstractOemUI2::FontInstallerDlgProc(
- HWND hWnd,
- UINT usMsg,
- WPARAM wParam,
- LPARAM lParam
- )
-{
- UNREFERENCED_PARAMETER(hWnd);
- UNREFERENCED_PARAMETER(usMsg);
- UNREFERENCED_PARAMETER(wParam);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-};
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CAbstractOemUI2::UpdateExternalFonts
-//
-// Synopsis:
-// This routine is used to notify the UI of any changes to installed
-// font cartridges, primarily for supporting soft-font UI replacement.
-//
-// Implementation of this routine is optional. To indicate that the
-// plug-in does not support this call, return E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-CAbstractOemUI2::UpdateExternalFonts(
- _In_ HANDLE hPrinter,
- _In_ HANDLE hHeap,
- _In_ PWSTR pwstrCartridges
- )
-{
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(hHeap);
- UNREFERENCED_PARAMETER(pwstrCartridges);
-
- return E_NOTIMPL;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CAbstractOemUI2::QueryJobAttributes
-//
-// Synopsis:
-//
-// Implementation of this routine is optional. To indicate that the
-// plug-in does not support this call, return E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-CAbstractOemUI2::QueryJobAttributes(
- HANDLE hPrinter,
- PDEVMODE pDevmode,
- DWORD dwLevel,
- LPBYTE lpAttributeInfo
- )
-{
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(pDevmode);
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(lpAttributeInfo);
-
- return E_NOTIMPL;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CAbstractOemUI2::DocumentEvent
-//
-// Synopsis:
-// Perform any special processing needed at various points in time while
-// a job is printing.
-//
-// Implementation of this routine is optional. To indicate that the
-// plug-in does not support this call, return E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-CAbstractOemUI2::DocumentEvent(
- HANDLE hPrinter,
- HDC hdc,
- INT iEsc,
- ULONG cbIn,
- PVOID pbIn,
- ULONG cbOut,
- PVOID pbOut,
- PINT piResult
- )
-{
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(hdc);
- UNREFERENCED_PARAMETER(iEsc);
- UNREFERENCED_PARAMETER(cbIn);
- UNREFERENCED_PARAMETER(pbIn);
- UNREFERENCED_PARAMETER(cbOut);
- UNREFERENCED_PARAMETER(pbOut);
- UNREFERENCED_PARAMETER(piResult);
-
- return E_NOTIMPL;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/intrface.h
deleted file mode 100644
index 07e1175c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/intrface.h
+++ /dev/null
@@ -1,212 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2006 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.h
-//
-// PURPOSE: Defines a class with default implementations of the UI
-// interface plug=-in methods that are optional.
-//
-//--------------------------------------------------------------------------
-
-#pragma once
-
-class CAbstractOemUI2: public IPrintOemUI2
-{
-public:
- //
- // *** IUnknown methods ***
- //
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- //
- // Method for publishing Driver interface.
- //
- STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown) = 0;
-
- //
- // Get OEM dll related information
- //
- STDMETHOD(GetInfo) (THIS_
- DWORD dwMode,
- _Out_writes_bytes_(cbSize) PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded) = 0;
-
- //
- // OEMDevMode
- //
- STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) = 0;
-
- //
- // OEMCommonUIProp
- //
- STDMETHOD(CommonUIProp) (THIS_
- DWORD dwMode,
- POEMCUIPPARAM pOemCUIPParam
- );
-
- //
- // OEMDocumentPropertySheets
- //
- STDMETHOD(DocumentPropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
- //
- // OEMDevicePropertySheets
- //
- STDMETHOD(DevicePropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
-
- //
- // OEMDevQueryPrintEx
- //
- STDMETHOD(DevQueryPrintEx) (THIS_
- POEMUIOBJ poemuiobj,
- PDEVQUERYPRINT_INFO pDQPInfo,
- PDEVMODE pPublicDM,
- PVOID pOEMDM
- );
-
- //
- // OEMDeviceCapabilities
- //
- STDMETHOD(DeviceCapabilities) (THIS_
- _Inout_ POEMUIOBJ poemuiobj,
- _In_ HANDLE hPrinter,
- _In_ PWSTR pDeviceName,
- WORD wCapability,
- _Out_ PVOID pOutput,
- _In_ PDEVMODE pPublicDM,
- _In_ PVOID pOEMDM,
- DWORD dwOld,
- _Out_ DWORD *dwResult
- );
-
- //
- // OEMUpgradePrinter
- //
- STDMETHOD(UpgradePrinter) (THIS_
- DWORD dwLevel,
- PBYTE pDriverUpgradeInfo
- );
-
- //
- // OEMPrinterEvent
- //
- STDMETHOD(PrinterEvent) (THIS_
- _In_ PWSTR pPrinterName,
- INT iDriverEvent,
- DWORD dwFlags,
- LPARAM lParam
- );
-
- //
- // OEMDriverEvent
- //
- STDMETHOD(DriverEvent)(THIS_
- DWORD dwDriverEvent,
- DWORD dwLevel,
- LPBYTE pDriverInfo,
- LPARAM lParam
- );
-
- //
- // OEMQueryColorProfile
- //
- STDMETHOD( QueryColorProfile) (THIS_
- HANDLE hPrinter,
- POEMUIOBJ poemuiobj,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- ULONG ulReserved,
- VOID *pvProfileData,
- ULONG *pcbProfileData,
- FLONG *pflProfileData);
-
- //
- // OEMFontInstallerDlgProc
- //
- STDMETHOD(FontInstallerDlgProc) (THIS_
- HWND hWnd,
- UINT usMsg,
- WPARAM wParam,
- LPARAM lParam
- );
- //
- // UpdateExternalFonts
- //
- STDMETHOD(UpdateExternalFonts) (THIS_
- _In_ HANDLE hPrinter,
- _In_ HANDLE hHeap,
- _In_ PWSTR pwstrCartridges
- );
-
- //
- // IPrintOemUI2 methods
- //
-
- //
- // QueryJobAttributes
- //
- STDMETHOD(QueryJobAttributes) (THIS_
- HANDLE hPrinter,
- PDEVMODE pDevmode,
- DWORD dwLevel,
- LPBYTE lpAttributeInfo
- );
-
- //
- // Hide Standard UI
- //
- STDMETHOD(HideStandardUI) (THIS_
- DWORD dwMode
- );
-
- //
- // DocumentEvent
- //
- STDMETHOD(DocumentEvent) (THIS_
- HANDLE hPrinter,
- HDC hdc,
- INT iEsc,
- ULONG cbIn,
- PVOID pbIn,
- ULONG cbOut,
- PVOID pbOut,
- PINT piResult
- );
-
- CAbstractOemUI2()
- {
- m_cRef = 1;
- };
-
- virtual ~CAbstractOemUI2() {};
-
-protected:
-
- LONG m_cRef;
- // reference count of this object
-
-};
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/precomp.h
deleted file mode 100644
index 0533325f..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/precomp.h
+++ /dev/null
@@ -1,62 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2006 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: precomp.h
-//
-// PURPOSE: Header files that should be in the precompiled header.
-//
-//--------------------------------------------------------------------------
-
-#pragma once
-
-// Necessary for compiling under VC.
-#if(!defined(WINVER) || (WINVER < 0x0500))
- #undef WINVER
- #define WINVER 0x0500
-#endif
-#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500))
- #undef _WIN32_WINNT
- #define _WIN32_WINNT 0x0500
-#endif
-
-
-// Required header files that shouldn't change often.
-
-
-#include <STDDEF.H>
-#include <STDLIB.H>
-#include <OBJBASE.H>
-#include <STDARG.H>
-#include <STDIO.H>
-#include <INITGUID.H>
-#include <WINDOWS.H>
-
-#include <WINDEF.H>
-#include <WINERROR.H>
-#include <WINBASE.H>
-#include <WINGDI.H>
-#include <commctrl.h>
-#include <WINDDI.H>
-#include <WINSPOOL.H>
-#include <TCHAR.H>
-#include <EXCPT.H>
-#include <ASSERT.H>
-#include <PRSHT.H>
-#include <COMPSTUI.H>
-#include <WINDDIUI.H>
-#include <PRINTOEM.H>
-#include <prcomoem.h>
-#include <msxml6.h>
-
-//
-// These files should always be last in your include list.
-//
-#include <STRSAFE.H>
-#include <intsafe.h>
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/precompsrc.cpp
deleted file mode 100644
index 5944cf51..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/precompsrc.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "precomp.h" \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oem.gpd b/print/OEM Printer Customization Plug-in Samples/C++/oem.gpd
deleted file mode 100644
index 2621cbb1..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oem.gpd
+++ /dev/null
@@ -1,704 +0,0 @@
-*GPDFileName: "oem.gpd"
-*GPDFileVersion: "1.0"
-*GPDSpecVersion: "1.0"
-*Include: "StdNames.gpd"
-*Include: "ttfsub.gpd"
-*ModelName: "OEM Unidrv Customization Sample"
-*MasterUnits: PAIR(1200, 1200)
-*ResourceDLL: "unires.dll"
-*PrinterType: PAGE
-*MaxCopies: 99
-*PrintRate: 16
-*PrintRateUnit: PPM
-*PrintRatePPM: 16
-
-*%******************************************************************************************
-*% Orientation
-*%******************************************************************************************
-*Feature: Orientation
-{
- *rcNameID: =ORIENTATION_DISPLAY
- *DefaultOption: PORTRAIT
- *Option: PORTRAIT
- {
- *rcNameID: =PORTRAIT_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.6
- *Cmd: "<1B>&l0O"
- }
- }
- *Option: LANDSCAPE_CC90
- {
- *rcNameID: =LANDSCAPE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.8
- *Cmd: "<1B>&l1O"
- }
- }
-}
-
-*%******************************************************************************************
-*% Input Bin
-*%******************************************************************************************
-*Feature: InputBin
-{
- *rcNameID: =PAPER_SOURCE_DISPLAY
- *DefaultOption: AUTO
- *Option: AUTO
- {
- *rcNameID: =AUTO_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.11
- *Cmd: "<1B>&l0H"
- }
- }
- *Option: UPPER
- {
- *rcNameID: =UPPER_TRAY_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.11
- *Cmd: "<1B>&l1H"
- }
- }
-}
-
-*%******************************************************************************************
-*% Resolution
-*%******************************************************************************************
-*Feature: Resolution
-{
- *rcNameID: =RESOLUTION_DISPLAY
- *DefaultOption: Option2
- *Option: Option1
- {
- *Name: "600 x 600" =DOTS_PER_INCH
- *DPI: PAIR(600, 600)
- *TextDPI: PAIR(600, 600)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
- *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
- *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.7
- *Cmd: "@PJL SET RESOLUTION=600<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t600R"
- }
- }
- *Option: Option2
- {
- *Name: "300 x 300" =DOTS_PER_INCH
- *DPI: PAIR(300, 300)
- *TextDPI: PAIR(300, 300)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
- *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
- *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.7
- *Cmd: "@PJL SET RESOLUTION=300<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R"
- }
- }
- *Option: Option3
- {
- *Name: "150 x 150" =DOTS_PER_INCH
- *DPI: PAIR(150, 150)
- *TextDPI: PAIR(150, 150)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
- *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
- *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.7
- *Cmd: "@PJL SET RESOLUTION=150<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t150R"
- }
- }
-}
-
-*%******************************************************************************************
-*% HP-GL/2 Graphics Support
-*%******************************************************************************************
-*Ifdef: WINNT_51
-*Personality: =PERSONALITY_HPGL2
-*Feature: GraphicsMode
-{
- *rcNameID: =GRAPHICSMODE_DISPLAY
- *DefaultOption: RASTERMODE
- *Option: HPGL2MODE
- {
- *rcNameID: =GRAPHICSMODE_HPGL2_DISPLAY
- }
- *Option: RASTERMODE
- {
- *rcNameID: =GRAPHICSMODE_RASTER_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.6
- *Cmd: "@PJL SET LIMAGEENHANCE=OFF<0A>"
- }
- }
-}
-*Endif:
-
-*%******************************************************************************************
-*% Paper Size
-*%******************************************************************************************
-*Feature: PaperSize
-{
- *rcNameID: =PAPER_SIZE_DISPLAY
- *DefaultOption: LETTER
- *Option: LETTER
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 1028
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9500, 12500)
- *PrintableOrigin: PAIR(400, 400)
- *CursorOrigin: PAIR(300, 300)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t5260x7704Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9500, 12200)
- *PrintableOrigin: PAIR(450, 300)
- *CursorOrigin: PAIR(200, 12900)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t7332x5880Y"
- }
- }
- }
- }
- *Option: LEGAL
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 1692
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9000, 15500)
- *PrintableOrigin: PAIR(400, 600)
- *CursorOrigin: PAIR(180, 300)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t5880x8900Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9000, 15500)
- *PrintableOrigin: PAIR(400, 900)
- *CursorOrigin: PAIR(180, 16500)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t8900x5880Y"
- }
- }
- }
- }
- *Option: EXECUTIVE
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 4109
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(8100, 11500)
- *PrintableOrigin: PAIR(300, 300)
- *CursorOrigin: PAIR(300, 200)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t4860x7344Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(8300, 11500)
- *PrintableOrigin: PAIR(200, 300)
- *CursorOrigin: PAIR(200, 12300)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t7272x4980Y"
- }
- }
- }
- }
- *Option: A4
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 4249
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9100, 13200)
- *PrintableOrigin: PAIR(400, 300)
- *CursorOrigin: PAIR(288, 180)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t5594x8201Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9100, 13200)
- *PrintableOrigin: PAIR(400, 300)
- *CursorOrigin: PAIR(204, 13824)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t8129x5714Y"
- }
- }
- }
- }
- *Option: B5
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 3198
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(7900, 11140)
- *PrintableOrigin: PAIR(352, 300)
- *CursorOrigin: PAIR(300, 100)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t4970x7040Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(7760, 11140)
- *PrintableOrigin: PAIR(300, 400)
- *CursorOrigin: PAIR(100, 11940)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t6780x4970Y"
- }
- }
- }
- }
-}
-
-*%******************************************************************************************
-*% Media Type
-*%******************************************************************************************
-*Feature: MediaType
-{
- *rcNameID: =MEDIA_TYPE_DISPLAY
- *DefaultOption: PLAIN
- *Option: PLAIN
- {
- *rcNameID: =PLAIN_PAPER_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.15
- *Cmd: "<1B>&n6WdPlain"
- }
- }
- *Option: TRANSPARENCY
- {
- *rcNameID: =TRANSPARENCY_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.15
- *Cmd: "<1B>&n13WdTransparency"
- }
- }
-}
-
-*%******************************************************************************************
-*% Color Mode
-*%******************************************************************************************
-*Feature: ColorMode
-{
- *rcNameID: =COLOR_PRINTING_MODE_DISPLAY
- *DefaultOption: 24bpp
- *Option: Mono
- {
- *rcNameID: =MONO_DISPLAY
- *DevNumOfPlanes: 1
- *DevBPP: 1
- *Color?: FALSE
- }
- *Option: Color
- {
- *rcNameID: =COLOR_DISPLAY
- *DevNumOfPlanes: 3
- *DevBPP: 1
- *DrvBPP: 4
- EXTERN_GLOBAL: *RasterSendAllData?: TRUE
- *ColorPlaneOrder: LIST(CYAN, MAGENTA, YELLOW)
- *Command: CmdSendCyanData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"V" }
- *Command: CmdSendMagentaData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"V" }
- *Command: CmdSendYellowData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelectBlackColor { *Cmd : "<1B>*v7S" }
- *Command: CmdSelectRedColor { *Cmd : "<1B>*v6S" }
- *Command: CmdSelectGreenColor { *Cmd : "<1B>*v5S" }
- *Command: CmdSelectYellowColor { *Cmd : "<1B>*v4S" }
- *Command: CmdSelectBlueColor { *Cmd : "<1B>*v3S" }
- *Command: CmdSelectMagentaColor { *Cmd : "<1B>*v2S" }
- *Command: CmdSelectCyanColor { *Cmd : "<1B>*v1S" }
- *Command: CmdSelectWhiteColor { *Cmd : "<1B>*v0S" }
- *Command: CmdSelect
- {
- *Order: PAGE_SETUP.16
- *Cmd: "<1B>*r-3U"
- }
- }
- *Option: 8bpp
- {
- *rcNameID: =8BPP_DISPLAY
- *DevNumOfPlanes: 1
- *DevBPP: 8
- *DrvBPP: 8
- *PaletteSize: 256
- *PaletteProgrammable? : TRUE
- *Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c"
-+ %d{PaletteIndexToProgram} "I" }
- *Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" }
- *Command: CmdSelect
- {
- *Order: PAGE_SETUP.16
- *Cmd: "<1B>*v1N<1B>*v1O<1B>*t0I<1B>*l184O<1B>*v6W<000108080808>"
- }
- }
- *Option: 24bpp
- {
- *rcNameID: =24BPP_DISPLAY
- *DevNumOfPlanes: 1
- *DevBPP: 24
- *DrvBPP: 24
- *Command: CmdEnableDRC { *Cmd : "<1B>*b3M" }
- *PaletteSize: 256
- *PaletteProgrammable? : TRUE
- *Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c"
-+ %d{PaletteIndexToProgram} "I" }
- *Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" }
- *Command: CmdSetSrcBmpWidth { *Cmd : "<1B>*r" %d{RasterDataWidthInBytes / 3}"S" }
- *Command: CmdSelect
- {
- *Order: PAGE_SETUP.16
- *Cmd: "<1B>*v1N<1B>*v1O<1B>*l184O<1B>*v6W<0003080808081B>*v0a0b0c7i255a255b255c0I<1B>*"
-+ "o3W<060400>"
- }
- }
-}
-
-*%******************************************************************************************
-*% HalfTone
-*%******************************************************************************************
-*Feature: Halftone
-{
- *rcNameID: =HALFTONING_DISPLAY
- *DefaultOption: HT_PATSIZE_AUTO
- *Option: HT_PATSIZE_AUTO
- {
- *rcNameID: =HT_AUTO_SELECT_DISPLAY
- }
- *Option: HT_PATSIZE_SUPERCELL_M
- {
- *rcNameID: =HT_SUPERCELL_DISPLAY
- }
- *Option: HT_PATSIZE_6x6_M
- {
- *rcNameID: =HT_DITHER6X6_DISPLAY
- }
- *Option: HT_PATSIZE_8x8_M
- {
- *rcNameID: =HT_DITHER8X8_DISPLAY
- }
-}
-
-*%******************************************************************************************
-*% Memory
-*%
-*% Note: Unidrv uses the font memory information to estimate when it needs to stop
-*% downloading fonts for a page, and thus driver writers should err on the conservative
-*% side. Otherwise, printers will generate "out of memory" device errors for pages with
-*% a large number of fonts / unique glyphs.
-*%******************************************************************************************
-*Feature: Memory
-{
- *rcNameID: =PRINTER_MEMORY_DISPLAY
- *DefaultOption: 32768KB
- *Option: 4096KB
- {
- *Name: "4MB"
- *MemoryConfigKB: PAIR(4096, 6750)
- }
- *Option: 8192KB
- {
- *Name: "8MB"
- *MemoryConfigKB: PAIR(8192, 10350)
- }
- *Option: 16384KB
- {
- *Name: "16MB"
- *MemoryConfigKB: PAIR(16384, 13950)
- }
- *Option: 24576KB
- {
- *Name: "24MB"
- *MemoryConfigKB: PAIR(24576, 21150)
- }
- *Option: 32768KB
- {
- *Name: "32MB"
- *MemoryConfigKB: PAIR(32768, 28350)
- }
- *Option: 49152KB
- {
- *Name: "48MB"
- *MemoryConfigKB: PAIR(49152, 43050)
- }
- *Option: 65536KB
- {
- *Name: "64MB"
- *MemoryConfigKB: PAIR(65536, 57150)
- }
- *Option: 98304KB
- {
- *Name: "96MB"
- *MemoryConfigKB: PAIR(98304, 85950)
- }
- *Option: 102400KB
- {
- *Name: "100MB"
- *MemoryConfigKB: PAIR(102400, 89700)
- }
- *Option: 114688KB
- {
- *Name: "112MB"
- *MemoryConfigKB: PAIR(114688, 100550)
- }
- *Option: 131072KB
- {
- *Name: "128MB"
- *MemoryConfigKB: PAIR(131072, 116250)
- }
-}
-
-*%******************************************************************************************
-*% Duplex Unit
-*%******************************************************************************************
-*Feature: DuplexUnit
-{
- *rcNameID: 429
- *FeatureType: PRINTER_PROPERTY
- *DefaultOption: FALSE
- *Option: FALSE
- {
- *rcNameID: 444
- *DisabledFeatures: LIST(Duplex.VERTICAL, Duplex.HORIZONTAL)
- }
- *Option: TRUE
- {
- *rcNameID: 443
- }
-}
-
-*%******************************************************************************************
-*% Duplex Type
-*%******************************************************************************************
-*Feature: Duplex
-{
- *rcNameID: =TWO_SIDED_PRINTING_DISPLAY
- *DefaultOption: NONE
- *Option: NONE
- {
- *rcNameID: =NONE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.9
- *Cmd: "<1B>&l0S"
- }
- }
- *Option: VERTICAL
- {
- *rcNameID: =FLIP_ON_LONG_EDGE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.9
- *Cmd: "<1B>&l1S"
- }
- }
- *Option: HORIZONTAL
- {
- *rcNameID: =FLIP_ON_SHORT_EDGE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.9
- *Cmd: "<1B>&l2S"
- }
- }
-}
-
-*%******************************************************************************************
-*% Page Protect
-*%******************************************************************************************
-*Feature: PageProtect
-{
- *rcNameID: =PAGE_PROTECTION_DISPLAY
- *DefaultOption: OFF
- *Option: ON
- {
- *rcNameID: =ON_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.1
- *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=LETTER<0A>"
- }
- }
- *Option: OFF
- {
- *rcNameID: =OFF_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.1
- *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=OFF<0A>"
- }
- }
-}
-
-*%******************************************************************************************
-*% Doc setup commands
-*%******************************************************************************************
-*Command: CmdStartDoc
-{
- *Order: DOC_SETUP.7
- *Cmd: "<1B>&u1200D<1B>*r0F"
-}
-*Command: CmdStartPage
-{
- *Order: PAGE_SETUP.1
- *Cmd: "<1B>*b0M<0D>"
-}
-*Command: CmdEndJob
-{
- *Order: JOB_FINISH.1
- *Cmd: "<1B>E<1B>%%-12345X@PJL<20>LPORTROTATE<0A><1B>%%-12345X"
-}
-*Command: CmdCopies
-{
- *Order: DOC_SETUP.13
- *Cmd: "<1B>&l" %d{NumOfCopies}"X"
-}
-
-*%******************************************************************************************
-*% Cursor, Page and Color Commands
-*%******************************************************************************************
-*RotateCoordinate?: TRUE
-*RotateRaster?: TRUE
-*RotateFont?: TRUE
-*TextCaps: LIST(TC_CR_90,TC_UA_ABLE)
-*MemoryUsage: LIST(FONT, RASTER, VECTOR)
-*CursorXAfterCR: AT_PRINTABLE_X_ORIGIN
-*BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE)
-*XMoveThreshold: 0
-*YMoveThreshold: 0
-*XMoveUnit: 300
-*YMoveUnit: 300
-*Command: CmdXMoveAbsolute { *Cmd : "<1B>*p" %d{(DestX) }"X" }
-*Command: CmdXMoveRelRight { *Cmd : "<1B>*p+" %d[0,9600]{max_repeat((DestXRel) )}"X" }
-*Command: CmdXMoveRelLeft { *Cmd : "<1B>*p-" %d[0,9600]{max_repeat((DestXRel) )}"X" }
-*Command: CmdYMoveAbsolute { *Cmd : "<1B>*p" %d{(DestY) }"Y" }
-*Command: CmdYMoveRelDown { *Cmd : "<1B>*p+" %d{(DestYRel) }"Y" }
-*Command: CmdYMoveRelUp { *Cmd : "<1B>*p-" %d{(DestYRel) }"Y" }
-*Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c"
-+ %d{PaletteIndexToProgram} "I" }
-*Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" }
-*Command: CmdCR { *Cmd : "<0D>" }
-*Command: CmdLF { *Cmd : "<0A>" }
-*Command: CmdFF { *Cmd : "<0C>" }
-*Command: CmdBackSpace { *Cmd : "<08>" }
-*Command: CmdUniDirectionOn { *Cmd : "<00>" }
-*Command: CmdUniDirectionOff { *Cmd : "<00>" }
-*Command: CmdPushCursor { *Cmd : "<1B>&f0S" }
-*Command: CmdPopCursor { *Cmd : "<1B>&f1S" }
-*Command: CmdSetSimpleRotation { *Cmd : "<1B>&a" %d{PrintDirInCCDegrees}"P" }
-*EjectPageWithFF?: TRUE
-*Command: CmdEnableTIFF4 { *Cmd : "<1B>*b2M" }
-*Command: CmdDisableCompression { *Cmd : "<1B>*b0M" }
-*OutputDataFormat: H_BYTE
-*OptimizeLeftBound?: TRUE
-*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN
-*CursorYAfterSendBlockData: AUTO_INCREMENT
-
-*%******************************************************************************************
-*% Font Descriptions and Commands
-*%******************************************************************************************
-*TTFSEnabled?: TRUE
-*DefaultFont: 136
-*DefaultCTT: 0
-*CharPosition: BASELINE
-*DeviceFonts: LIST(136,138,146,147,148,149,150,151,152,153,154,155,156,157,
-+ 163,164,165,166,196,197,198,199,200,201,202,203,209,210,
-+ 211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,
-+ 227,228,229,230)
-*MinFontID: 16534
-*MaxFontID: 32768
-*switch: Resolution
-{
- *case: Option1
- {
- *FontFormat: HPPCL_OUTLINE
- }
- *case: Option2
- {
- *FontFormat: HPPCL_OUTLINE
- }
- *case: Option3
- {
- *FontFormat: HPPCL_RES
- }
-}
-*Command: CmdSetFontID { *Cmd : "<1B>*c" %d{NextFontID}"D" }
-*Command: CmdSelectFontID { *Cmd : "<1B>(" %d{CurrentFontID}"X" }
-*Command: CmdSetCharCode { *Cmd : "<1B>*c" %d{NextGlyph}"E" }
-*Command: CmdUnderlineOn { *Cmd : "<1B>&dD" }
-*Command: CmdUnderlineOff { *Cmd : "<1B>&d@" }
-*Command: CmdWhiteTextOn { *Cmd : "<1B>*v1o1T" }
-*Command: CmdWhiteTextOff { *Cmd : "<1B>*v0o0T" }
-
-
-*%********************************************************************************************
-*%* Vector Commands.
-*%********************************************************************************************
-*MinGrayFill: 1
-*MaxGrayFill: 100
-*Command: CmdSetRectWidth { *Cmd : "<1B>*c" %d{(RectXSize) }"A" }
-*Command: CmdSetRectHeight { *Cmd : "<1B>*c" %d{(RectYSize) }"B" }
-*Command: CmdRectGrayFill { *Cmd : "<1B>*c" %d{GrayPercentage }"g2P" }
-*Command: CmdRectWhiteFill { *Cmd : "<1B>*c1P" }
-*Command: CmdRectBlackFill { *Cmd : "<1B>*c0P" }
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oem.ppd b/print/OEM Printer Customization Plug-in Samples/C++/oem.ppd
deleted file mode 100644
index bbc93432..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oem.ppd
+++ /dev/null
@@ -1,431 +0,0 @@
-*PPD-Adobe: "4.3"
-*% Adobe Systems PostScript(R) Printer Description File
-*% Copyright (c) 2003 Microsoft Corp. All rights reserved.
-
-*FormatVersion: "4.3"
-*FileVersion: "2.0"
-*LanguageEncoding: ISOLatin1
-*LanguageVersion: English
-*Product: "(MS OEM Customization)"
-*PSVersion: "(2015.105) 9"
-*Manufacturer: "Microsoft"
-*ModelName: "Microsoft PS5 OEM Customization"
-*ShortNickName: "MS PS5 Oem Customization"
-*NickName: "MS PS5 Oem Customization"
-*PCFileName: "PS5OEM.PPD"
-
-*% === Installable Options ===========
-*OpenGroup: InstallableOptions/Options Installed
-
-*OpenUI *InstalledMemory/Memory Configuration: PickOne
-*DefaultInstalledMemory: 24Meg
-*InstalledMemory 24Meg/Standard 24 MB RAM: ""
-*InstalledMemory 28Meg/28 MB Total RAM: ""
-*InstalledMemory 40Meg/40 MB Total RAM: ""
-*InstalledMemory 44Meg/44 MB Total RAM: ""
-*InstalledMemory 56Meg/56 MB Total RAM: ""
-*InstalledMemory 72Meg/72 MB Total RAM: ""
-*CloseUI: *InstalledMemory
-
-*CloseGroup: InstallableOptions
-
-*% === Constraints ===================
-
-
-*% === Basic Device Capabilities ============
-
-*LanguageLevel: "2"
-*Protocols: BCP
-
-*FreeVM: "5500000"
-*VMOption 24Meg/Standard 24 MB RAM: "5500000"
-*VMOption 28Meg/28 MB Total RAM: "8000000"
-*VMOption 40Meg/40 MB Total RAM: "5400000"
-*VMOption 44Meg/44 MB Total RAM: "8000000"
-*VMOption 56Meg/56 MB Total RAM: "17400000"
-*VMOption 72Meg/72 MB Total RAM: "3800000"
-
-*ColorDevice: True
-*DefaultColorSpace: CMYK
-*AccurateScreensSupport: True
-*SuggestedJobTimeout: "0"
-*SuggestedWaitTimeout: "300"
-*SuggestedManualFeedTimeout: "60"
-*End
-*TTRasterizer: Type42
-*?TTRasterizer: "
- save
- 42 /FontType resourcestatus
- { pop pop (Type42)} {pop pop (None)} ifelse = flush
- restore"
-*End
-
-*Emulators: hpgl
-*StartEmulator_hpgl: "currentfile /hpgl statusdict /emulate get exec "
-*StopEmulator_hpgl: "<1B7F>0"
-
-*FileSystem: True
-*?FileSystem: "
- save false
- (%disk?%)
- { currentdevparams dup /Writeable known
- { /Writeable get {pop true} if } {pop} ifelse
- } 10 string /IODevice resourceforall
- {(True)}{(False)} ifelse = flush
- restore"
-*End
-*Throughput: "14"
-*Password: "(0)"
-*ExitServer: "
- count 0 eq
- { false } { true exch startjob } ifelse
- not
- { (WARNING: Cannot modify initial VM.) =
- (Missing or invalid password.) =
- (Please contact the author of this software.) = flush quit
- } if"
-*End
-*Reset: "
- count 0 eq
- { false } { true exch startjob } ifelse
- not
- { (WARNING: Cannot reset printer.) =
- (Missing or invalid password.) =
- (Please contact the author of this software.) = flush quit
- } if
- systemdict /quit get exec
- (WARNING : Printer Reset Failed.) = flush"
-*End
-
-*DefaultResolution: 600x600dpi
-*?Resolution: "
- save currentpagedevice
- /HWResolution get
- aload pop exch ( ) cvs print (x) print ( ) cvs print (dpi)
- = flush
- restore"
-*End
-
-*% Halftone Information =================
-
-*DefaultHalftoneType: 9
-*ScreenFreq: "60.0"
-*ScreenAngle: "0.0"
-*DefaultScreenProc: Null
-*ScreenProc Null: "{}"
-
-*DefaultTransfer: Null
-*Transfer Null: "{ }"
-*Transfer Null.Inverse: "{ 1 exch sub }"
-
-
-*% Tray Selection ============
-
-*OpenUI *InputSlot: PickOne
-*OrderDependency: 10 AnySetup *InputSlot
-*DefaultInputSlot: Paper
-*InputSlot Upper: "
- (<<) cvx exec
- /MediaPosition 0
- /MediaType null
- /TraySwitch false
- /ManualFeed false
- (>>) cvx exec setpagedevice"
-*End
-*InputSlot Middle: "
- (<<) cvx exec
- /MediaPosition 1
- /MediaType null
- /TraySwitch false
- /ManualFeed false
- (>>) cvx exec setpagedevice"
-*End
-*InputSlot Lower: "
- (<<) cvx exec
- /MediaPosition 2
- /MediaType null
- /TraySwitch false
- /ManualFeed false
- (>>) cvx exec setpagedevice"
-*End
-*InputSlot Paper: "
- (<<) cvx exec
- /MediaPosition null
- /MediaType (Paper)
- /TraySwitch true
- /ManualFeed false
- (>>) cvx exec setpagedevice"
-*End
-*InputSlot Transparency: "
- (<<) cvx exec
- /MediaPosition null
- /MediaType (Transparency)
- /TraySwitch true
- /ManualFeed false
- (>>) cvx exec setpagedevice"
-*End
-*InputSlot ManualPaper/Manual Paper: "
- (<<) cvx exec
- /MediaPosition null
- /MediaType (Paper)
- /TraySwitch false
- /ManualFeed true
- (>>) cvx exec setpagedevice"
-*End
-*InputSlot ManualTransparency/Manual Transparency: "
- (<<) cvx exec
- /MediaPosition null
- /MediaType (Transparency)
- /TraySwitch false
- /ManualFeed true
- (>>) cvx exec setpagedevice"
-*End
-*?InputSlot: "
- save
- currentpagedevice /MediaPosition get
- dup null eq
- { pop currentpagedevice /MediaType get
- dup null eq
- { pop (Upper) }
- { dup (Paper) eq
- { pop currentpagedevice /ManualFeed get
- { (ManualPaper) }
- { (Paper) } ifelse
- }
- {
- (Transparency) eq
- { currentpagedevice /ManualFeed get
- { (ManualTransparency) }
- { (Transparency) } ifelse
- }
- { (Unknown) } ifelse
- } ifelse
- } ifelse
- }
- {
- dup 0 eq
- { pop (Upper) }
- { dup 1 eq
- { pop (Middle) }
- { 2 eq
- { (Lower) }
- { (Unknown) } ifelse
- } ifelse
- } ifelse
- } ifelse
- = flush restore"
-*End
-*CloseUI: *InputSlot
-
-*% Paper Handling ===================
-
-*% Use these entries to set paper size most of the time, unless there is
-*% specific reason to use PageRegion.
-*OpenUI *PageSize: PickOne
-*OrderDependency: 20 AnySetup *PageSize
-*DefaultPageSize: Letter
-*PageSize Letter: "(<<) cvx exec /PageSize [612 792] /ImagingBBox null
- (>>) cvx exec setpagedevice"
-*End
-*PageSize Legal: "(<<) cvx exec /PageSize [612 1008] /ImagingBBox null
- (>>) cvx exec setpagedevice"
-*End
-*PageSize A4: "(<<) cvx exec /PageSize [595 842] /ImagingBBox null
- (>>) cvx exec setpagedevice"
-*End
-*?PageSize: "
- save currentpagedevice /PageSize get aload pop
- 2 copy gt {exch} if (Unknown)
- (<<) cvx exec
- [612 792] (Letter)
- [612 1008] (Legal)
- [595 842] (A4) (>>) cvx exec
- { exch aload pop 4 index sub abs 5 le exch 5 index sub abs 5 le and
- { exch pop exit } { pop } ifelse
- } bind forall = flush pop pop
- restore"
-*End
-*CloseUI: *PageSize
-
-*% These entries will set up the frame buffer. Usually used with manual feed.
-*OpenUI *PageRegion: PickOne
-*OrderDependency: 30 AnySetup *PageRegion
-*DefaultPageRegion: Letter
-*PageRegion Letter: "(<<) cvx exec /PageSize [612 792] /ImagingBBox null
- (>>) cvx exec setpagedevice"
-*End
-*PageRegion Legal: "(<<) cvx exec /PageSize [612 1008] /ImagingBBox null
- (>>) cvx exec setpagedevice"
-*End
-*PageRegion A4: "(<<) cvx exec /PageSize [595 842] /ImagingBBox null
- (>>) cvx exec setpagedevice"
-*End
-*CloseUI: *PageRegion
-
-*% The following entries provide information about specific paper keywords.
-*DefaultImageableArea: Letter
-*ImageableArea Letter: "10.32 15.9 601.68 776.22"
-*ImageableArea Legal: "10.32 16.3801 601.68 991.74"
-*ImageableArea A4: "13.44 14.46 581.76 828.54"
-*?ImageableArea: "
- save
- /cvp { ( ) cvs print ( ) print } bind def
- /upperright {10000 mul floor 10000 div} bind def
- /lowerleft {10000 mul ceiling 10000 div} bind def
- newpath clippath pathbbox
- 4 -2 roll exch 2 {lowerleft cvp} repeat
- exch 2 {upperright cvp} repeat flush
- restore"
-*End
-
-*% These provide the physical dimensions of the paper (by keyword)
-*DefaultPaperDimension: Letter
-*PaperDimension Letter: "612 792"
-*PaperDimension Legal: "612 1008"
-*PaperDimension A4: "595 842"
-
-*RequiresPageRegion All: True
-
-*% Print Quality Selection ===================
-
-*OpenUI *OutputMode/Print Quality: PickOne
-*OrderDependency: 50 AnySetup *OutputMode
-*DefaultOutputMode: Standard
-*OutputMode Fast/Fast Color 600x600 dpi: "
- (<<) cvx exec
- /HWResolution [600 600]
- /ProcessColorModel /DeviceCMY
- (>>) cvx exec setpagedevice"
-*End
-*OutputMode Standard/Standard 600x600 dpi: "
- (<<) cvx exec
- /HWResolution [600 600]
- /ProcessColorModel /DeviceCMYK
- (>>) cvx exec setpagedevice"
-*End
-*OutputMode Enhanced/Enhanced 1200x600 dpi: "
- (<<) cvx exec
- /HWResolution [1200 600]
- /ProcessColorModel /DeviceCMYK
- (>>) cvx exec setpagedevice"
-*End
-*OutputMode Premium/Premium 1200x1200 dpi: "
- (<<) cvx exec
- /HWResolution [1200 1200]
- /ProcessColorModel /DeviceCMYK
- (>>) cvx exec setpagedevice"
-*End
-*?OutputMode: "
- save
- currentpagedevice /ProcessColorModel get /DeviceCMY eq
- { (Fast) }
- { currentpagedevice /HWResolution get
- aload pop 1200 eq
- { pop (Premium) }
- { 1200 eq
- { (Enhanced) }
- { (Standard) } ifelse
- } ifelse
- } ifelse
- = flush restore"
-*End
-*CloseUI: *OutputMode
-
-*OpenUI *OutputOrder/Output Order: PickOne
-*OrderDependency: 60 AnySetup *OutputOrder
-*DefaultOutputOrder: Reverse
-*OutputOrder Normal/Face Down: "
- (<<) cvx exec
- /OutputFaceUp false
- (>>) cvx exec setpagedevice"
-*End
-*OutputOrder Reverse/Face Up: "
- (<<) cvx exec
- /OutputFaceUp true
- (>>) cvx exec setpagedevice"
-*End
-*?OutputOrder: "
- save
- currentpagedevice /OutputFaceUp get {(Reverse)}{(Normal)}ifelse
- = flush restore"
-*End
-*CloseUI: *OutputOrder
-
-*OpenUI *Collate/Quick Collate: Boolean
-*OrderDependency: 70 AnySetup *Collate
-*DefaultCollate: False
-*Collate False: "
- (<<) cvx exec
- /Collate false
- (>>) cvx exec setpagedevice"
-*End
-*Collate True: "
- (<<) cvx exec
- /Collate true
- (>>) cvx exec setpagedevice"
-*End
-*?Collate: "
- save
- currentpagedevice /Collate get {(True)}{(False)}ifelse
- = flush restore"
-*End
-*CloseUI: *Collate
-
-
-*% Font Information =====================
-*DefaultFont: Courier
-*Font Courier: Standard "(002.003)" Standard ROM
-*Font Courier-Bold: Standard "(002.003)" Standard ROM
-*Font Courier-BoldOblique: Standard "(002.003)" Standard ROM
-*Font Courier-Oblique: Standard "(002.003)" Standard ROM
-*Font Helvetica: Standard "(001.006)" Standard ROM
-*Font Helvetica-Bold: Standard "(001.007)" Standard ROM
-*Font Helvetica-BoldOblique: Standard "(001.007)" Standard ROM
-*Font Helvetica-Condensed: Standard "(001.001)" Standard ROM
-*Font Helvetica-Condensed-Bold: Standard "(001.002)" Standard ROM
-*Font Helvetica-Condensed-BoldObl: Standard "(001.002)" Standard ROM
-*Font Helvetica-Condensed-Oblique: Standard "(001.001)" Standard ROM
-*Font Helvetica-Narrow: Standard "(001.006)" Standard ROM
-*Font Helvetica-Narrow-Bold: Standard "(001.007)" Standard ROM
-*Font Helvetica-Narrow-BoldOblique: Standard "(001.007)" Standard ROM
-*Font Helvetica-Narrow-Oblique: Standard "(001.006)" Standard ROM
-*Font Helvetica-Oblique: Standard "(001.006)" Standard ROM
-*Font Symbol: Special "(001.007)" Special ROM
-*Font Times-Bold: Standard "(001.007)" Standard ROM
-*Font Times-BoldItalic: Standard "(001.009)" Standard ROM
-*Font Times-Italic: Standard "(001.007)" Standard ROM
-*Font Times-Roman: Standard "(001.007)" Standard ROM
-*Font ZapfChancery-MediumItalic: Standard "(001.006)" Standard ROM
-*Font ZapfDingbats: Special "(001.004)" Special ROM
-*?FontQuery: "
- save
- { count 1 gt
- { exch dup 127 string cvs (/) print print (:) print
- /Font resourcestatus {pop pop (Yes)} {(No)} ifelse =
- } { exit } ifelse
- } bind loop
- (*) = flush restore"
-*End
-
-*?FontList: "
- save (*) {cvn ==} 128 string /Font resourceforall
- (*) = flush restore"
-*End
-
-*DefaultColorSep: ProcessBlack.60lpi.600x600dpi/60 lpi / 600x600 dpi
-
-*% For 60 lpi / 600x600dpi ================================
-
-*ColorSepScreenAngle ProcessBlack.60lpi.600x600dpi/60 lpi / 600x600 dpi: "0.0"
-*ColorSepScreenAngle CustomColor.60lpi.600x600dpi/60 lpi / 600x600 dpi: "0.0"
-*ColorSepScreenAngle ProcessCyan.60lpi.600x600dpi/60 lpi / 600x600 dpi: "0.0"
-*ColorSepScreenAngle ProcessMagenta.60lpi.600x600dpi/60 lpi / 600x600 dpi: "0.0"
-*ColorSepScreenAngle ProcessYellow.60lpi.600x600dpi/60 lpi / 600x600 dpi: "0.0"
-
-*ColorSepScreenFreq ProcessBlack.60lpi.600x600dpi/60 lpi / 600x600 dpi: "60.0"
-*ColorSepScreenFreq CustomColor.60lpi.600x600dpi/60 lpi / 600x600 dpi: "60.0"
-*ColorSepScreenFreq ProcessCyan.60lpi.600x600dpi/60 lpi / 600x600 dpi: "60.0"
-*ColorSepScreenFreq ProcessMagenta.60lpi.600x600dpi/60 lpi / 600x600 dpi: "60.0"
-*ColorSepScreenFreq ProcessYellow.60lpi.600x600dpi/60 lpi / 600x600 dpi: "60.0"
-
-*% end of PPD file for MS PS5 OEM Custimization
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemdll.inf b/print/OEM Printer Customization Plug-in Samples/C++/oemdll.inf
deleted file mode 100644
index 5f49b577..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemdll.inf
+++ /dev/null
Binary files differ
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemdll.sln b/print/OEM Printer Customization Plug-in Samples/C++/oemdll.sln
deleted file mode 100644
index 2d0d56ed..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemdll.sln
+++ /dev/null
@@ -1,809 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.26430.16
-MinimumVisualStudioVersion = 12.0
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Bitmap", "Bitmap", "{EFB5E861-A892-49B4-BA05-38F6F5F42D48}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Custhlp", "Custhlp", "{F3DB5340-C664-40EB-986F-2A48790AEDC5}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Src", "Src", "{EC75B371-D09D-4D95-9816-3429B6D3806B}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Gdl", "Gdl", "{A6BA54B0-ADB8-4032-8C4B-770474042B09}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Oemprean", "Oemprean", "{E7B7C6C6-5396-42D3-9BDE-DFAC86D0AFE3}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Oemps", "Oemps", "{80510096-C37F-488D-A426-E3BA4B1A1600}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Oemui", "Oemui", "{35933BA0-56E6-4DD4-84E9-C8AADAA19AFA}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Oemuni", "Oemuni", "{7AC217E4-4DB5-414C-A39F-B783020E43AA}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PSUIRep", "PSUIRep", "{03A523F4-091A-416B-97B5-A84FA1B1D3EE}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Src", "Src", "{CCF8F861-A2C2-4C28-AB19-29CC47C6D560}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PTPCPlPr", "PTPCPlPr", "{F8AB36BA-6C96-42BA-90F5-378D3B73634C}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SyncSet", "SyncSet", "{C52A574A-6122-48EB-875C-07CE190B0808}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ThemeUI", "ThemeUI", "{F3C654B9-A286-494E-8558-3A2526D52A37}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Src", "Src", "{C4BCC65A-6423-4569-A1D6-AAA82CE821A9}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Uniuirep", "Uniuirep", "{1BA35560-35CD-4E6E-8B67-AD7ED043874A}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Wmarkps", "Wmarkps", "{9F8B052F-1649-4F54-ABE9-42E51AFB32AA}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Watermark", "Watermark", "{575FCB22-ADB3-4025-8F23-040500F6C11A}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Wmarkui", "Wmarkui", "{2A597978-AD6A-41D0-9B97-CC1B69CE054A}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Wmarkui", "Wmarkui", "{D0C95EA5-D23F-44E6-91C3-2BA65CE3991E}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Watermarkuni", "Watermarkuni", "{5A8A1EF7-4454-43F3-8A69-484AF81D0771}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Wmarkuni", "Wmarkuni", "{90BABB1D-0FDD-4A9A-BA18-3319FF12363B}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bitmap", "bitmap\bitmap.vcxproj", "{EDCCC34A-50DF-4894-B7B9-FC156F899947}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CUSTHLP", "custhlp\CUSTHLP.vcxproj", "{CA70C64A-75C8-48CD-9224-335C2ED689A6}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GDLSMPL", "gdl\src\GDLSMPL.vcxproj", "{F0118F7B-9DF5-49FC-B4FF-951C54033F3D}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "oemprean", "oemprean\oemprean.vcxproj", "{D5E225D5-EEEA-45FD-AD07-E4678C542E1A}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OEMPS", "oemps\OEMPS.vcxproj", "{9F374241-B8F9-45D3-B163-7E84E8E22C1F}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OEMUI", "oemui\OEMUI.vcxproj", "{452209BF-AEB7-457D-956B-90CDE70CED7D}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OEMUNI", "oemuni\OEMUNI.vcxproj", "{B0F13767-2056-47FC-B37B-41D7E339900B}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PSUIREP", "PSUIRep\PSUIREP.vcxproj", "{5D63CD51-110C-41B7-B8B0-6AB27398690B}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PTPCPLPR", "PTPCPlPr\src\PTPCPLPR.vcxproj", "{CED613CF-6666-43FC-9414-02AFBDA83A34}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SYNCSET", "SyncSet\SYNCSET.vcxproj", "{60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ThemeUISmpl", "ThemeUI\ThemeUISmpl.vcxproj", "{EA206DEA-26E6-4FD4-BF68-23F222C5E211}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UNIUIREP", "uniuirep\src\UNIUIREP.vcxproj", "{7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WMARKPS", "watermark\wmarkps\WMARKPS.vcxproj", "{4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WMARKUI", "watermark\wmarkui\WMARKUI.vcxproj", "{BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WMARKUNIUI", "watermarkuni\wmarkui\WMARKUNIUI.vcxproj", "{1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WMARKUNI", "watermarkuni\wmarkuni\WMARKUNI.vcxproj", "{866141A6-4989-41D7-9409-4A5A73B535B0}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Win10 Debug|ARM64 = Win10 Debug|ARM64
- Win10 Debug|Win32 = Win10 Debug|Win32
- Win10 Debug|x64 = Win10 Debug|x64
- Win10 Release|ARM64 = Win10 Release|ARM64
- Win10 Release|Win32 = Win10 Release|Win32
- Win10 Release|x64 = Win10 Release|x64
- Win7 Debug|ARM64 = Win7 Debug|ARM64
- Win7 Debug|Win32 = Win7 Debug|Win32
- Win7 Debug|x64 = Win7 Debug|x64
- Win7 Release|ARM64 = Win7 Release|ARM64
- Win7 Release|Win32 = Win7 Release|Win32
- Win7 Release|x64 = Win7 Release|x64
- Win8 Debug|ARM64 = Win8 Debug|ARM64
- Win8 Debug|Win32 = Win8 Debug|Win32
- Win8 Debug|x64 = Win8 Debug|x64
- Win8 Release|ARM64 = Win8 Release|ARM64
- Win8 Release|Win32 = Win8 Release|Win32
- Win8 Release|x64 = Win8 Release|x64
- Win8.1 Debug|ARM64 = Win8.1 Debug|ARM64
- Win8.1 Debug|Win32 = Win8.1 Debug|Win32
- Win8.1 Debug|x64 = Win8.1 Debug|x64
- Win8.1 Release|ARM64 = Win8.1 Release|ARM64
- Win8.1 Release|Win32 = Win8.1 Release|Win32
- Win8.1 Release|x64 = Win8.1 Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Debug|x64.Build.0 = Win10 Debug|x64
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Release|Win32.Build.0 = Win10 Release|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Release|x64.ActiveCfg = Win10 Release|x64
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Release|x64.Build.0 = Win10 Release|x64
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Debug|x64.Build.0 = Win7 Debug|x64
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Release|Win32.Build.0 = Win7 Release|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Release|x64.ActiveCfg = Win7 Release|x64
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Release|x64.Build.0 = Win7 Release|x64
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Debug|x64.Build.0 = Win8 Debug|x64
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Release|Win32.Build.0 = Win8 Release|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Release|x64.ActiveCfg = Win8 Release|x64
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Release|x64.Build.0 = Win8 Release|x64
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64
- {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Debug|x64.Build.0 = Win10 Debug|x64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Release|Win32.Build.0 = Win10 Release|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Release|x64.ActiveCfg = Win10 Release|x64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Release|x64.Build.0 = Win10 Release|x64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Debug|x64.Build.0 = Win7 Debug|x64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Release|Win32.Build.0 = Win7 Release|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Release|x64.ActiveCfg = Win7 Release|x64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Release|x64.Build.0 = Win7 Release|x64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Debug|x64.Build.0 = Win8 Debug|x64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Release|Win32.Build.0 = Win8 Release|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Release|x64.ActiveCfg = Win8 Release|x64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Release|x64.Build.0 = Win8 Release|x64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64
- {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Debug|x64.Build.0 = Win10 Debug|x64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Release|Win32.Build.0 = Win10 Release|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Release|x64.ActiveCfg = Win10 Release|x64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Release|x64.Build.0 = Win10 Release|x64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Debug|x64.Build.0 = Win7 Debug|x64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Release|Win32.Build.0 = Win7 Release|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Release|x64.ActiveCfg = Win7 Release|x64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Release|x64.Build.0 = Win7 Release|x64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Debug|x64.Build.0 = Win8 Debug|x64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Release|Win32.Build.0 = Win8 Release|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Release|x64.ActiveCfg = Win8 Release|x64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Release|x64.Build.0 = Win8 Release|x64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Debug|x64.Build.0 = Win10 Debug|x64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Release|Win32.Build.0 = Win10 Release|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Release|x64.ActiveCfg = Win10 Release|x64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Release|x64.Build.0 = Win10 Release|x64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Debug|x64.Build.0 = Win7 Debug|x64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Release|Win32.Build.0 = Win7 Release|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Release|x64.ActiveCfg = Win7 Release|x64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Release|x64.Build.0 = Win7 Release|x64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Debug|x64.Build.0 = Win8 Debug|x64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Release|Win32.Build.0 = Win8 Release|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Release|x64.ActiveCfg = Win8 Release|x64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Release|x64.Build.0 = Win8 Release|x64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Debug|x64.Build.0 = Win10 Debug|x64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Release|Win32.Build.0 = Win10 Release|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Release|x64.ActiveCfg = Win10 Release|x64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Release|x64.Build.0 = Win10 Release|x64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Debug|x64.Build.0 = Win7 Debug|x64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Release|Win32.Build.0 = Win7 Release|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Release|x64.ActiveCfg = Win7 Release|x64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Release|x64.Build.0 = Win7 Release|x64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Debug|x64.Build.0 = Win8 Debug|x64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Release|Win32.Build.0 = Win8 Release|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Release|x64.ActiveCfg = Win8 Release|x64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Release|x64.Build.0 = Win8 Release|x64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Debug|x64.Build.0 = Win10 Debug|x64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Release|Win32.Build.0 = Win10 Release|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Release|x64.ActiveCfg = Win10 Release|x64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Release|x64.Build.0 = Win10 Release|x64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Debug|x64.Build.0 = Win7 Debug|x64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Release|Win32.Build.0 = Win7 Release|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Release|x64.ActiveCfg = Win7 Release|x64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Release|x64.Build.0 = Win7 Release|x64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Debug|x64.Build.0 = Win8 Debug|x64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Release|Win32.Build.0 = Win8 Release|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Release|x64.ActiveCfg = Win8 Release|x64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Release|x64.Build.0 = Win8 Release|x64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64
- {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Debug|x64.Build.0 = Win10 Debug|x64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Release|Win32.Build.0 = Win10 Release|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Release|x64.ActiveCfg = Win10 Release|x64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Release|x64.Build.0 = Win10 Release|x64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Debug|x64.Build.0 = Win7 Debug|x64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Release|Win32.Build.0 = Win7 Release|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Release|x64.ActiveCfg = Win7 Release|x64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Release|x64.Build.0 = Win7 Release|x64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Debug|x64.Build.0 = Win8 Debug|x64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Release|Win32.Build.0 = Win8 Release|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Release|x64.ActiveCfg = Win8 Release|x64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Release|x64.Build.0 = Win8 Release|x64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64
- {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Debug|x64.Build.0 = Win10 Debug|x64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Release|Win32.Build.0 = Win10 Release|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Release|x64.ActiveCfg = Win10 Release|x64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Release|x64.Build.0 = Win10 Release|x64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Debug|x64.Build.0 = Win7 Debug|x64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Release|Win32.Build.0 = Win7 Release|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Release|x64.ActiveCfg = Win7 Release|x64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Release|x64.Build.0 = Win7 Release|x64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Debug|x64.Build.0 = Win8 Debug|x64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Release|Win32.Build.0 = Win8 Release|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Release|x64.ActiveCfg = Win8 Release|x64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Release|x64.Build.0 = Win8 Release|x64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64
- {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Debug|x64.Build.0 = Win10 Debug|x64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Release|Win32.Build.0 = Win10 Release|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Release|x64.ActiveCfg = Win10 Release|x64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Release|x64.Build.0 = Win10 Release|x64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Debug|x64.Build.0 = Win7 Debug|x64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Release|Win32.Build.0 = Win7 Release|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Release|x64.ActiveCfg = Win7 Release|x64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Release|x64.Build.0 = Win7 Release|x64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Debug|x64.Build.0 = Win8 Debug|x64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Release|Win32.Build.0 = Win8 Release|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Release|x64.ActiveCfg = Win8 Release|x64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Release|x64.Build.0 = Win8 Release|x64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64
- {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Debug|x64.Build.0 = Win10 Debug|x64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Release|Win32.Build.0 = Win10 Release|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Release|x64.ActiveCfg = Win10 Release|x64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Release|x64.Build.0 = Win10 Release|x64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Debug|x64.Build.0 = Win7 Debug|x64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Release|Win32.Build.0 = Win7 Release|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Release|x64.ActiveCfg = Win7 Release|x64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Release|x64.Build.0 = Win7 Release|x64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Debug|x64.Build.0 = Win8 Debug|x64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Release|Win32.Build.0 = Win8 Release|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Release|x64.ActiveCfg = Win8 Release|x64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Release|x64.Build.0 = Win8 Release|x64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Debug|x64.Build.0 = Win10 Debug|x64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Release|Win32.Build.0 = Win10 Release|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Release|x64.ActiveCfg = Win10 Release|x64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Release|x64.Build.0 = Win10 Release|x64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Debug|x64.Build.0 = Win7 Debug|x64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Release|Win32.Build.0 = Win7 Release|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Release|x64.ActiveCfg = Win7 Release|x64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Release|x64.Build.0 = Win7 Release|x64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Debug|x64.Build.0 = Win8 Debug|x64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Release|Win32.Build.0 = Win8 Release|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Release|x64.ActiveCfg = Win8 Release|x64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Release|x64.Build.0 = Win8 Release|x64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Debug|x64.Build.0 = Win10 Debug|x64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Release|Win32.Build.0 = Win10 Release|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Release|x64.ActiveCfg = Win10 Release|x64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Release|x64.Build.0 = Win10 Release|x64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Debug|x64.Build.0 = Win7 Debug|x64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Release|Win32.Build.0 = Win7 Release|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Release|x64.ActiveCfg = Win7 Release|x64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Release|x64.Build.0 = Win7 Release|x64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Debug|x64.Build.0 = Win8 Debug|x64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Release|Win32.Build.0 = Win8 Release|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Release|x64.ActiveCfg = Win8 Release|x64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Release|x64.Build.0 = Win8 Release|x64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Debug|x64.Build.0 = Win10 Debug|x64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Release|Win32.Build.0 = Win10 Release|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Release|x64.ActiveCfg = Win10 Release|x64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Release|x64.Build.0 = Win10 Release|x64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Debug|x64.Build.0 = Win7 Debug|x64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Release|Win32.Build.0 = Win7 Release|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Release|x64.ActiveCfg = Win7 Release|x64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Release|x64.Build.0 = Win7 Release|x64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Debug|x64.Build.0 = Win8 Debug|x64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Release|Win32.Build.0 = Win8 Release|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Release|x64.ActiveCfg = Win8 Release|x64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Release|x64.Build.0 = Win8 Release|x64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Debug|x64.Build.0 = Win10 Debug|x64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Release|Win32.Build.0 = Win10 Release|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Release|x64.ActiveCfg = Win10 Release|x64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Release|x64.Build.0 = Win10 Release|x64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Debug|x64.Build.0 = Win7 Debug|x64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Release|Win32.Build.0 = Win7 Release|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Release|x64.ActiveCfg = Win7 Release|x64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Release|x64.Build.0 = Win7 Release|x64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Debug|x64.Build.0 = Win8 Debug|x64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Release|Win32.Build.0 = Win8 Release|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Release|x64.ActiveCfg = Win8 Release|x64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Release|x64.Build.0 = Win8 Release|x64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Debug|x64.Build.0 = Win10 Debug|x64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Release|Win32.Build.0 = Win10 Release|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Release|x64.ActiveCfg = Win10 Release|x64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Release|x64.Build.0 = Win10 Release|x64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Debug|x64.Build.0 = Win7 Debug|x64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Release|Win32.Build.0 = Win7 Release|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Release|x64.ActiveCfg = Win7 Release|x64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Release|x64.Build.0 = Win7 Release|x64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Debug|x64.Build.0 = Win8 Debug|x64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Release|Win32.Build.0 = Win8 Release|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Release|x64.ActiveCfg = Win8 Release|x64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Release|x64.Build.0 = Win8 Release|x64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Debug|x64.Build.0 = Win10 Debug|x64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Release|Win32.Build.0 = Win10 Release|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Release|x64.ActiveCfg = Win10 Release|x64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Release|x64.Build.0 = Win10 Release|x64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Debug|x64.Build.0 = Win7 Debug|x64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Release|Win32.Build.0 = Win7 Release|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Release|x64.ActiveCfg = Win7 Release|x64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Release|x64.Build.0 = Win7 Release|x64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Debug|x64.Build.0 = Win8 Debug|x64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Release|Win32.Build.0 = Win8 Release|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Release|x64.ActiveCfg = Win8 Release|x64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Release|x64.Build.0 = Win8 Release|x64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64
- {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {EC75B371-D09D-4D95-9816-3429B6D3806B} = {A6BA54B0-ADB8-4032-8C4B-770474042B09}
- {CCF8F861-A2C2-4C28-AB19-29CC47C6D560} = {F8AB36BA-6C96-42BA-90F5-378D3B73634C}
- {C4BCC65A-6423-4569-A1D6-AAA82CE821A9} = {1BA35560-35CD-4E6E-8B67-AD7ED043874A}
- {9F8B052F-1649-4F54-ABE9-42E51AFB32AA} = {575FCB22-ADB3-4025-8F23-040500F6C11A}
- {2A597978-AD6A-41D0-9B97-CC1B69CE054A} = {575FCB22-ADB3-4025-8F23-040500F6C11A}
- {D0C95EA5-D23F-44E6-91C3-2BA65CE3991E} = {5A8A1EF7-4454-43F3-8A69-484AF81D0771}
- {90BABB1D-0FDD-4A9A-BA18-3319FF12363B} = {5A8A1EF7-4454-43F3-8A69-484AF81D0771}
- {EDCCC34A-50DF-4894-B7B9-FC156F899947} = {EFB5E861-A892-49B4-BA05-38F6F5F42D48}
- {CA70C64A-75C8-48CD-9224-335C2ED689A6} = {F3DB5340-C664-40EB-986F-2A48790AEDC5}
- {F0118F7B-9DF5-49FC-B4FF-951C54033F3D} = {EC75B371-D09D-4D95-9816-3429B6D3806B}
- {D5E225D5-EEEA-45FD-AD07-E4678C542E1A} = {E7B7C6C6-5396-42D3-9BDE-DFAC86D0AFE3}
- {9F374241-B8F9-45D3-B163-7E84E8E22C1F} = {80510096-C37F-488D-A426-E3BA4B1A1600}
- {452209BF-AEB7-457D-956B-90CDE70CED7D} = {35933BA0-56E6-4DD4-84E9-C8AADAA19AFA}
- {B0F13767-2056-47FC-B37B-41D7E339900B} = {7AC217E4-4DB5-414C-A39F-B783020E43AA}
- {5D63CD51-110C-41B7-B8B0-6AB27398690B} = {03A523F4-091A-416B-97B5-A84FA1B1D3EE}
- {CED613CF-6666-43FC-9414-02AFBDA83A34} = {CCF8F861-A2C2-4C28-AB19-29CC47C6D560}
- {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8} = {C52A574A-6122-48EB-875C-07CE190B0808}
- {EA206DEA-26E6-4FD4-BF68-23F222C5E211} = {F3C654B9-A286-494E-8558-3A2526D52A37}
- {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16} = {C4BCC65A-6423-4569-A1D6-AAA82CE821A9}
- {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5} = {9F8B052F-1649-4F54-ABE9-42E51AFB32AA}
- {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE} = {2A597978-AD6A-41D0-9B97-CC1B69CE054A}
- {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62} = {D0C95EA5-D23F-44E6-91C3-2BA65CE3991E}
- {866141A6-4989-41D7-9409-4A5A73B535B0} = {90BABB1D-0FDD-4A9A-BA18-3319FF12363B}
- EndGlobalSection
-EndGlobal
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean.gpd b/print/OEM Printer Customization Plug-in Samples/C++/oemprean.gpd
deleted file mode 100644
index 3328de18..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean.gpd
+++ /dev/null
@@ -1,706 +0,0 @@
-*GPDFileName: "oemprean.gpd"
-*GPDFileVersion: "1.0"
-*GPDSpecVersion: "1.0"
-*Include: "StdNames.gpd"
-*Include: "ttfsub.gpd"
-*ModelName: "OEM Pre-Analysis sample"
-*MasterUnits: PAIR(1200, 1200)
-*ResourceDLL: "unires.dll"
-*PrinterType: PAGE
-*MaxCopies: 99
-*PrintRate: 16
-*PrintRateUnit: PPM
-*PrintRatePPM: 16
-
-*PreAnalysisOptions: 8
-
-*%******************************************************************************************
-*% Orientation
-*%******************************************************************************************
-*Feature: Orientation
-{
- *rcNameID: =ORIENTATION_DISPLAY
- *DefaultOption: PORTRAIT
- *Option: PORTRAIT
- {
- *rcNameID: =PORTRAIT_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.6
- *Cmd: "<1B>&l0O"
- }
- }
- *Option: LANDSCAPE_CC90
- {
- *rcNameID: =LANDSCAPE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.8
- *Cmd: "<1B>&l1O"
- }
- }
-}
-
-*%******************************************************************************************
-*% Input Bin
-*%******************************************************************************************
-*Feature: InputBin
-{
- *rcNameID: =PAPER_SOURCE_DISPLAY
- *DefaultOption: AUTO
- *Option: AUTO
- {
- *rcNameID: =AUTO_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.11
- *Cmd: "<1B>&l0H"
- }
- }
- *Option: UPPER
- {
- *rcNameID: =UPPER_TRAY_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.11
- *Cmd: "<1B>&l1H"
- }
- }
-}
-
-*%******************************************************************************************
-*% Resolution
-*%******************************************************************************************
-*Feature: Resolution
-{
- *rcNameID: =RESOLUTION_DISPLAY
- *DefaultOption: Option2
- *Option: Option1
- {
- *Name: "600 x 600" =DOTS_PER_INCH
- *DPI: PAIR(600, 600)
- *TextDPI: PAIR(600, 600)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
- *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
- *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.7
- *Cmd: "@PJL SET RESOLUTION=600<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t600R"
- }
- }
- *Option: Option2
- {
- *Name: "300 x 300" =DOTS_PER_INCH
- *DPI: PAIR(300, 300)
- *TextDPI: PAIR(300, 300)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
- *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
- *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.7
- *Cmd: "@PJL SET RESOLUTION=300<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R"
- }
- }
- *Option: Option3
- {
- *Name: "150 x 150" =DOTS_PER_INCH
- *DPI: PAIR(150, 150)
- *TextDPI: PAIR(150, 150)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
- *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
- *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.7
- *Cmd: "@PJL SET RESOLUTION=150<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t150R"
- }
- }
-}
-
-*%******************************************************************************************
-*% HP-GL/2 Graphics Support
-*%******************************************************************************************
-*Ifdef: WINNT_51
-*Personality: =PERSONALITY_HPGL2
-*Feature: GraphicsMode
-{
- *rcNameID: =GRAPHICSMODE_DISPLAY
- *DefaultOption: RASTERMODE
- *Option: HPGL2MODE
- {
- *rcNameID: =GRAPHICSMODE_HPGL2_DISPLAY
- }
- *Option: RASTERMODE
- {
- *rcNameID: =GRAPHICSMODE_RASTER_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.6
- *Cmd: "@PJL SET LIMAGEENHANCE=OFF<0A>"
- }
- }
-}
-*Endif:
-
-*%******************************************************************************************
-*% Paper Size
-*%******************************************************************************************
-*Feature: PaperSize
-{
- *rcNameID: =PAPER_SIZE_DISPLAY
- *DefaultOption: LETTER
- *Option: LETTER
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 1028
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9500, 12500)
- *PrintableOrigin: PAIR(400, 400)
- *CursorOrigin: PAIR(300, 300)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t5260x7704Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9500, 12200)
- *PrintableOrigin: PAIR(450, 300)
- *CursorOrigin: PAIR(200, 12900)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t7332x5880Y"
- }
- }
- }
- }
- *Option: LEGAL
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 1692
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9000, 15500)
- *PrintableOrigin: PAIR(400, 600)
- *CursorOrigin: PAIR(180, 300)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t5880x8900Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9000, 15500)
- *PrintableOrigin: PAIR(400, 900)
- *CursorOrigin: PAIR(180, 16500)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t8900x5880Y"
- }
- }
- }
- }
- *Option: EXECUTIVE
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 4109
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(8100, 11500)
- *PrintableOrigin: PAIR(300, 300)
- *CursorOrigin: PAIR(300, 200)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t4860x7344Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(8300, 11500)
- *PrintableOrigin: PAIR(200, 300)
- *CursorOrigin: PAIR(200, 12300)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t7272x4980Y"
- }
- }
- }
- }
- *Option: A4
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 4249
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9100, 13200)
- *PrintableOrigin: PAIR(400, 300)
- *CursorOrigin: PAIR(288, 180)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t5594x8201Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9100, 13200)
- *PrintableOrigin: PAIR(400, 300)
- *CursorOrigin: PAIR(204, 13824)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t8129x5714Y"
- }
- }
- }
- }
- *Option: B5
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 3198
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(7900, 11140)
- *PrintableOrigin: PAIR(352, 300)
- *CursorOrigin: PAIR(300, 100)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t4970x7040Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(7760, 11140)
- *PrintableOrigin: PAIR(300, 400)
- *CursorOrigin: PAIR(100, 11940)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t6780x4970Y"
- }
- }
- }
- }
-}
-
-*%******************************************************************************************
-*% Media Type
-*%******************************************************************************************
-*Feature: MediaType
-{
- *rcNameID: =MEDIA_TYPE_DISPLAY
- *DefaultOption: PLAIN
- *Option: PLAIN
- {
- *rcNameID: =PLAIN_PAPER_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.15
- *Cmd: "<1B>&n6WdPlain"
- }
- }
- *Option: TRANSPARENCY
- {
- *rcNameID: =TRANSPARENCY_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.15
- *Cmd: "<1B>&n13WdTransparency"
- }
- }
-}
-
-*%******************************************************************************************
-*% Color Mode
-*%******************************************************************************************
-*Feature: ColorMode
-{
- *rcNameID: =COLOR_PRINTING_MODE_DISPLAY
- *DefaultOption: 24bpp
- *Option: Mono
- {
- *rcNameID: =MONO_DISPLAY
- *DevNumOfPlanes: 1
- *DevBPP: 1
- *Color?: FALSE
- }
- *Option: Color
- {
- *rcNameID: =COLOR_DISPLAY
- *DevNumOfPlanes: 3
- *DevBPP: 1
- *DrvBPP: 4
- EXTERN_GLOBAL: *RasterSendAllData?: TRUE
- *ColorPlaneOrder: LIST(CYAN, MAGENTA, YELLOW)
- *Command: CmdSendCyanData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"V" }
- *Command: CmdSendMagentaData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"V" }
- *Command: CmdSendYellowData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelectBlackColor { *Cmd : "<1B>*v7S" }
- *Command: CmdSelectRedColor { *Cmd : "<1B>*v6S" }
- *Command: CmdSelectGreenColor { *Cmd : "<1B>*v5S" }
- *Command: CmdSelectYellowColor { *Cmd : "<1B>*v4S" }
- *Command: CmdSelectBlueColor { *Cmd : "<1B>*v3S" }
- *Command: CmdSelectMagentaColor { *Cmd : "<1B>*v2S" }
- *Command: CmdSelectCyanColor { *Cmd : "<1B>*v1S" }
- *Command: CmdSelectWhiteColor { *Cmd : "<1B>*v0S" }
- *Command: CmdSelect
- {
- *Order: PAGE_SETUP.16
- *Cmd: "<1B>*r-3U"
- }
- }
- *Option: 8bpp
- {
- *rcNameID: =8BPP_DISPLAY
- *DevNumOfPlanes: 1
- *DevBPP: 8
- *DrvBPP: 8
- *PaletteSize: 256
- *PaletteProgrammable? : TRUE
- *Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c"
-+ %d{PaletteIndexToProgram} "I" }
- *Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" }
- *Command: CmdSelect
- {
- *Order: PAGE_SETUP.16
- *Cmd: "<1B>*v1N<1B>*v1O<1B>*t0I<1B>*l184O<1B>*v6W<000108080808>"
- }
- }
- *Option: 24bpp
- {
- *rcNameID: =24BPP_DISPLAY
- *DevNumOfPlanes: 1
- *DevBPP: 24
- *DrvBPP: 24
- *Command: CmdEnableDRC { *Cmd : "<1B>*b3M" }
- *PaletteSize: 256
- *PaletteProgrammable? : TRUE
- *Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c"
-+ %d{PaletteIndexToProgram} "I" }
- *Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" }
- *Command: CmdSetSrcBmpWidth { *Cmd : "<1B>*r" %d{RasterDataWidthInBytes / 3}"S" }
- *Command: CmdSelect
- {
- *Order: PAGE_SETUP.16
- *Cmd: "<1B>*v1N<1B>*v1O<1B>*l184O<1B>*v6W<0003080808081B>*v0a0b0c7i255a255b255c0I<1B>*"
-+ "o3W<060400>"
- }
- }
-}
-
-*%******************************************************************************************
-*% HalfTone
-*%******************************************************************************************
-*Feature: Halftone
-{
- *rcNameID: =HALFTONING_DISPLAY
- *DefaultOption: HT_PATSIZE_AUTO
- *Option: HT_PATSIZE_AUTO
- {
- *rcNameID: =HT_AUTO_SELECT_DISPLAY
- }
- *Option: HT_PATSIZE_SUPERCELL_M
- {
- *rcNameID: =HT_SUPERCELL_DISPLAY
- }
- *Option: HT_PATSIZE_6x6_M
- {
- *rcNameID: =HT_DITHER6X6_DISPLAY
- }
- *Option: HT_PATSIZE_8x8_M
- {
- *rcNameID: =HT_DITHER8X8_DISPLAY
- }
-}
-
-*%******************************************************************************************
-*% Memory
-*%
-*% Note: Unidrv uses the font memory information to estimate when it needs to stop
-*% downloading fonts for a page, and thus driver writers should err on the conservative
-*% side. Otherwise, printers will generate "out of memory" device errors for pages with
-*% a large number of fonts / unique glyphs.
-*%******************************************************************************************
-*Feature: Memory
-{
- *rcNameID: =PRINTER_MEMORY_DISPLAY
- *DefaultOption: 32768KB
- *Option: 4096KB
- {
- *Name: "4MB"
- *MemoryConfigKB: PAIR(4096, 6750)
- }
- *Option: 8192KB
- {
- *Name: "8MB"
- *MemoryConfigKB: PAIR(8192, 10350)
- }
- *Option: 16384KB
- {
- *Name: "16MB"
- *MemoryConfigKB: PAIR(16384, 13950)
- }
- *Option: 24576KB
- {
- *Name: "24MB"
- *MemoryConfigKB: PAIR(24576, 21150)
- }
- *Option: 32768KB
- {
- *Name: "32MB"
- *MemoryConfigKB: PAIR(32768, 28350)
- }
- *Option: 49152KB
- {
- *Name: "48MB"
- *MemoryConfigKB: PAIR(49152, 43050)
- }
- *Option: 65536KB
- {
- *Name: "64MB"
- *MemoryConfigKB: PAIR(65536, 57150)
- }
- *Option: 98304KB
- {
- *Name: "96MB"
- *MemoryConfigKB: PAIR(98304, 85950)
- }
- *Option: 102400KB
- {
- *Name: "100MB"
- *MemoryConfigKB: PAIR(102400, 89700)
- }
- *Option: 114688KB
- {
- *Name: "112MB"
- *MemoryConfigKB: PAIR(114688, 100550)
- }
- *Option: 131072KB
- {
- *Name: "128MB"
- *MemoryConfigKB: PAIR(131072, 116250)
- }
-}
-
-*%******************************************************************************************
-*% Duplex Unit
-*%******************************************************************************************
-*Feature: DuplexUnit
-{
- *rcNameID: 429
- *FeatureType: PRINTER_PROPERTY
- *DefaultOption: FALSE
- *Option: FALSE
- {
- *rcNameID: 444
- *DisabledFeatures: LIST(Duplex.VERTICAL, Duplex.HORIZONTAL)
- }
- *Option: TRUE
- {
- *rcNameID: 443
- }
-}
-
-*%******************************************************************************************
-*% Duplex Type
-*%******************************************************************************************
-*Feature: Duplex
-{
- *rcNameID: =TWO_SIDED_PRINTING_DISPLAY
- *DefaultOption: NONE
- *Option: NONE
- {
- *rcNameID: =NONE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.9
- *Cmd: "<1B>&l0S"
- }
- }
- *Option: VERTICAL
- {
- *rcNameID: =FLIP_ON_LONG_EDGE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.9
- *Cmd: "<1B>&l1S"
- }
- }
- *Option: HORIZONTAL
- {
- *rcNameID: =FLIP_ON_SHORT_EDGE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.9
- *Cmd: "<1B>&l2S"
- }
- }
-}
-
-*%******************************************************************************************
-*% Page Protect
-*%******************************************************************************************
-*Feature: PageProtect
-{
- *rcNameID: =PAGE_PROTECTION_DISPLAY
- *DefaultOption: OFF
- *Option: ON
- {
- *rcNameID: =ON_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.1
- *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=LETTER<0A>"
- }
- }
- *Option: OFF
- {
- *rcNameID: =OFF_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.1
- *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=OFF<0A>"
- }
- }
-}
-
-*%******************************************************************************************
-*% Doc setup commands
-*%******************************************************************************************
-*Command: CmdStartDoc
-{
- *Order: DOC_SETUP.7
- *Cmd: "<1B>&u1200D<1B>*r0F"
-}
-*Command: CmdStartPage
-{
- *Order: PAGE_SETUP.1
- *Cmd: "<1B>*b0M<0D>"
-}
-*Command: CmdEndJob
-{
- *Order: JOB_FINISH.1
- *Cmd: "<1B>E<1B>%%-12345X@PJL<20>LPORTROTATE<0A><1B>%%-12345X"
-}
-*Command: CmdCopies
-{
- *Order: DOC_SETUP.13
- *Cmd: "<1B>&l" %d{NumOfCopies}"X"
-}
-
-*%******************************************************************************************
-*% Cursor, Page and Color Commands
-*%******************************************************************************************
-*RotateCoordinate?: TRUE
-*RotateRaster?: TRUE
-*RotateFont?: TRUE
-*TextCaps: LIST(TC_CR_90,TC_UA_ABLE)
-*MemoryUsage: LIST(FONT, RASTER, VECTOR)
-*CursorXAfterCR: AT_PRINTABLE_X_ORIGIN
-*BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE)
-*XMoveThreshold: 0
-*YMoveThreshold: 0
-*XMoveUnit: 300
-*YMoveUnit: 300
-*Command: CmdXMoveAbsolute { *Cmd : "<1B>*p" %d{(DestX) }"X" }
-*Command: CmdXMoveRelRight { *Cmd : "<1B>*p+" %d[0,9600]{max_repeat((DestXRel) )}"X" }
-*Command: CmdXMoveRelLeft { *Cmd : "<1B>*p-" %d[0,9600]{max_repeat((DestXRel) )}"X" }
-*Command: CmdYMoveAbsolute { *Cmd : "<1B>*p" %d{(DestY) }"Y" }
-*Command: CmdYMoveRelDown { *Cmd : "<1B>*p+" %d{(DestYRel) }"Y" }
-*Command: CmdYMoveRelUp { *Cmd : "<1B>*p-" %d{(DestYRel) }"Y" }
-*Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c"
-+ %d{PaletteIndexToProgram} "I" }
-*Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" }
-*Command: CmdCR { *Cmd : "<0D>" }
-*Command: CmdLF { *Cmd : "<0A>" }
-*Command: CmdFF { *Cmd : "<0C>" }
-*Command: CmdBackSpace { *Cmd : "<08>" }
-*Command: CmdUniDirectionOn { *Cmd : "<00>" }
-*Command: CmdUniDirectionOff { *Cmd : "<00>" }
-*Command: CmdPushCursor { *Cmd : "<1B>&f0S" }
-*Command: CmdPopCursor { *Cmd : "<1B>&f1S" }
-*Command: CmdSetSimpleRotation { *Cmd : "<1B>&a" %d{PrintDirInCCDegrees}"P" }
-*EjectPageWithFF?: TRUE
-*Command: CmdEnableTIFF4 { *Cmd : "<1B>*b2M" }
-*Command: CmdDisableCompression { *Cmd : "<1B>*b0M" }
-*OutputDataFormat: H_BYTE
-*OptimizeLeftBound?: TRUE
-*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN
-*CursorYAfterSendBlockData: AUTO_INCREMENT
-
-*%******************************************************************************************
-*% Font Descriptions and Commands
-*%******************************************************************************************
-*TTFSEnabled?: TRUE
-*DefaultFont: 136
-*DefaultCTT: 0
-*CharPosition: BASELINE
-*DeviceFonts: LIST(136,138,146,147,148,149,150,151,152,153,154,155,156,157,
-+ 163,164,165,166,196,197,198,199,200,201,202,203,209,210,
-+ 211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,
-+ 227,228,229,230)
-*MinFontID: 16534
-*MaxFontID: 32768
-*switch: Resolution
-{
- *case: Option1
- {
- *FontFormat: HPPCL_OUTLINE
- }
- *case: Option2
- {
- *FontFormat: HPPCL_OUTLINE
- }
- *case: Option3
- {
- *FontFormat: HPPCL_RES
- }
-}
-*Command: CmdSetFontID { *Cmd : "<1B>*c" %d{NextFontID}"D" }
-*Command: CmdSelectFontID { *Cmd : "<1B>(" %d{CurrentFontID}"X" }
-*Command: CmdSetCharCode { *Cmd : "<1B>*c" %d{NextGlyph}"E" }
-*Command: CmdUnderlineOn { *Cmd : "<1B>&dD" }
-*Command: CmdUnderlineOff { *Cmd : "<1B>&d@" }
-*Command: CmdWhiteTextOn { *Cmd : "<1B>*v1o1T" }
-*Command: CmdWhiteTextOff { *Cmd : "<1B>*v0o0T" }
-
-
-*%********************************************************************************************
-*%* Vector Commands.
-*%********************************************************************************************
-*MinGrayFill: 1
-*MaxGrayFill: 100
-*Command: CmdSetRectWidth { *Cmd : "<1B>*c" %d{(RectXSize) }"A" }
-*Command: CmdSetRectHeight { *Cmd : "<1B>*c" %d{(RectYSize) }"B" }
-*Command: CmdRectGrayFill { *Cmd : "<1B>*c" %d{GrayPercentage }"g2P" }
-*Command: CmdRectWhiteFill { *Cmd : "<1B>*c1P" }
-*Command: CmdRectBlackFill { *Cmd : "<1B>*c0P" }
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean.htm b/print/OEM Printer Customization Plug-in Samples/C++/oemprean.htm
deleted file mode 100644
index 87662eb5..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean.htm
+++ /dev/null
@@ -1,514 +0,0 @@
-<html xmlns:v="urn:schemas-microsoft-com:vml"
-xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 10">
-<meta name=Originator content="Microsoft Word 10">
-<link rel=File-List href="oemprean_files/filelist.xml">
-<title>OEMPREAN SAMPLE</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
- <o:Author></o:Author>
- <o:LastAuthor></o:LastAuthor>
- <o:Revision>18</o:Revision>
- <o:TotalTime>38</o:TotalTime>
- <o:Created>2003-05-28T23:09:00Z</o:Created>
- <o:LastSaved>2003-08-14T01:02:00Z</o:LastSaved>
- <o:Pages>1</o:Pages>
- <o:Words>1074</o:Words>
- <o:Characters>6125</o:Characters>
- <o:Company>Microsoft Corporation</o:Company>
- <o:Lines>51</o:Lines>
- <o:Paragraphs>14</o:Paragraphs>
- <o:CharactersWithSpaces>7185</o:CharactersWithSpaces>
- <o:Version>10.4219</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
- <w:GrammarState>Clean</w:GrammarState>
- <w:Compatibility>
- <w:BreakWrappedTables/>
- <w:SnapToGridInCell/>
- <w:WrapTextWithPunct/>
- <w:UseAsianBreakRules/>
- </w:Compatibility>
- <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
- @font-face
- {font-family:Verdana;
- panose-1:2 11 6 4 3 5 4 4 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:536871559 0 0 0 415 0;}
- /* Style Definitions */
- p.MsoNormal, li.MsoNormal, div.MsoNormal
- {mso-style-parent:"";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-h1
- {mso-style-next:Normal;
- margin-top:12.0pt;
- margin-right:0in;
- margin-bottom:3.0pt;
- margin-left:0in;
- mso-pagination:widow-orphan;
- page-break-after:avoid;
- mso-outline-level:1;
- font-size:16.0pt;
- font-family:Arial;
- mso-font-kerning:16.0pt;}
-h3
- {mso-style-next:Normal;
- margin-top:12.0pt;
- margin-right:0in;
- margin-bottom:3.0pt;
- margin-left:0in;
- mso-pagination:widow-orphan;
- page-break-after:avoid;
- mso-outline-level:3;
- font-size:13.0pt;
- font-family:Arial;}
-a:link, span.MsoHyperlink
- {color:blue;
- text-decoration:underline;
- text-underline:single;}
-a:visited, span.MsoHyperlinkFollowed
- {color:purple;
- text-decoration:underline;
- text-underline:single;}
-pre
- {margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:10.0pt;
- font-family:"Courier New";
- mso-fareast-font-family:"Times New Roman";
- color:black;}
-@page Section1
- {size:8.5in 11.0in;
- margin:1.0in 1.25in 1.0in 1.25in;
- mso-header-margin:.5in;
- mso-footer-margin:.5in;
- mso-paper-source:0;}
-div.Section1
- {page:Section1;}
--->
-</style>
-<!--[if gte mso 10]>
-<style>
- /* Style Definitions */
- table.MsoNormalTable
- {mso-style-name:"Table Normal";
- mso-tstyle-rowband-size:0;
- mso-tstyle-colband-size:0;
- mso-style-noshow:yes;
- mso-style-parent:"";
- mso-padding-alt:0in 5.4pt 0in 5.4pt;
- mso-para-margin:0in;
- mso-para-margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:10.0pt;
- font-family:"Times New Roman";}
-</style>
-<![endif]-->
-</head>
-
-<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<h1>OEMPREAN SAMPLE</h1>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
-
-<h3>Summary</h3>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>This
-sample illustrates how you can leverage the preanalysis feature in Unidrv. This
-sample is built upon the redesigned version of the oemuni sample. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>When
-preanalysis is enabled in the GPD, Unidrv defines the surface as a banding
-surface but causes the first playback to be of the entire page. Unidrv does
-this by setting the GDI clip window to the entire page. Unidrv allows all
-drawing commands to be hooked but returns before any drawing can be done. On
-the following passes Unidrv resets the clip window back to the original band
-size and bands normally. In order to enable this feature in the GPD, specify
-the following GPD parameter: �*PreAnalysisOptions: 8�.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>The OEM
-rendering plug-in is required to hook both DrvStartBanding and DrvNextBand when
-this mode is enabled in the GPD. The OEM rendering plug-in must test the pptl
-parameter of the DrvStartBanding call to determine whether preanalysis has been
-enabled on this page. If the pptl parameter is NULL, then preanalysis has been
-enabled. The pptl parameter can be used by Unidrv since it has no meaning at
-this point. This parameter has not been updated with the band position and for
-preanalysis the band position is always be set to 0, 0. If the pptl parameter
-is NULL, then the OEM rendering plug-in should consider all drawing calls up to
-the first call to DrvNextBand to be part of preanalysis. During this phase no
-drawing onto the surface is allowed. You should be aware that after
-preanalysis, you might get more calls than you saw in the normal rendering,
-because primitives that cross band boundaries yield two or more DDI calls after
-the preanalysis pass.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>The
-sample uses the bPreAnalysis flag in the OEMPDEV structure to denote whether a
-particular pass is the preanalysis pass or the actual rendering pass. If the
-bPreAnalysis flag is set, it indicates that the current pass is the preanalysis
-pass. The sample implements all of the drawing function hooks in ddihook.cpp.
-The sample uses the OEMStartBanding and OEMNextBand functions, to respectively
-set and reset the bPreAnalysis flag. The sample also uses the DBG_CLIPOBJ debug
-macro function to dump the bounds of the clipping rectangle available for
-preanalysis in each of the drawing functions during the preanalysis pass. To
-view all of the debug output in the debugger, you must set the debug level to
-VERBOSE. The rest of the sample is identical to the oemuni sample that
-illustrates a basic OEM rendering plug-in.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Note that
-the surface used during preanalysis might differ from the surface passed in
-during the rendering pass. Also note that during the preanalysis pass, although
-Unidrv calls the hooked drawing functions, it returns before any drawing is
-done. For this reason you should not perform any drawing on the surface during
-the preanalysis pass. All other preanalysis tasks should be performed during
-this pass. For example, certain printers need to handle black objects that
-intersect with color objects differently from black objects that appear by
-themselves. Other printers might need to halftone StretchBlt objects
-differently from BitBlt objects. Basically, the plug-in can analyze the objects
-on the page. A final point to note is that during the preanalysis pass, drawing
-functions should not call back into Unidrv. When the bPreAnalysis flag is set,
-the sample returns without calling back into Unidrv.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Note that
-this sample will not build with the Windows 2000 build environment. This
-version of the sample implements the IPrintOemUni2 interface which is available
-only on Windows XP and later. The table shown below will help identify which
-operating systems this sample will build/work on. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
-
-<table class=MsoNormalTable border=1 cellpadding=0 width="100%"
- style='width:100.0%;mso-cellspacing:1.5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'>
- <tr style='mso-yfti-irow:0'>
- <td width="19%" style='width:19.84%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
- auto;text-align:center'><b style='mso-bidi-font-weight:normal'><span
- style='font-size:10.0pt;font-family:Verdana'>Operating System</span><o:p></o:p></b></p>
- </td>
- <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><b
- style='mso-bidi-font-weight:normal'><span style='font-size:10.0pt;font-family:
- Verdana'>Can sample be built in the OS?</span></b><b style='mso-bidi-font-weight:
- normal'><span style='font-family:Verdana'><o:p></o:p></span></b></p>
- </td>
- <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><b
- style='mso-bidi-font-weight:normal'><span style='font-size:10.0pt;font-family:
- Verdana'>Does sample work in the OS?</span><o:p></o:p></b></p>
- </td>
- <td width="25%" style='width:25.8%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><b
- style='mso-bidi-font-weight:normal'><span style='font-size:10.0pt;font-family:
- Verdana;letter-spacing:-1.0pt'>Can sample be used in a production environment
- for the OS?</span><o:p></o:p></b></p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:1'>
- <td width="19%" style='width:19.84%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Windows
- codenamed Longhorn<o:p></o:p></span></p>
- </td>
- <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><span
- style='font-size:10.0pt;font-family:Verdana'>Yes<o:p></o:p></span></p>
- </td>
- <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><span
- style='font-size:10.0pt;font-family:Verdana'>Yes<o:p></o:p></span></p>
- </td>
- <td width="25%" style='width:25.8%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><span
- style='font-size:10.0pt;font-family:Verdana'>No<o:p></o:p></span></p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:2'>
- <td width="19%" style='width:19.84%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Windows
- Server 2003</span></p>
- </td>
- <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><span
- style='font-size:10.0pt;font-family:Verdana'>Yes</span></p>
- </td>
- <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><span
- style='font-size:10.0pt;font-family:Verdana'>No</span></p>
- </td>
- <td width="25%" style='width:25.8%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><span
- style='font-size:10.0pt;font-family:Verdana'>No</span></p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:3'>
- <td width="19%" style='width:19.84%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Windows
- XP</span></p>
- </td>
- <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><span
- style='font-size:10.0pt;font-family:Verdana'>Yes</span></p>
- </td>
- <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><span
- style='font-size:10.0pt;font-family:Verdana'>No</span></p>
- </td>
- <td width="25%" style='width:25.8%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><span
- style='font-size:10.0pt;font-family:Verdana'>No</span></p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:4'>
- <td width="19%" style='width:19.84%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Windows
- 2000</span></p>
- </td>
- <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><span
- style='font-size:10.0pt;font-family:Verdana'>No</span></p>
- </td>
- <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><span
- style='font-size:10.0pt;font-family:Verdana'>No</span></p>
- </td>
- <td width="25%" style='width:25.8%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><span
- style='font-size:10.0pt;font-family:Verdana'>No</span></p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:5'>
- <td width="19%" style='width:19.84%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Windows
- Me</span></p>
- </td>
- <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><span
- style='font-size:10.0pt;font-family:Verdana'>No</span></p>
- </td>
- <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><span
- style='font-size:10.0pt;font-family:Verdana'>No</span></p>
- </td>
- <td width="25%" style='width:25.8%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><span
- style='font-size:10.0pt;font-family:Verdana'>No</span></p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:6;mso-yfti-lastrow:yes'>
- <td width="19%" style='width:19.84%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Windows
- 98 SE<o:p></o:p></span></p>
- </td>
- <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><span
- style='font-size:10.0pt;font-family:Verdana'>No<o:p></o:p></span></p>
- </td>
- <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><span
- style='font-size:10.0pt;font-family:Verdana'>No<o:p></o:p></span></p>
- </td>
- <td width="25%" style='width:25.8%;padding:.75pt .75pt .75pt .75pt'>
- <p class=MsoNormal align=center style='text-align:center'><span
- style='font-size:10.0pt;font-family:Verdana'>No<o:p></o:p></span></p>
- </td>
- </tr>
-</table>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
-
-<h3>Building the sample</h3>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>To build
-the samples, run �<b style='mso-bidi-font-weight:normal'>build �cZ</b>� from
-the directory. The resulting DLL will be placed in the appropriate platform directory
-(i.e. i386 or Alpha). To create a version with verbose debug output, add _DEBUG
-to the compile defines in the sources file.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
-
-<h3>Installing the sample</h3>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>After
-building the sample, you can install it using the Add Printer Wizard and
-supplying the INF that is part of the sample when you are prompted for an INF
-in the wizard. The Unidrv binaries required for this driver need not be copied
-to the local directory containing oemdll.inf. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
-
-<h3>Resources</h3>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>For the
-latest release of the Windows Device Driver Development Kit, see <a
-href="http://www.microsoft.com/whdc/ddk/winddk.mspx">http://www.microsoft.com/whdc/ddk/winddk.mspx</a>.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>If you
-have questions on using or adapting this sample for your project, you can
-either contact <a href="http://support.microsoft.com/">Microsoft Technical
-Support</a> or post your questions in the <a
-href="http://msdn.microsoft.com/newsgroups/default.asp?url=/newsgroups/loadframes.asp?icp=msdn&amp;slcid=us&amp;newsgroup=microsoft.public.development.device.drivers">Microsoft
-driver development newsgroup</a>.</span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
-
-<h3>File Manifest</h3>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='font-size:10.0pt;font-family:Verdana'>Root:<o:p></o:p></span></b></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><u><span style='font-size:10.0pt;font-family:Verdana'>Files</span></u><span
-style='font-size:10.0pt;font-family:Verdana'><span style='mso-tab-count:3'>���������������������� </span><u>Description</u><o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>readme.htm<span
-style='mso-tab-count:2'>������������ </span>The documentation for this sample
-(this file).<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>oemprean.gpd<span
-style='mso-tab-count:2'>��������� </span>The generic GPD file for this sample.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>oemprean.inf<span
-style='mso-tab-count:2'>����������� </span>The printer INF that will install
-this sample once it is built.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>oemprean.ini<span
-style='mso-tab-count:2'>����������� </span>The printer ini file that specifies
-the OEM customization DLLs for this sample.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-style='font-size:10.0pt;font-family:Verdana'>OEMPREAN directory:</span></b><span
-style='font-size:10.0pt;font-family:Verdana'><o:p></o:p></span></p>
-
-<p class=MsoNormal><u><span style='font-size:10.0pt;font-family:Verdana'><o:p><span
- style='text-decoration:none'>&nbsp;</span></o:p></span></u></p>
-
-<p class=MsoNormal><u><span style='font-size:10.0pt;font-family:Verdana'>Files</span></u><span
-style='font-size:10.0pt;font-family:Verdana'><span style='mso-tab-count:3'>���������������������� </span><u>Description<o:p></o:p></u></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>ddihook.cpp<span
-style='mso-tab-count:2'>������������ </span>Source module for DDI Hook routines
-for the rendering plug-in. (OEMBitBlt, OEMStrokePath, OEMTextOut, OEMNextBand
-etc.)<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>ddihook.h<span
-style='mso-tab-count:2'>��������������� </span>Source module that defines the
-constants used to control DDI hooking. (IMPL_ALPHABLEND, IMPL_BITBLT,
-IMPL_NEXTBAND etc.)<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>debug.cpp<span
-style='mso-tab-count:2'>�������������� </span>Source module that contains the
-debugging functions. (COemUniDbg::vDumpSURFOBJ, COemUniDbg::vDumpSTROBJ etc.)<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>debug.h<span
-style='mso-tab-count:2'>����������������� </span>The header file for the debug
-module defined in debug.cpp. (Definition of the COemUniDbg class)<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>devmode.cpp<span
-style='mso-tab-count:2'>���������� </span>Source module that contains
-implementation of the OEM Devmode functions. (hrOEMDevmode, bConvertOEMDevmode
-etc.)<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>devmode.h<span
-style='mso-tab-count:2'>������������� </span>The header for devmode.cpp.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>dllentry.cpp<span
-style='mso-tab-count:2'>������������ </span>Source module for DLL entry
-functions. (DllMain)<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>enable.cpp<span
-style='mso-tab-count:2'>������������� </span>Source module that contains the
-enable routines for the rendering plug-in. (OEMEnableDriver, OEMEnablePDEV,
-OEMDisableDriver etc.)<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>intrface.cpp<span
-style='mso-tab-count:2'>������������ </span>Source module that implements the
-OEM COM printer customization rendering plug-in interface.
-(COemUni2::ImageProcessing, COemUni2::FilterGraphics etc.)<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>intrface.h<span
-style='mso-tab-count:2'>��������������� </span>The header for intrface.cpp that
-defines the COM interface for the rendering plug-in. (Definition of the
-COemUni2 class)<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>makefile<span
-style='mso-tab-count:2'>����������������� </span>The generic makefile for
-building the code sample.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>oemprean.def<span
-style='mso-tab-count:2'>���������� </span>The file that lists the exported
-functions for the sample.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>oemprean.h<span
-style='mso-tab-count:2'>������������ </span>The header file that defines the
-PDEV class for the sample. (Definition and implementation of the COemPDEV
-class)<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>oemprean.rc<span
-style='mso-tab-count:2'>����������� </span>The resources file for the rendering
-plugin�s resources.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>precomp.h<span
-style='mso-tab-count:2'>�������������� </span>The header that includes the
-headers to precompile.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>resource.h<span
-style='mso-tab-count:2'>�������������� </span>The header file the resources
-file.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>sources<span
-style='mso-tab-count:2'>������������������ </span>The generic sources file for building
-the code sample.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean.inf b/print/OEM Printer Customization Plug-in Samples/C++/oemprean.inf
deleted file mode 100644
index e2905f70..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean.inf
+++ /dev/null
Binary files differ
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean.ini b/print/OEM Printer Customization Plug-in Samples/C++/oemprean.ini
deleted file mode 100644
index ad5eed92..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[OEMFiles]
-OEMDriverFile1=OEMPREAN.DLL
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/ddihook.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/ddihook.cpp
deleted file mode 100644
index b3843090..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/ddihook.cpp
+++ /dev/null
@@ -1,2069 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: DDIHook.cpp
-//
-//
-// PURPOSE: DDI Hook routines for User Mode COM Customization DLL.
-//
-// This module implements the following functions defined in printoem.h:
-// OEMCopyBits
-// OEMBitBlt
-// OEMStretchBlt
-// OEMDitherColor
-// OEMStretchBltROP
-// OEMPlgBlt
-// OEMPaint
-// OEMRealizeBrush
-// OEMStrokePath
-// OEMFillPath
-// OEMStrokeAndFillPath
-// OEMLineTo
-// OEMAlphaBlend
-// OEMGradientFill
-// OEMTransparentBlt
-// OEMTextOut
-// OEMQueryFont
-// OEMQueryFontTree
-// OEMQueryFontData
-// OEMFontManagement
-// OEMQueryAdvanceWidths
-// OEMGetGlyphMode
-// OEMStartDoc
-// OEMEndDoc
-// OEMStartPage
-// OEMSendPage
-// OEMStartBanding
-// OEMNextBand
-// OEMEscape
-//
-// History:
-// 06/24/03 xxx created.
-//
-//
-
-#include "precomp.h"
-#include "oemprean.h"
-#include "debug.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-BOOL APIENTRY
-OEMCopyBits(
- SURFOBJ *psoDst,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDst,
- POINTL *pptlSrc
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvCopyBits.
-
- DrvCopyBits translates between device-managed
- raster surfaces and GDI standard-format bitmaps.
- GDI will call DrvCopyBits when it needs to copy from
- one surface to another and at least one of the
- surfaces is device-managed.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- psoDst - Points to the Dstination surface
- psoSrc - Points to the source surface
- pxlo - XLATEOBJ provided by the engine
- pco - Defines a clipping region on the Dstination surface
- pxlo - Defines the translation of color indices
- between the source and target surfaces
- prclDst - Defines the area to be modified
- pptlSrc - Defines the upper-left corner of the source rectangle
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMCopyBits entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- if (pOemPDEV->bPreAnalysis)
- {
- VERBOSE(TEXT("OEMCopyBits: Begin pre-analysis...\r\n"));
-
- // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass.
- // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might
- // differ from the surface passed in during the rendering pass.
-
- // Dump the bounds of the clip window available for pre-analysis.
- DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco);
-
- // Although unidrv calls the hooked drawing functions, it will return before any drawing is done.
- // So we should not perform any drawing on the surface. But all other pre-analysis tasks should
- // be performed here. For example, certain printers need to handle black objects differently if
- // they intersect with any color objects versus being stand alone. Another task could be to halftone
- // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page.
-
- // During the pre-analysis pass, drawing functions should not call back into Unidrv.
- // So we return here.
- VERBOSE(TEXT("OEMCopyBits: End pre-analysis...\r\n"));
-
- return TRUE;
- }
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvCopyBits)(psoDst,
- psoSrc,
- pco,
- pxlo,
- prclDst,
- pptlSrc);
-}
-
-BOOL APIENTRY
-OEMBitBlt(
- SURFOBJ *psoDst,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDst,
- POINTL *pptlSrc,
- POINTL *pptlMask,
- BRUSHOBJ *pbo,
- POINTL *pptlBrush,
- ROP4 rop4
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvBitBlt.
-
- DrvBitBlt provides general bit-block transfer capabilities
- between device-managed surfaces, between GDI-managed
- standard-format bitmaps, or between a device-managed
- surface and a GDI-managed standard-format bitmap.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- psoDst - Describes the target surface
- psoSrc - Describes the source surface
- psoMask - Describes the mask for rop4
- pco - Limits the area to be modified
- pxlo - Specifies how color indices are translated
- between the source and target surfaces
- prclDst - Defines the area to be modified
- pptlSrc - Defines the upper left corner of the source rectangle
- pptlMask - Defines which pixel in the mask corresponds to
- the upper left corner of the source rectangle
- pbo - Defines the pattern for bitblt
- pptlBrush - Defines the origin of the brush in the Dstination surface
- rop4 - ROP code that defines how the mask, pattern, source, and
- Dstination pixels are combined to write to the Dstination surface
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMBitBlt entry.");
-
- DBG_SURFOBJ(DBG_VERBOSE, L"psoDst", psoDst);
- DBG_SURFOBJ(DBG_VERBOSE, L"psoSrc", psoSrc);
- DBG_SURFOBJ(DBG_VERBOSE, L"psoMask", psoMask);
- DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco);
- DBG_XLATEOBJ(DBG_VERBOSE, L"pxlo", pxlo);
- DBG_RECTL(DBG_VERBOSE, L"prclDst", prclDst);
- DBG_POINTL(DBG_VERBOSE, L"pptlSrc", pptlSrc);
- DBG_POINTL(DBG_VERBOSE, L"pptlMask", pptlMask);
- DBG_BRUSHOBJ(DBG_VERBOSE, L"pbo", pbo);
- DBG_POINTL(DBG_VERBOSE, L"pptlBrush", pptlBrush);
- VERBOSE(TEXT("\nrop4: %#x\r\n\n"), rop4);
-
- PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- if (pOemPDEV->bPreAnalysis)
- {
- VERBOSE(TEXT("OEMBitBlt: Begin pre-analysis...\r\n"));
-
- // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass.
- // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might
- // differ from the surface passed in during the rendering pass.
-
- // Dump the bounds of the clip window available for pre-analysis.
- DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco);
-
- // Although unidrv calls the hooked drawing functions, it will return before any drawing is done.
- // So we should not perform any drawing on the surface. But all other pre-analysis tasks should
- // be performed here. For example, certain printers need to handle black objects differently if
- // they intersect with any color objects versus being stand alone. Another task could be to halftone
- // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page.
-
- // During the pre-analysis pass, drawing functions should not call back into Unidrv.
- // So we return here.
- VERBOSE(TEXT("OEMBitBlt: End pre-analysis...\r\n"));
-
- return TRUE;
- }
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvBitBlt)(psoDst,
- psoSrc,
- psoMask,
- pco,
- pxlo,
- prclDst,
- pptlSrc,
- pptlMask,
- pbo,
- pptlBrush,
- rop4);
-}
-
-BOOL APIENTRY
-OEMStretchBlt(
- SURFOBJ *psoDst,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlHTOrg,
- RECTL *prclDst,
- RECTL *prclSrc,
- POINTL *pptlMask,
- ULONG iMode
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvStretchBlt.
-
- DrvStretchBlt provides stretching bit-block transfer
- capabilities between any combination of device-managed
- and GDI-managed surfaces. DrvStretchBlt enables the
- device driver to write to GDI bitmaps, especially when the
- driver can do halftoning. This function allows the same
- halftoning algorithm to be applied to GDI bitmaps and
- device surfaces. This function can be provided to handle
- only certain forms of stretching, such as by integer multiples.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- psoDst - Defines the surface on which to draw
- psoSrc - Defines the source for blt operation
- psoMask - Defines a surface that provides a mask for the source
- pco - Limits the area to be modified on the Dstination
- pxlo - Specifies how color dwIndexes are to be translated
- between the source and target surfaces
- pca - Defines color adjustment values to be applied to the source bitmap
- pptlHTOrg - Specifies the origin of the halftone brush
- prclDst - Defines the area to be modified on the Dstination surface
- prclSrc - Defines the area to be copied from the source surface
- pptlMask - Specifies which pixel in the given mask corresponds to
- the upper left pixel in the source rectangle
- iMode - Specifies how source pixels are combined to get output pixels
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMStretchBlt entry.");
-
- DBG_SURFOBJ(DBG_VERBOSE, L"psoDst", psoDst);
- DBG_SURFOBJ(DBG_VERBOSE, L"psoSrc", psoSrc);
- DBG_SURFOBJ(DBG_VERBOSE, L"psoMask", psoMask);
- DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco);
- DBG_XLATEOBJ(DBG_VERBOSE, L"pxlo", pxlo);
- DBG_COLORADJUSTMENT(DBG_VERBOSE, L"pca", pca);
- DBG_POINTL(DBG_VERBOSE, L"pptlHTOrg", pptlHTOrg);
- DBG_RECTL(DBG_VERBOSE, L"prclDst", prclDst);
- DBG_RECTL(DBG_VERBOSE, L"prclSrc", prclSrc);
- DBG_POINTL(DBG_VERBOSE, L"pptlMask", pptlMask);
- VERBOSE(TEXT("\niMode: %#x\r\n\n"), iMode);
-
- PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- if (pOemPDEV->bPreAnalysis)
- {
- VERBOSE(TEXT("OEMStretchBlt: Begin pre-analysis...\r\n"));
-
- // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass.
- // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might
- // differ from the surface passed in during the rendering pass.
-
- // Dump the bounds of the clip window available for pre-analysis.
- DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco);
-
- // Although unidrv calls the hooked drawing functions, it will return before any drawing is done.
- // So we should not perform any drawing on the surface. But all other pre-analysis tasks should
- // be performed here. For example, certain printers need to handle black objects differently if
- // they intersect with any color objects versus being stand alone. Another task could be to halftone
- // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page.
-
- // During the pre-analysis pass, drawing functions should not call back into Unidrv.
- // So we return here.
- VERBOSE(TEXT("OEMStretchBlt: End pre-analysis...\r\n"));
-
- return TRUE;
- }
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvStretchBlt)(psoDst,
- psoSrc,
- psoMask,
- pco,
- pxlo,
- pca,
- pptlHTOrg,
- prclDst,
- prclSrc,
- pptlMask,
- iMode);
-}
-
-ULONG APIENTRY
-OEMDitherColor(
- DHPDEV dhpdev,
- ULONG iMode,
- ULONG rgbColor,
- ULONG *pulDither
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvDitherColor.
-
- DrvDitherColor requests the device to create a
- brush dithered against a device palette.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dhpdev - DHPDEV passed, it is our pDEV
- iMode - Not used
- rgbColor - Solid rgb color to be used
- pulDither - buffer to put the halftone brush.
-
-Return Value:
-
- Returns halftone method.
-
- DCR_DRIVER if the dither values have been calculated by the driver.
- DCR_SOLID if the engine should use the best solid color approximation of the color.
- DCR_HALFTONE if the engine should create a halftone approximation for the driver.
-
---*/
-
-{
- VERBOSE(L"OEMDitherColor entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvDitherColor)(dhpdev,
- iMode,
- rgbColor,
- pulDither);
-}
-
-BOOL APIENTRY
-OEMStretchBltROP(
- SURFOBJ *psoDst,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlHTOrg,
- RECTL *prclDst,
- RECTL *prclSrc,
- POINTL *pptlMask,
- ULONG iMode,
- BRUSHOBJ *pbo,
- ROP4 rop4
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvStretchBltROP.
-
- DrvStretchBltROP performs a stretching bit-block transfer
- using a ROP.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- psoDst - Specifies the target surface
- psoSrc - Specifies the source surface
- psoMask - Specifies the mask surface
- pco - Limits the area to be modified
- pxlo - Specifies how color indices are translated
- between the source and target surfaces
- pca - Defines color adjustment values to be applied to the source bitmap
- pptlHTOrg - Specifies the halftone origin
- prclDst - Area to be modified on the destination surface
- prclSrc - Rectangle area on the source surface
- pptlMask - Defines which pixel in the mask corresponds to
- the upper left corner of the source rectangle
- iMode - Specifies how source pixels are combined to get output pixels
- pbo - Defines the pattern for bitblt
- rop4 - ROP code that defines how the mask, pattern, source, and
- destination pixels are combined on the destination surface
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMStretchBltROP entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- if (pOemPDEV->bPreAnalysis)
- {
- VERBOSE(TEXT("OEMStretchBltROP: Begin pre-analysis...\r\n"));
-
- // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass.
- // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might
- // differ from the surface passed in during the rendering pass.
-
- // Dump the bounds of the clip window available for pre-analysis.
- DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco);
-
- // Although unidrv calls the hooked drawing functions, it will return before any drawing is done.
- // So we should not perform any drawing on the surface. But all other pre-analysis tasks should
- // be performed here. For example, certain printers need to handle black objects differently if
- // they intersect with any color objects versus being stand alone. Another task could be to halftone
- // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page.
-
- // During the pre-analysis pass, drawing functions should not call back into Unidrv.
- // So we return here.
- VERBOSE(TEXT("OEMStretchBltROP: End pre-analysis...\r\n"));
-
- return TRUE;
- }
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvStretchBltROP)(psoDst,
- psoSrc,
- psoMask,
- pco,
- pxlo,
- pca,
- pptlHTOrg,
- prclDst,
- prclSrc,
- pptlMask,
- iMode,
- pbo,
- rop4);
-}
-
-BOOL APIENTRY
-OEMPlgBlt(
- SURFOBJ *psoDst,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlBrushOrg,
- POINTFIX *pptfixDest,
- RECTL *prclSrc,
- POINTL *pptlMask,
- ULONG iMode
- )
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvPlgBlt.
-
- DrvPlgBlt provides rotate bit-block transfer capabilities between
- combinations of device-managed and GDI-managed surfaces.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- psoDst - Defines the surface on which to draw
- psoSrc - Defines the source for blt operation
- psoMask - Defines a surface that provides a mask for the source
- pco - Limits the area to be modified on the Dstination
- pxlo - Specifies how color dwIndexes are to be translated
- between the source and target surfaces
- pca - Defines color adjustment values to be applied to the source bitmap
- pptlBrushOrg - Specifies the origin of the halftone brush
- pptfixDest - Defines the area to be modified on the Dstination surface
- prclSrc - Defines the area to be copied from the source surface
- pptlMask - Specifies which pixel in the given mask corresponds to
- the upper left pixel in the source rectangle
- iMode - Specifies how source pixels are combined to get output pixels
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMPlgBlt entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- if (pOemPDEV->bPreAnalysis)
- {
- VERBOSE(TEXT("OEMPlgBlt: Begin pre-analysis...\r\n"));
-
- // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass.
- // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might
- // differ from the surface passed in during the rendering pass.
-
- // Dump the bounds of the clip window available for pre-analysis.
- DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco);
-
- // Although unidrv calls the hooked drawing functions, it will return before any drawing is done.
- // So we should not perform any drawing on the surface. But all other pre-analysis tasks should
- // be performed here. For example, certain printers need to handle black objects differently if
- // they intersect with any color objects versus being stand alone. Another task could be to halftone
- // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page.
-
- // During the pre-analysis pass, drawing functions should not call back into Unidrv.
- // So we return here.
- VERBOSE(TEXT("OEMPlgBlt: End pre-analysis...\r\n"));
-
- return TRUE;
- }
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvPlgBlt)(psoDst,
- psoSrc,
- psoMask,
- pco,
- pxlo,
- pca,
- pptlBrushOrg,
- pptfixDest,
- prclSrc,
- pptlMask,
- iMode);
-}
-
-BOOL APIENTRY
-OEMPaint(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- MIX mix
- )
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvPaint.
-
- DrvPaint is an obsolete function.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface on which to draw
- pco - Limits the area to be modified on the Dstination
- pbo - Points to a BRUSHOBJ which defined the pattern and colors to fill with
- pptlBrushOrg - Specifies the origin of the halftone brush
- mix - Defines the foreground and background raster operations to use for
- the brush
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMPaint entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- if (pOemPDEV->bPreAnalysis)
- {
- VERBOSE(TEXT("OEMPaint: Begin pre-analysis...\r\n"));
-
- // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass.
- // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might
- // differ from the surface passed in during the rendering pass.
-
- // Dump the bounds of the clip window available for pre-analysis.
- DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco);
-
- // Although unidrv calls the hooked drawing functions, it will return before any drawing is done.
- // So we should not perform any drawing on the surface. But all other pre-analysis tasks should
- // be performed here. For example, certain printers need to handle black objects differently if
- // they intersect with any color objects versus being stand alone. Another task could be to halftone
- // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page.
-
- // During the pre-analysis pass, drawing functions should not call back into Unidrv.
- // So we return here.
- VERBOSE(TEXT("OEMPaint: End pre-analysis...\r\n"));
-
- return TRUE;
- }
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvPaint)(pso,
- pco,
- pbo,
- pptlBrushOrg,
- mix);
-}
-
-BOOL APIENTRY
-OEMRealizeBrush(
- BRUSHOBJ *pbo,
- SURFOBJ *psoTarget,
- SURFOBJ *psoPattern,
- SURFOBJ *psoMask,
- XLATEOBJ *pxlo,
- ULONG iHatch
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvRealizeBrush.
-
- DrvRealizeBrush requests that the driver realize a specified brush
- for a specified surface. To realize a brush, the driver converts a
- GDI brush into a form that can be used internally. A realized brush
- contains device-specific information needed by the device to
- accelerate drawing using the brush. The driver's realization of a brush
- is written into the buffer allocated by a call to BRUSHOBJ_pvAllocRBrush.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pbo - BRUSHOBJ to be realized
- psoTarget - Defines the surface for which the brush is to be realized
- psoPattern - Defines the pattern for the brush
- psoMask - Transparency mask for the brush
- pxlo - Defines the interpretration of colors in the pattern
- iHatch - Specifies whether psoPattern is one of the hatch brushes
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMRealizeBrush entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)psoTarget->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvRealizeBrush)(pbo,
- psoTarget,
- psoPattern,
- psoMask,
- pxlo,
- iHatch);
-}
-
-BOOL APIENTRY
-OEMStrokePath(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- XFORMOBJ *pxo,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- LINEATTRS *plineattrs,
- MIX mix
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvStrokePath.
-
- DrvStrokePath strokes a path when called by GDI.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Identifies the surface on which to draw
- ppo - Defines the path to be stroked
- pco - Defines the clipping path
- pxo - Specifies the world to device coordinate transformation
- pbo - Specifies the brush to be used when drawing the path
- pptlBrushOrg - Defines the brush origin
- plineattrs - Defines the line attributes
- mix - Specifies how to combine the brush with the destination
-
-Return Value:
-
- TRUE if successful
- FALSE if driver cannot handle the path
- DDI_ERROR if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMStrokePath entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- if (pOemPDEV->bPreAnalysis)
- {
- VERBOSE(TEXT("OEMStrokePath: Begin pre-analysis...\r\n"));
-
- // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass.
- // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might
- // differ from the surface passed in during the rendering pass.
-
- // Dump the bounds of the clip window available for pre-analysis.
- DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco);
-
- // Although unidrv calls the hooked drawing functions, it will return before any drawing is done.
- // So we should not perform any drawing on the surface. But all other pre-analysis tasks should
- // be performed here. For example, certain printers need to handle black objects differently if
- // they intersect with any color objects versus being stand alone. Another task could be to halftone
- // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page.
-
- // During the pre-analysis pass, drawing functions should not call back into Unidrv.
- // So we return here.
- VERBOSE(TEXT("OEMStrokePath: End pre-analysis...\r\n"));
-
- return TRUE;
- }
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvStrokePath)(pso,
- ppo,
- pco,
- pxo,
- pbo,
- pptlBrushOrg,
- plineattrs,
- mix);
-}
-
-BOOL APIENTRY
-OEMFillPath(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- MIX mix,
- FLONG flOptions
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvFillPath.
-
- DrvFillPath is an optional entry point to handle the filling of closed paths.
- GDI can call DrvFillPath to fill a path on a device-managed surface.
- When deciding whether to call this function, GDI compares the fill
- requirements with the following flags in the flGraphicsCaps member of
- the DEVINFO structure: GCAPS_BEZIERS, GCAPS_ALTERNATEFILL,
- and GCAPS_WINDINGFILL.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface on which to draw.
- ppo - Defines the path to be filled
- pco - Defines the clipping path
- pbo - Defines the pattern and colors to fill with
- pptlBrushOrg - Defines the brush origin
- mix - Defines the foreground and background ROPs to use for the brush
- flOptions - Whether to use zero-winding or odd-even rule
-
-Return Value:
-
- TRUE if successful
- FALSE if driver cannot handle the path
- DDI_ERROR if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMFillPath entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- if (pOemPDEV->bPreAnalysis)
- {
- VERBOSE(TEXT("OEMFillPath: Begin pre-analysis...\r\n"));
-
- // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass.
- // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might
- // differ from the surface passed in during the rendering pass.
-
- // Dump the bounds of the clip window available for pre-analysis.
- DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco);
-
- // Although unidrv calls the hooked drawing functions, it will return before any drawing is done.
- // So we should not perform any drawing on the surface. But all other pre-analysis tasks should
- // be performed here. For example, certain printers need to handle black objects differently if
- // they intersect with any color objects versus being stand alone. Another task could be to halftone
- // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page.
-
- // During the pre-analysis pass, drawing functions should not call back into Unidrv.
- // So we return here.
- VERBOSE(TEXT("OEMFillPath: End pre-analysis...\r\n"));
-
- return TRUE;
- }
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvFillPath)(pso,
- ppo,
- pco,
- pbo,
- pptlBrushOrg,
- mix,
- flOptions);
-}
-
-BOOL APIENTRY
-OEMStrokeAndFillPath(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- XFORMOBJ *pxo,
- BRUSHOBJ *pboStroke,
- LINEATTRS *plineattrs,
- BRUSHOBJ *pboFill,
- POINTL *pptlBrushOrg,
- MIX mixFill,
- FLONG flOptions
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvStrokeAndFillPath.
-
- DrvStrokeAndFillPath strokes and fills a path concurrently.
- The driver can return FALSE if the path or the clipping is too
- complex for the device to handle; in that case, GDI converts
- to a simpler call. For example, if the device driver has set the
- GCAPS_BEZIERS flag in the flGraphicsCaps member of the
- DEVINFO structure and then receives a path with Bezier curves,
- it can return FALSE; GDI will then convert the Bezier curves to
- lines and call DrvStrokeAndFillPath again. If the device driver
- returns FALSE again, GDI will further simplify the call, making
- calls to DrvStrokePath and DrvFillPath, or to DrvBitBlt, depending
- on the mix and width of the lines making up the path.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Describes the surface on which to draw
- ppo - Describes the path to be filled
- pco - Defines the clipping path
- pxo - Specifies the world to device coordinate transformation
- pboStroke - Specifies the brush to use when stroking the path
- plineattrs - Specifies the line attributes
- pboFill - Specifies the brush to use when filling the path
- pptlBrushOrg - Specifies the brush origin for both brushes
- mixFill - Specifies the foreground and background ROPs to use
- for the fill brush
- flOptions - Whether to use zero-winding or odd-even rule
-
-Return Value:
-
- TRUE if successful
- FALSE if driver cannot handle the path
- DDI_ERROR if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMStrokeAndFillPath entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- if (pOemPDEV->bPreAnalysis)
- {
- VERBOSE(TEXT("OEMStrokeAndFillPath: Begin pre-analysis...\r\n"));
-
- // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass.
- // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might
- // differ from the surface passed in during the rendering pass.
-
- // Dump the bounds of the clip window available for pre-analysis.
- DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco);
-
- // Although unidrv calls the hooked drawing functions, it will return before any drawing is done.
- // So we should not perform any drawing on the surface. But all other pre-analysis tasks should
- // be performed here. For example, certain printers need to handle black objects differently if
- // they intersect with any color objects versus being stand alone. Another task could be to halftone
- // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page.
-
- // During the pre-analysis pass, drawing functions should not call back into Unidrv.
- // So we return here.
- VERBOSE(TEXT("OEMStrokeAndFillPath: End pre-analysis...\r\n"));
-
- return TRUE;
- }
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvStrokeAndFillPath)(pso,
- ppo,
- pco,
- pxo,
- pboStroke,
- plineattrs,
- pboFill,
- pptlBrushOrg,
- mixFill,
- flOptions);
-}
-
-BOOL APIENTRY
-OEMLineTo(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- LONG x1,
- LONG y1,
- LONG x2,
- LONG y2,
- RECTL *prclBounds,
- MIX mix
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvLineTo.
-
- DrvLineTo draws a single, solid, integer-only cosmetic line.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Describes the surface on which to draw
- pco - Defines the clipping path
- pbo - Defines the brush used to draw the line
- x1,y1 - Specifies the line's starting point
- x2,y2 - Specifies the line's ending point
- prclBounds - Defines a rectangle that bounds the unclipped line.
- mix - Specifies the foreground and background ROP
-
-Return Value:
-
- TRUE if successful
- FALSE if driver cannot handle the path
- DDI_ERROR if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMLineTo entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- if (pOemPDEV->bPreAnalysis)
- {
- VERBOSE(TEXT("OEMLineTo: Begin pre-analysis...\r\n"));
-
- // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass.
- // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might
- // differ from the surface passed in during the rendering pass.
-
- // Dump the bounds of the clip window available for pre-analysis.
- DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco);
-
- // Although unidrv calls the hooked drawing functions, it will return before any drawing is done.
- // So we should not perform any drawing on the surface. But all other pre-analysis tasks should
- // be performed here. For example, certain printers need to handle black objects differently if
- // they intersect with any color objects versus being stand alone. Another task could be to halftone
- // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page.
-
- // During the pre-analysis pass, drawing functions should not call back into Unidrv.
- // So we return here.
- VERBOSE(TEXT("OEMLineTo: End pre-analysis...\r\n"));
-
- return TRUE;
- }
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvLineTo)(pso,
- pco,
- pbo,
- x1,
- y1,
- x2,
- y2,
- prclBounds,
- mix);
-}
-
-BOOL APIENTRY
-OEMAlphaBlend(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDest,
- RECTL *prclSrc,
- BLENDOBJ *pBlendObj
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvAlphaBlend.
-
- DrvAlphaBlend provides bit-block transfer capabilities with alpha blending.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- psoDest - Defines the surface on which to draw
- psoSrc - Defines the source
- pco - Limits the area to be modified on the Destination
- pxlo - Specifies how color dwIndexes are to be translated
- between the source and target surfaces
- prclDest - Defines the area to be modified on the Destination surface
- prclSrc - Defines the area to be copied from the source surface
- BlendFunction - Specifies the blend function to be used
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMAlphaBlend entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)psoDest->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- if (pOemPDEV->bPreAnalysis)
- {
- VERBOSE(TEXT("OEMAlphaBlend: Begin pre-analysis...\r\n"));
-
- // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass.
- // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might
- // differ from the surface passed in during the rendering pass.
-
- // Dump the bounds of the clip window available for pre-analysis.
- DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco);
-
- // Although unidrv calls the hooked drawing functions, it will return before any drawing is done.
- // So we should not perform any drawing on the surface. But all other pre-analysis tasks should
- // be performed here. For example, certain printers need to handle black objects differently if
- // they intersect with any color objects versus being stand alone. Another task could be to halftone
- // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page.
-
- // During the pre-analysis pass, drawing functions should not call back into Unidrv.
- // So we return here.
- VERBOSE(TEXT("OEMAlphaBlend: End pre-analysis...\r\n"));
-
- return TRUE;
- }
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvAlphaBlend)(psoDest,
- psoSrc,
- pco,
- pxlo,
- prclDest,
- prclSrc,
- pBlendObj);
-}
-
-BOOL APIENTRY
-OEMGradientFill(
- SURFOBJ *psoDest,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- TRIVERTEX *pVertex,
- ULONG nVertex,
- PVOID pMesh,
- ULONG nMesh,
- RECTL *prclExtents,
- POINTL *pptlDitherOrg,
- ULONG ulMode
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvGradientFill.
-
- DrvGradientFill shades the specified primitives.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- psoDest - Defines the surface on which to draw
- pco - Limits the area to be modified on the Destination
- pxlo - Should be ignored by the driver
- pVertex - Pointer to an array of TRIVERTEX structures,
- with each entry containing position and color information
- nVertex - Specifies the number of TRIVERTEX structures in the
- array to which pVertex points
- pMesh - Pointer to an array of structures that define the connectivity
- of the TRIVERTEX elements to which pVertex points
- nMesh - Specifies the number of elements in the array to which
- pMesh points
- prclExtents - Pointer to a RECTL structure that defines the area in
- which the gradient drawing is to occur
- pptlDitherOrg - Pointer to a POINTL structure that defines the origin
- on the surface for dithering
- ulMode - Specifies the current drawing mode and how to interpret
- the array to which pMesh points
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMGradientFill entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)psoDest->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- if (pOemPDEV->bPreAnalysis)
- {
- VERBOSE(TEXT("OEMGradientFill: Begin pre-analysis...\r\n"));
-
- // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass.
- // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might
- // differ from the surface passed in during the rendering pass.
-
- // Dump the bounds of the clip window available for pre-analysis.
- DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco);
-
- // Although unidrv calls the hooked drawing functions, it will return before any drawing is done.
- // So we should not perform any drawing on the surface. But all other pre-analysis tasks should
- // be performed here. For example, certain printers need to handle black objects differently if
- // they intersect with any color objects versus being stand alone. Another task could be to halftone
- // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page.
-
- // During the pre-analysis pass, drawing functions should not call back into Unidrv.
- // So we return here.
- VERBOSE(TEXT("OEMGradientFill: End pre-analysis...\r\n"));
-
- return TRUE;
- }
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvGradientFill)(psoDest,
- pco,
- pxlo,
- pVertex,
- nVertex,
- pMesh,
- nMesh,
- prclExtents,
- pptlDitherOrg,
- ulMode);
-}
-
-BOOL APIENTRY
-OEMTransparentBlt(
- SURFOBJ *psoDst,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDst,
- RECTL *prclSrc,
- ULONG iTransColor,
- ULONG ulReserved
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvTransparentBlt.
-
- DrvTransparentBlt provides bit-block transfer capabilities with
- transparency.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- psoDst - Defines the surface on which to draw
- psoSrc - Defines the source
- pco - Limits the area to be modified on the Destination
- pxlo - Specifies how color dwIndexes are to be translated
- between the source and target surfaces
- prclDst - Defines the area to be modified on the Destination surface
- prclSrc - Defines the area to be copied from the source surface
- iTransColor - Specifies the transparent color
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMTransparentBlt entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- if (pOemPDEV->bPreAnalysis)
- {
- VERBOSE(TEXT("OEMTransparentBlt: Begin pre-analysis...\r\n"));
-
- // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass.
- // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might
- // differ from the surface passed in during the rendering pass.
-
- // Dump the bounds of the clip window available for pre-analysis.
- DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco);
-
- // Although unidrv calls the hooked drawing functions, it will return before any drawing is done.
- // So we should not perform any drawing on the surface. But all other pre-analysis tasks should
- // be performed here. For example, certain printers need to handle black objects differently if
- // they intersect with any color objects versus being stand alone. Another task could be to halftone
- // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page.
-
- // During the pre-analysis pass, drawing functions should not call back into Unidrv.
- // So we return here.
- VERBOSE(TEXT("OEMTransparentBlt: End pre-analysis...\r\n"));
-
- return TRUE;
- }
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvTransparentBlt)(psoDst,
- psoSrc,
- pco,
- pxlo,
- prclDst,
- prclSrc,
- iTransColor,
- ulReserved);
-}
-
-BOOL APIENTRY
-OEMTextOut(
- SURFOBJ *pso,
- STROBJ *pstro,
- FONTOBJ *pfo,
- CLIPOBJ *pco,
- RECTL *prclExtra,
- RECTL *prclOpaque,
- BRUSHOBJ *pboFore,
- BRUSHOBJ *pboOpaque,
- POINTL *pptlOrg,
- MIX mix
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvTextOut.
-
- DrvTextOut is the entry point from GDI that calls for the
- driver to render a set of glyphs at specified positions.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface on which to be written.
- pstro - Defines the glyphs to be rendered and their positions
- pfo - Specifies the font to be used
- pco - Defines the clipping path
- prclExtra - A NULL-terminated array of rectangles to be filled
- prclOpaque - Specifies an opaque rectangle
- pboFore - Defines the foreground brush
- pboOpaque - Defines the opaque brush
- pptlOrg - Pointer to POINT struct , defining th origin
- mix - Specifies the foreground and background ROPs for pboFore
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMTextOut entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- DBG_SURFOBJ(DBG_VERBOSE, L"pso", pso);
- DBG_STROBJ(DBG_VERBOSE, L"pstro", pstro);
- DBG_FONTOBJ(DBG_VERBOSE, L"pfo", pfo);
- DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco);
- DBG_BRUSHOBJ(DBG_VERBOSE, L"pboFore", pboFore);
- DBG_BRUSHOBJ(DBG_VERBOSE, L"pboOpaque", pboOpaque);
-
- if (pOemPDEV->bPreAnalysis)
- {
- VERBOSE(TEXT("OEMTextOut: Begin pre-analysis...\r\n"));
-
- // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass.
- // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might
- // differ from the surface passed in during the rendering pass.
-
- // Dump the bounds of the clip window available for pre-analysis.
- DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco);
-
- // Although unidrv calls the hooked drawing functions, it will return before any drawing is done.
- // So we should not perform any drawing on the surface. But all other pre-analysis tasks should
- // be performed here. For example, certain printers need to handle black objects differently if
- // they intersect with any color objects versus being stand alone. Another task could be to halftone
- // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page.
-
- // During the pre-analysis pass, drawing functions should not call back into Unidrv.
- // So we return here.
- VERBOSE(TEXT("OEMTextOut: End pre-analysis...\r\n"));
-
- return TRUE;
- }
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvTextOut)(pso,
- pstro,
- pfo,
- pco,
- prclExtra,
- prclOpaque,
- pboFore,
- pboOpaque,
- pptlOrg,
- mix);
-}
-
-PIFIMETRICS APIENTRY
-OEMQueryFont(
- DHPDEV dhpdev,
- ULONG_PTR iFile,
- ULONG iFace,
- ULONG_PTR *pid
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvQueryFont.
-
- DrvQueryFont is used by GDI to get the IFIMETRICS structure
- for a given font.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dhpdev - Driver device handle
- iFile - Identifies the driver font file
- iFace - One-based index of the driver font
- pid - Points to a LONG variable for returning an identifier
- which GDI will pass to DrvFree
-
-Return Value:
-
- Pointer to an IFIMETRICS structure for the given font.
- NULL if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMQueryFont entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvQueryFont)(dhpdev,
- iFile,
- iFace,
- pid);
-}
-
-PVOID APIENTRY
-OEMQueryFontTree(
- DHPDEV dhpdev,
- ULONG_PTR iFile,
- ULONG iFace,
- ULONG iMode,
- ULONG_PTR *pid
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvQueryFontTree.
-
- DrvQueryFontTree provides GDI with a pointer to a structure that
- defines one of the following:
- - A mapping from Unicode to glyph handles, including glyph variants
- - A mapping of kerning pairs to kerning handles
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dhpdev - Driver device handle
- iFile - Identifies the driver font file
- iFace - One-based index of the driver font
- iMode - Specifies the type of information to be provided
- pid - Points to a LONG variable for returning an identifier
- which GDI will pass to DrvFree
-
-Return Value:
-
- Pointer to the structure requested based on iMode.
- NULL if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMQueryFontTree entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvQueryFontTree)(dhpdev,
- iFile,
- iFace,
- iMode,
- pid);
-}
-
-LONG APIENTRY
-OEMQueryFontData(
- DHPDEV dhpdev,
- FONTOBJ *pfo,
- ULONG iMode,
- HGLYPH hg,
- GLYPHDATA *pgd,
- _Out_writes_bytes_(cjSize) PVOID pv,
- ULONG cjSize
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvQueryFontData.
-
- DrvQueryFontData retrieves information about a realized font.
- GDI provides a pointer to an array of glyph or kerning handles,
- and the driver returns information about the glyphs or kerning
- pairs. The driver can assume that all handles in the array are valid.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dhpdev - Driver device handle
- pfo - Points to a FONTOBJ structure
- iMode - Type of information requested
- hg - A glyph handle
- pgd - Points to a GLYPHDATA structure
- pv - Points to output buffer
- cjSize - Size of output buffer
-
-Return Value:
-
- Depends on iMode. FD_ERROR if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMQueryFontData entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvQueryFontData)(dhpdev,
- pfo,
- iMode,
- hg,
- pgd,
- pv,
- cjSize);
-}
-
-ULONG APIENTRY
-OEMFontManagement(
- SURFOBJ *pso,
- FONTOBJ *pfo,
- ULONG iMode,
- ULONG cjIn,
- _In_reads_bytes_(cjIn) PVOID pvIn,
- ULONG cjOut,
- _Out_writes_bytes_(cjOut) PVOID pvOut
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvFontManagement.
-
- Is this function valid for Unidrv drivers?
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Points to a SURFOBJ structure
- pfo - Points to a FONTOBJ structure
- iMode - Escape number
- cjIn - Size of input buffer
- pvIn - Points to input buffer
- cjOut - Size of output buffer
- pvOut - Points to output buffer
-
-Return Value:
-
- 0x00000001 to 0x7fffffff for success
- 0x80000000 to 0xffffffff for failure
- 0 if the specified escape number if not supported
-
---*/
-
-{
- VERBOSE(L"OEMFontManagement entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvFontManagement)(pso,
- pfo,
- iMode,
- cjIn,
- pvIn,
- cjOut,
- pvOut);
-}
-
-BOOL APIENTRY
-OEMQueryAdvanceWidths(
- DHPDEV dhpdev,
- FONTOBJ *pfo,
- ULONG iMode,
- _In_reads_(cGlyphs) HGLYPH *phg,
- _Out_writes_bytes_(cGlyphs*sizeof(USHORT)) PVOID pvWidths,
- ULONG cGlyphs
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvQueryAdvanceWidths.
-
- DrvQueryAdvanceWidths returns character advance widths
- for a specified set of glyphs.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dhpdev - Driver device handle
- pfo - Points to a FONTOBJ structure
- iMode - Type of information to be provided
- phg - Points to an array of HGLYPHs for which the driver will
- provide character advance widths
- pvWidths - Points to a buffer for returning width data
- cGlyphs - Number of glyphs in the phg array
-
-Return Value:
-
- Depends on iMode
-
---*/
-
-{
- VERBOSE(L"OEMQueryAdvanceWidths entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvQueryAdvanceWidths)(dhpdev,
- pfo,
- iMode,
- phg,
- pvWidths,
- cGlyphs);
-}
-
-ULONG APIENTRY
-OEMGetGlyphMode(
- DHPDEV dhpdev,
- FONTOBJ *pfo
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvGetGlyphMode.
-
- DrvGetGlyphMode tells GDI how to cache glyph information.
- GDI calls a driver's DrvGetGlyphMode routine to determine the
- range of font information that should be cached for a particular
- font; that is, DrvGetGlyphMode determines what GDI stores in
- its font cache. A device that caches fonts on its own should return
- FO_HGLYPHS to minimize the storage requirements for the font.
- GDI calls DrvGetGlyphMode for each font realization. For example,
- a driver might want to download outlines for point sizes larger than
- 12 point, but raster images for smaller fonts. However, GDI reserves
- the right to refuse this request.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dhpdev - Driver device handle
- pfo - Points to a FONTOBJ structure
-
-Return Value:
-
- The glyph mode or FO_GLYPHMODE, which is the default.
-
---*/
-
-{
- VERBOSE(L"OEMGetGlyphMode entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvGetGlyphMode)(dhpdev,
- pfo);
-}
-
-BOOL APIENTRY
-OEMStartDoc(
- SURFOBJ *pso,
- _In_ PWSTR pwszDocName,
- DWORD dwJobId
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvStartDoc.
-
- DrvStartDoc is called by GDI when it is ready to
- start sending a document to the driver for rendering.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface object
- pDocName - Specifies a Unicode document name
- jobId - Identifies the print job
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMStartDoc entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvStartDoc)(pso,
- pwszDocName,
- dwJobId);
-}
-
-BOOL APIENTRY
-OEMEndDoc(
- SURFOBJ *pso,
- FLONG fl
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvEndDoc.
-
- DrvEndDoc is called by GDI when it has finished
- sending a document to the driver for rendering.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface object
- flags - A set of flag bits
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMEndDoc entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvEndDoc)(pso,
- fl);
-}
-
-BOOL APIENTRY
-OEMStartPage(
- SURFOBJ *pso
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvStartPage.
-
- DrvStartPage is called by GDI when it is ready to
- start sending the contents of a physical page to the
- driver for rendering.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface object
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMStartPage entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvStartPage)(pso);
-}
-
-BOOL APIENTRY
-OEMSendPage(
- SURFOBJ *pso
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvSendPage.
-
- DrvSendPage is called by GDI when it has finished
- drawing a physical page, so the driver can send
- the page to the printer.
-
- Please refer to DDK documentation for more details.
-
- NOTE: OEMSendPage will not be called in any driver that enables
- pre-analysis. But the reason we implement this is that the driver
- might be pushed to a down-level client and thereby have to run
- without pre-analysis support. In this case, it might have to support
- OEMSendPage.
-
-Arguments:
-
- pso - Defines the surface object
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMSendPage entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvSendPage)(pso);
-}
-
-BOOL APIENTRY
-OEMStartBanding(
- SURFOBJ *pso,
- POINTL *pptl
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvStartBanding.
-
- DrvStartBanding is called by GDI when it is ready to start
- sending bands of a physical page to the driver for rendering.
- Note: DrvStartBanding is called to prepare the driver
- for banding, call only once per page (not at everyband!!)
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface object
- pptl - Pointer to origin of next band (to return to GDI)
-
-Return Value:
-
- Fill out pptl to contain the origin of the first band
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMStartBanding entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- DBG_POINTL(DBG_VERBOSE, L"pptl", pptl);
-
- if (pptl == NULL)
- {
- VERBOSE(TEXT("OEMStartBanding: Start of OEM Pre-analysis pass...\r\n"));
- VERBOSE(TEXT("\tOEM Pre-analysis pass...no drawing on surface in this pass.\r\n"));
- pOemPDEV->bPreAnalysis = TRUE;
- }
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvStartBanding)(pso,
- pptl);
-}
-
-BOOL APIENTRY
-OEMNextBand(
- SURFOBJ *pso,
- POINTL *pptl
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvNextBand.
-
- DrvNextBand is called by GDI when it has finished
- drawing a band for a physical page, so the driver
- can send the band to the printer.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface object
- pptl - Pointer to origin of next band (to return to GDI)
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE(L"OEMNextBand entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- DBG_POINTL(DBG_VERBOSE, L"pptl", pptl);
-
- if (pOemPDEV->bPreAnalysis)
- {
- //
- // First call into OEMNextBand indicates end of pre-analysis path.
- //
- VERBOSE(TEXT("OEMNextBand: End of OEM Pre-analysis pass...\r\n"));
- pOemPDEV->bPreAnalysis = FALSE;
- }
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvNextBand)(pso,
- pptl);
-}
-
-ULONG APIENTRY
-OEMEscape(
- SURFOBJ *pso,
- ULONG iEsc,
- ULONG cjIn,
- _In_reads_bytes_(cjIn) PVOID pvIn,
- ULONG cjOut,
- _Out_writes_bytes_(cjOut) PVOID pvOut
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI entry point DrvEscape.
-
- DrvEscape is used for retrieving information from a device
- that is not available in a device-independent device driver
- interface; the particular query depends on the value of the
- iEsc parameter.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Describes the surface the call is directed to
- iEsc - Specifies a query
- cjIn - Specifies the size in bytes of the buffer pointed to by pvIn
- pvIn - Points to input data buffer
- cjOut - Specifies the size in bytes of the buffer pointed to by pvOut
- pvOut - Points to the output buffer
-
-Return Value:
-
- Depends on the query specified by iEsc parameter.
-
- Zero if the function specified by the query is not supported.
-
---*/
-
-{
- VERBOSE(L"OEMEscape entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvEscape)(pso,
- iEsc,
- cjIn,
- pvIn,
- cjOut,
- pvOut);
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/debug.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/debug.cpp
deleted file mode 100644
index f1807066..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/debug.cpp
+++ /dev/null
@@ -1,1503 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Debug.cpp
-//
-// PURPOSE: Implementation of the debug functions.
-//
-//
-// History:
-// 06/28/03 xxx created.
-//
-//
-
-#include "precomp.h"
-#include "debug.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-////////////////////////////////////////////////////////
-// INTERNAL DEFINES
-////////////////////////////////////////////////////////
-
-#define DEBUG_BUFFER_SIZE 1024
-#define PATH_SEPARATOR '\\'
-
-////////////////////////////////////////////////////////
-// EXTERNAL GLOBALS
-////////////////////////////////////////////////////////
-
-#ifdef DBG
-
-INT giDebugLevel = DEBUG_LEVEL;
-
-
-PCWSTR
-EnsureLabel(
- _In_opt_ PCWSTR pszInLabel,
- _In_ PCWSTR pszDefLabel
- )
-
-/*++
-
-Routine Description:
-
- This function checks if pszInLabel is valid. If not, it returns
- pszDefLabel else pszInLabel is returned.
-
-Arguments:
-
- pszInLabel - custom label string passed in with the call to the dump function
- pszDefLabel - default label string in case custom label string is not valid
-
-Return Value:
-
- pszInLabel if it is valid, else pszDefLabel
-
---*/
-
-{
- // By design, pszDefLabel is assumed to be a valid, non-empty
- // string (since it is supplied internally).
- //
- if (!pszInLabel || !*pszInLabel)
- {
- // The caller supplied a NULL string or empty string;
- // supply the internal default.
- //
- return pszDefLabel;
- }
-
- return pszInLabel;
-}
-
-BOOL OEMDebugMessage(
- LPCWSTR lpszMessage,
- ...
- )
-
-/*++
-
-Routine Description:
-
- Outputs variable argument debug string.
-
-Arguments:
-
- dwSize - size of temp buffer to hold formatted string
- lpszMessage - format string
- arglist - Variable argument list...
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- va_list VAList;
- HRESULT hResult;
-
- // Parameter checking.
- if( NULL == lpszMessage)
- {
- return FALSE;
- }
-
- LPWSTR lpszMsgBuf = new WCHAR[DEBUG_BUFFER_SIZE];
- if(NULL == lpszMsgBuf)
- return FALSE;
-
- va_start(VAList, lpszMessage);
- // Pass the variable parameters to wvsprintf to be formatted.
- hResult = StringCchVPrintfW(lpszMsgBuf, DEBUG_BUFFER_SIZE, lpszMessage, VAList);
- va_end(VAList);
-
- // Dump string to debug output.
- OutputDebugStringW(lpszMsgBuf);
-
- // Clean up.
- delete[] lpszMsgBuf;
-
- return SUCCEEDED(hResult);
-}
-
-PCSTR
-StripDirPrefixA(
- IN PCSTR pstrFilename
- )
-
-/*++
-
-Routine Description:
-
- Strip the directory prefix off a filename (ANSI version)
-
-Arguments:
-
- pstrFilename - Pointer to filename string
-
-Return Value:
-
- Pointer to the last component of a filename (without directory prefix)
-
---*/
-
-{
- PCSTR pstr;
-
- pstr = strrchr(pstrFilename, PATH_SEPARATOR);
- if (pstr)
- return pstr + 1;
-
- return pstrFilename;
-}
-
-void
-vDumpFlags(
- DWORD dwFlags,
- PDBG_FLAGS pDebugFlags
- )
-
-/*++
-
-Routine Description:
-
- Dumps the combination of flags in members such as
- pso->fjBitmap, pstro->flAccel, pfo->flFontType etc.
-
-Arguments:
-
- dwFlags - combined value of the relevant member
- Example values are pso->fjBitmap, pstro->flAccel
- pDebugFlags - structure containing the different possible values
- that can be combined in dwFlags
-
-Return Value:
-
- NONE
-
---*/
-
-{
- DWORD dwFound = 0;
- BOOL bFirstFlag = FALSE;
-
- OEMDebugMessage(L"%#x [", dwFlags);
-
- // Traverse through the list of flags to see if any match
- //
- for ( ; pDebugFlags->dwFlag; ++pDebugFlags)
- {
- if(dwFlags & pDebugFlags->dwFlag)
- {
- if (!bFirstFlag)
- {
- OEMDebugMessage(L"%s", pDebugFlags->pszFlag);
- bFirstFlag = TRUE;
- }
- else
- {
- OEMDebugMessage(L" | %s", pDebugFlags->pszFlag);
- }
- dwFound |= pDebugFlags->dwFlag;
- }
- }
-
- OEMDebugMessage(L"]");
-
- //
- // Check if there are extra bits set that we don't understand.
- //
- if(dwFound != dwFlags)
- {
- OEMDebugMessage(L" <ExtraBits: %x>", dwFlags & ~dwFound);
- }
-
- OEMDebugMessage(L"\r\n");
-}
-
-void
-vDumpOemDMParam(
- INT iDebugLevel,
- _In_ PWSTR pszInLabel,
- POEMDMPARAM pOemDMParam
- )
-
-/*++
-
-Routine Description:
-
- Dumps the members of a OEMDMPARAM structure.
-
-Arguments:
-
- iDebugLevel - desired output debug level
- pszInLabel - output label string
- pOemDMParam - pointer to the OEMDMPARAM strct to be dumped
-
-Return Value:
-
- NONE
-
---*/
-
-{
- // Check if the debug level is appropriate
- //
- if (iDebugLevel < giDebugLevel)
- {
- // Nothing to output here
- //
- return;
- }
-
- // Prepare the label string
- //
- PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pOemDMParam");
-
- // Return if strct to be dumped is invalid
- //
- if (!pOemDMParam)
- {
- OEMDebugMessage(L"\npOemDMParam [%s]: NULL\r\n", pszLabel);
-
- // Nothing else to output
- //
- return;
- }
-
- // Format the data
- //
- OEMDebugMessage(L"\npOemDMParam [%s]: %#x\r\n", pszLabel, pOemDMParam);
- OEMDebugMessage(L"\tcbSize = %d\r\n", pOemDMParam->cbSize);
- OEMDebugMessage(L"\tpdriverobj = %#x\r\n", pOemDMParam->pdriverobj);
- OEMDebugMessage(L"\thPrinter = %#x\r\n", pOemDMParam->hPrinter);
- OEMDebugMessage(L"\thModule = %#x\r\n", pOemDMParam->hModule);
- OEMDebugMessage(L"\tpPublicDMIn = %#x\r\n", pOemDMParam->pPublicDMIn);
- OEMDebugMessage(L"\tpPublicDMOut = %#x\r\n", pOemDMParam->pPublicDMOut);
- OEMDebugMessage(L"\tpOEMDMIn = %#x\r\n", pOemDMParam->pOEMDMIn);
- OEMDebugMessage(L"\tpOEMDMOut = %#x\r\n", pOemDMParam->pOEMDMOut);
- OEMDebugMessage(L"\tcbBufSize = %d\r\n", pOemDMParam->cbBufSize);
-
- OEMDebugMessage(L"\n");
-
-}
-
-#if DBG
- DBG_FLAGS gafdSURFOBJ_fjBitmap[] = {
- { L"BMF_TOPDOWN", BMF_TOPDOWN},
- { L"BMF_NOZEROINIT", BMF_NOZEROINIT},
- { L"BMF_DONTCACHE", BMF_DONTCACHE},
- { L"BMF_USERMEM", BMF_USERMEM},
- { L"BMF_KMSECTION", BMF_KMSECTION},
- { L"BMF_NOTSYSMEM", BMF_NOTSYSMEM},
- { L"BMF_WINDOW_BLT", BMF_WINDOW_BLT},
- {NULL, 0} // The NULL entry is important
-// { L"BMF_UMPDMEM", BMF_UMPDMEM},
-// { L"BMF_RESERVED", BMF_RESERVED},
- };
-#else
- DBG_FLAGS gafdSURFOBJ_fjBitmap[] = {
- {NULL, 0}
- };
-#endif
-
-void
-vDumpSURFOBJ(
- INT iDebugLevel,
- _In_ PWSTR pszInLabel,
- SURFOBJ *pso
- )
-
-/*++
-
-Routine Description:
-
- Dumps the members of a SURFOBJ structure.
-
-Arguments:
-
- iDebugLevel - desired output debug level
- pszInLabel - output label string
- pso - pointer to the SURFOBJ strct to be dumped
-
-Return Value:
-
- NONE
-
---*/
-
-{
- // Check if the debug level is appropriate
- //
- if (iDebugLevel < giDebugLevel)
- {
- // Nothing to output here
- //
- return;
- }
-
- // Prepare the label string
- //
- PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pso");
-
- // Return if strct to be dumped is invalid
- //
- if (!pso)
- {
- OEMDebugMessage(L"\nSURFOBJ [%s]: NULL\r\n", pszLabel);
-
- // Nothing else to output
- //
- return;
- }
-
- // Format the data
- //
- OEMDebugMessage(L"\nSURFOBJ [%s]: %#x\r\n", pszLabel, pso);
- OEMDebugMessage(L"\tdhSurf: %#x\r\n", pso->dhsurf);
- OEMDebugMessage(L"\thSurf: %#x\r\n", pso->hsurf);
- OEMDebugMessage(L"\tdhpdev: %#x\r\n", pso->dhpdev);
- OEMDebugMessage(L"\thdev: %#x\r\n", pso->hdev);
- OEMDebugMessage(L"\tsizlBitmap: [%ld x %ld]\r\n", pso->sizlBitmap.cx, pso->sizlBitmap.cy);
- OEMDebugMessage(L"\tcjBits: %ld\r\n", pso->cjBits);
- OEMDebugMessage(L"\tpvBits: %#x\r\n", pso->pvBits);
- OEMDebugMessage(L"\tpvScan0: %#x\r\n", pso->pvScan0);
- OEMDebugMessage(L"\tlDelta: %ld\r\n", pso->lDelta);
- OEMDebugMessage(L"\tiUniq: %ld\r\n", pso->iUniq);
-
- PWSTR psziBitmapFormat = L"0";
- switch (pso->iBitmapFormat)
- {
- case BMF_1BPP : psziBitmapFormat = L"BMF_1BPP" ; break;
- case BMF_4BPP : psziBitmapFormat = L"BMF_4BPP" ; break;
- case BMF_8BPP : psziBitmapFormat = L"BMF_8BPP" ; break;
- case BMF_16BPP: psziBitmapFormat = L"BMF_16BPP"; break;
- case BMF_24BPP: psziBitmapFormat = L"BMF_24BPP"; break;
- case BMF_32BPP: psziBitmapFormat = L"BMF_32BPP"; break;
- case BMF_4RLE : psziBitmapFormat = L"BMF_4RLE" ; break;
- case BMF_8RLE : psziBitmapFormat = L"BMF_8RLE" ; break;
- case BMF_JPEG : psziBitmapFormat = L"BMF_JPEG" ; break;
- case BMF_PNG : psziBitmapFormat = L"BMF_PNG " ; break;
- }
- OEMDebugMessage(L"\tiBitmapFormat: %s\r\n", psziBitmapFormat);
-
- PWSTR psziType = L"0";
- switch (pso->iType)
- {
- case STYPE_BITMAP : psziType = L"STYPE_BITMAP" ; break;
- case STYPE_DEVBITMAP: psziType = L"STYPE_DEVBITMAP"; break;
- case STYPE_DEVICE : psziType = L"STYPE_DEVICE" ; break;
- }
- OEMDebugMessage(L"\tiType: %s\r\n", psziType);
-
- OEMDebugMessage(L"\tfjBitmap: ");
- if (STYPE_BITMAP == pso->iType)
- vDumpFlags(pso->fjBitmap, gafdSURFOBJ_fjBitmap);
- else
- OEMDebugMessage(L"IGNORE\r\n");
-
- OEMDebugMessage(L"\n");
-
-}
-
-#if DBG
- DBG_FLAGS gafdSTROBJ_flAccel[] = {
- { L"SO_FLAG_DEFAULT_PLACEMENT", SO_FLAG_DEFAULT_PLACEMENT},
- { L"SO_HORIZONTAL", SO_HORIZONTAL},
- { L"SO_VERTICAL", SO_VERTICAL},
- { L"SO_REVERSED", SO_REVERSED},
- { L"SO_ZERO_BEARINGS", SO_ZERO_BEARINGS},
- { L"SO_CHAR_INC_EQUAL_BM_BASE", SO_CHAR_INC_EQUAL_BM_BASE},
- { L"SO_MAXEXT_EQUAL_BM_SIDE", SO_MAXEXT_EQUAL_BM_SIDE},
- { L"SO_DO_NOT_SUBSTITUTE_DEVICE_FONT", SO_DO_NOT_SUBSTITUTE_DEVICE_FONT},
- { L"SO_GLYPHINDEX_TEXTOUT", SO_GLYPHINDEX_TEXTOUT},
- { L"SO_ESC_NOT_ORIENT", SO_ESC_NOT_ORIENT},
- { L"SO_DXDY", SO_DXDY},
- { L"SO_CHARACTER_EXTRA", SO_CHARACTER_EXTRA},
- { L"SO_BREAK_EXTRA", SO_BREAK_EXTRA},
- {NULL, 0} // The NULL entry is important
- };
-#else
- DBG_FLAGS gafdSTROBJ_flAccel[] = {
- {NULL, 0}
- };
-#endif
-
-void
-vDumpSTROBJ(
- INT iDebugLevel,
- _In_ PWSTR pszInLabel,
- STROBJ *pstro
- )
-
-/*++
-
-Routine Description:
-
- Dumps the members of a STROBJ structure.
-
-Arguments:
-
- iDebugLevel - desired output debug level
- pszInLabel - output label string
- pstro - pointer to the STROBJ strct to be dumped
-
-Return Value:
-
- NONE
-
---*/
-
-{
- // Check if the debug level is appropriate
- //
- if (iDebugLevel < giDebugLevel)
- {
- // Nothing to output here
- //
- return;
- }
-
- // Prepare the label string
- //
- PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pstro");
-
- // Return if strct to be dumped is invalid
- //
- if (!pstro)
- {
- OEMDebugMessage(L"\nSTROBJ [%s]: NULL\r\n", pszLabel);
-
- // Nothing else to output
- //
- return;
- }
-
- // Format the data
- //
- OEMDebugMessage(L"\nSTROBJ [%s]: %#x\r\n", pszLabel, pstro);
- OEMDebugMessage(L"\tcGlyphs: %ld\r\n", pstro->cGlyphs);
- OEMDebugMessage(L"\tflAccel: ");
- vDumpFlags(pstro->flAccel, gafdSTROBJ_flAccel);
- OEMDebugMessage(L"\tulCharInc: %ld\r\n", pstro->ulCharInc);
- OEMDebugMessage(L"\trclBkGround: (%ld, %ld) (%ld, %ld)\r\n", pstro->rclBkGround.left, pstro->rclBkGround.top, pstro->rclBkGround.right, pstro->rclBkGround.bottom);
- if (!pstro->pgp)
- OEMDebugMessage(L"\tpgp: NULL\r\n");
- else
- OEMDebugMessage(L"\tpgp: %#x\r\n", pstro->pgp);
- OEMDebugMessage(L"\tpwszOrg: \"%s\"\r\n", pstro->pwszOrg);
-
- OEMDebugMessage(L"\n");
-
-}
-
-#if DBG
- DBG_FLAGS gafdFONTOBJ_flFontType[] = {
- { L"FO_TYPE_RASTER", FO_TYPE_RASTER},
- { L"FO_TYPE_DEVICE", FO_TYPE_DEVICE},
- { L"FO_TYPE_TRUETYPE", FO_TYPE_TRUETYPE},
- { L"FO_TYPE_OPENTYPE", 0x8},
- { L"FO_SIM_BOLD", FO_SIM_BOLD},
- { L"FO_SIM_ITALIC", FO_SIM_ITALIC},
- { L"FO_EM_HEIGHT", FO_EM_HEIGHT},
- { L"FO_GRAY16", FO_GRAY16},
- { L"FO_NOGRAY16", FO_NOGRAY16},
- { L"FO_CFF", FO_CFF},
- { L"FO_POSTSCRIPT", FO_POSTSCRIPT},
- { L"FO_MULTIPLEMASTER", FO_MULTIPLEMASTER},
- { L"FO_VERT_FACE", FO_VERT_FACE},
- { L"FO_DBCS_FONT", FO_DBCS_FONT},
- {NULL, 0} // The NULL entry is important
- };
-#else
- DBG_FLAGS gafdFONTOBJ_flFontType[] = {
- {NULL, 0}
- };
-#endif
-
-void
-vDumpFONTOBJ(
- INT iDebugLevel,
- _In_ PWSTR pszInLabel,
- FONTOBJ *pfo
- )
-
-/*++
-
-Routine Description:
-
- Dumps the members of a FONTOBJ structure.
-
-Arguments:
-
- iDebugLevel - desired output debug level
- pszInLabel - output label string
- pfo - pointer to the FONTOBJ strct to be dumped
-
-Return Value:
-
- NONE
-
---*/
-
-{
- // Check if the debug level is appropriate
- //
- if (iDebugLevel < giDebugLevel)
- {
- // Nothing to output here
- //
- return;
- }
-
- // Prepare the label string
- //
- PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pfo");
-
- // Return if strct to be dumped is invalid
- //
- if (!pfo)
- {
- OEMDebugMessage(L"\nFONTOBJ [%s]: NULL\r\n", pszLabel);
-
- // Nothing else to output
- //
- return;
- }
-
- // Format the data
- //
- OEMDebugMessage(L"\nFONTOBJ [%s]: %#x\r\n", pszLabel, pfo);
- OEMDebugMessage(L"\tiUniq: %ld\r\n", pfo->iUniq);
- OEMDebugMessage(L"\tiFace: %ld\r\n", pfo->iFace);
- OEMDebugMessage(L"\tcxMax: %ld\r\n", pfo->cxMax);
- OEMDebugMessage(L"\tflFontType: ");
- vDumpFlags(pfo->flFontType, gafdFONTOBJ_flFontType);
- OEMDebugMessage(L"\tiTTUniq: %#x\r\n", pfo->iTTUniq);
- OEMDebugMessage(L"\tiFile: %#x\r\n", pfo->iFile);
- OEMDebugMessage(L"\tsizLogResPpi: [%ld x %ld]\r\n", pfo->sizLogResPpi.cx, pfo->sizLogResPpi.cy);
- OEMDebugMessage(L"\tulStyleSize: %ld\r\n", pfo->ulStyleSize);
- if (!pfo->pvConsumer)
- OEMDebugMessage(L"\tpvConsumer: NULL\r\n");
- else
- OEMDebugMessage(L"\tpvConsumer: %#x\r\n", pfo->pvConsumer);
- if (!pfo->pvProducer)
- OEMDebugMessage(L"\tpvProducer: NULL\r\n");
- else
- OEMDebugMessage(L"\tpvProducer: %#x\r\n", pfo->pvProducer);
-
- OEMDebugMessage(L"\n");
-
-}
-
-void
-vDumpCLIPOBJ(
- INT iDebugLevel,
- _In_ PWSTR pszInLabel,
- CLIPOBJ *pco
- )
-
-/*++
-
-Routine Description:
-
- Dumps the members of a CLIPOBJ structure.
-
-Arguments:
-
- iDebugLevel - desired output debug level
- pszInLabel - output label string
- pco - pointer to the CLIPOBJ strct to be dumped
-
-Return Value:
-
- NONE
-
---*/
-
-{
- // Check if the debug level is appropriate
- //
- if (iDebugLevel < giDebugLevel)
- {
- // Nothing to output here
- //
- return;
- }
-
- // Prepare the label string
- //
- PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pco");
-
- // Return if strct to be dumped is invalid
- //
- if (!pco)
- {
- OEMDebugMessage(L"\nCLIPOBJ [%s]: NULL\r\n", pszLabel);
-
- // Nothing else to output
- //
- return;
- }
-
- // Format the data
- //
- OEMDebugMessage(L"\nCLIPOBJ [%s]: %#x\r\n", pszLabel, pco);
- OEMDebugMessage(L"\tiUniq: %ld\r\n", pco->iUniq);
- OEMDebugMessage(L"\trclBounds: (%ld, %ld) (%ld, %ld)\r\n", pco->rclBounds.left, pco->rclBounds.top, pco->rclBounds.right, pco->rclBounds.bottom);
-
- PWSTR psziDComplexity = L"Unknown iDComplexity.";
- switch (pco->iDComplexity )
- {
- case DC_COMPLEX: psziDComplexity = L"DC_COMPLEX"; break;
- case DC_RECT: psziDComplexity = L"DC_RECT"; break;
- case DC_TRIVIAL: psziDComplexity = L"DC_TRIVIAL"; break;
- }
- OEMDebugMessage(L"\tiDComplexity: %s\r\n", psziDComplexity);
-
- PWSTR psziFComplexity = L"0";
- switch (pco->iFComplexity)
- {
- case FC_COMPLEX: psziFComplexity = L"FC_COMPLEX"; break;
- case FC_RECT: psziFComplexity = L"FC_RECT"; break;
- case FC_RECT4: psziFComplexity = L"FC_RECT4"; break;
- }
- OEMDebugMessage(L"\tiFComplexity: %s\r\n", psziFComplexity);
-
- PWSTR psziMode = L"0";
- switch (pco->iMode)
- {
- case TC_PATHOBJ: psziMode = L"TC_PATHOBJ"; break;
- case TC_RECTANGLES: psziMode = L"TC_RECTANGLES"; break;
- }
- OEMDebugMessage(L"\tiMode: %s\r\n", psziMode);
-
- PWSTR pszfjOptions = L"0";
- switch (pco->fjOptions)
- {
- case OC_BANK_CLIP: pszfjOptions = L"TC_PATHOBJ"; break;
- }
- OEMDebugMessage(L"\tfjOptions: %s\r\n", pszfjOptions);
-
- OEMDebugMessage(L"\n");
-}
-
-#if DBG
- DBG_FLAGS gafdBRUSHOBJ_flColorType[] = {
- { L"BR_CMYKCOLOR", BR_CMYKCOLOR},
- { L"BR_DEVICE_ICM", BR_DEVICE_ICM},
- { L"BR_HOST_ICM", BR_HOST_ICM},
- {NULL, 0} // The NULL entry is important
- };
-#else
- DBG_FLAGS gafdBRUSHOBJ_flColorType[] = {
- {NULL, 0}
- };
-#endif
-
-void
-vDumpBRUSHOBJ(
- INT iDebugLevel,
- _In_ PWSTR pszInLabel,
- BRUSHOBJ *pbo
- )
-
-/*++
-
-Routine Description:
-
- Dumps the members of a BRUSHOBJ structure.
-
-Arguments:
-
- iDebugLevel - desired output debug level
- pszInLabel - output label string
- pbo - pointer to the BRUSHOBJ strct to be dumped
-
-Return Value:
-
- NONE
-
---*/
-
-{
- // Check if the debug level is appropriate
- //
- if (iDebugLevel < giDebugLevel)
- {
- // Nothing to output here
- //
- return;
- }
-
- // Prepare the label string
- //
- PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pbo");
-
- // Return if strct to be dumped is invalid
- //
- if (!pbo)
- {
- OEMDebugMessage(L"\nBRUSHOBJ [%s]: NULL\r\n", pszLabel);
-
- // Nothing else to output
- //
- return;
- }
-
- // Format the data
- //
- OEMDebugMessage(L"\nBRUSHOBJ [%s]: %#x\r\n", pszLabel, pbo);
- OEMDebugMessage(L"\tiSolidColor: %#x\r\n", pbo->iSolidColor);
- OEMDebugMessage(L"\tpvRbrush: %#x\r\n", pbo->pvRbrush);
- OEMDebugMessage(L"\tflColorType: ");
- vDumpFlags(pbo->flColorType, gafdBRUSHOBJ_flColorType);
-
- OEMDebugMessage(L"\n");
-}
-
-#if DBG
- DBG_FLAGS gafdGDIINFO_flHTFlags[] = {
- { L"HT_FLAG_8BPP_CMY332_MASK", HT_FLAG_8BPP_CMY332_MASK},
- { L"HT_FLAG_ADDITIVE_PRIMS", HT_FLAG_ADDITIVE_PRIMS},
- { L"HT_FLAG_DO_DEVCLR_XFORM", HT_FLAG_DO_DEVCLR_XFORM},
- { L"HT_FLAG_HAS_BLACK_DYE", HT_FLAG_HAS_BLACK_DYE},
- { L"HT_FLAG_HIGH_INK_ABSORPTION", HT_FLAG_HIGH_INK_ABSORPTION},
- { L"HT_FLAG_HIGHER_INK_ABSORPTION", HT_FLAG_HIGHER_INK_ABSORPTION},
- { L"HT_FLAG_HIGHEST_INK_ABSORPTION", HT_FLAG_HIGHEST_INK_ABSORPTION},
- { L"HT_FLAG_INK_ABSORPTION_IDX0", HT_FLAG_INK_ABSORPTION_IDX0},
- { L"HT_FLAG_INK_ABSORPTION_IDX1", HT_FLAG_INK_ABSORPTION_IDX1},
- { L"HT_FLAG_INK_ABSORPTION_IDX2", HT_FLAG_INK_ABSORPTION_IDX2},
- { L"HT_FLAG_INK_ABSORPTION_IDX3", HT_FLAG_INK_ABSORPTION_IDX3},
- { L"HT_FLAG_INK_HIGH_ABSORPTION", HT_FLAG_INK_HIGH_ABSORPTION},
- { L"HT_FLAG_LOW_INK_ABSORPTION", HT_FLAG_LOW_INK_ABSORPTION},
- { L"HT_FLAG_LOWER_INK_ABSORPTION", HT_FLAG_LOWER_INK_ABSORPTION},
- { L"HT_FLAG_LOWEST_INK_ABSORPTION", HT_FLAG_LOWEST_INK_ABSORPTION},
- { L"HT_FLAG_OUTPUT_CMY", HT_FLAG_OUTPUT_CMY},
- { L"HT_FLAG_PRINT_DRAFT_MODE", HT_FLAG_PRINT_DRAFT_MODE},
- { L"HT_FLAG_SQUARE_DEVICE_PEL", HT_FLAG_SQUARE_DEVICE_PEL},
- { L"HT_FLAG_USE_8BPP_BITMASK", HT_FLAG_USE_8BPP_BITMASK},
- { L"HT_FLAG_NORMAL_INK_ABSORPTION", HT_FLAG_NORMAL_INK_ABSORPTION},
-// { L"HT_FLAG_INVERT_8BPP_BITMASK_IDX", HT_FLAG_INVERT_8BPP_BITMASK_IDX},
- {NULL, 0} // The NULL entry is important
- };
-#else
- DBG_FLAGS gafdGDIINFO_flHTFlags[] = {
- {NULL, 0}
- };
-#endif
-
-void
-vDumpGDIINFO(
- INT iDebugLevel,
- _In_ PWSTR pszInLabel,
- GDIINFO *pGdiInfo
- )
-
-/*++
-
-Routine Description:
-
- Dumps the members of a GDIINFO structure.
-
-Arguments:
-
- iDebugLevel - desired output debug level
- pszInLabel - output label string
- pGdiInfo - pointer to the GDIINFO strct to be dumped
-
-Return Value:
-
- NONE
-
---*/
-
-{
- // Check if the debug level is appropriate
- //
- if (iDebugLevel < giDebugLevel)
- {
- // Nothing to output here
- //
- return;
- }
-
- // Prepare the label string
- //
- PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pGdiInfo");
-
- // Return if strct to be dumped is invalid
- //
- if (!pGdiInfo)
- {
- OEMDebugMessage(L"\nGDIINFO [%s]: NULL\r\n", pszLabel);
-
- // Nothing else to output
- //
- return;
- }
-
- // Format the data
- //
- OEMDebugMessage(L"\nGDIINFO [%s]: %#x\r\n", pszLabel, pGdiInfo);
- OEMDebugMessage(L"\tulVersion: %#x\r\n", pGdiInfo->ulVersion);
-
- PWSTR pszulTechnology = L"???";
- switch (pGdiInfo->ulTechnology)
- {
- case DT_PLOTTER: pszulTechnology = L"DT_PLOTTER"; break;
- case DT_RASDISPLAY: pszulTechnology = L"DT_RASDISPLAY"; break;
- case DT_RASPRINTER: pszulTechnology = L"DT_RASPRINTER"; break;
- case DT_RASCAMERA: pszulTechnology = L"DT_RASCAMERA"; break;
- case DT_CHARSTREAM: pszulTechnology = L"DT_CHARSTREAM"; break;
- }
- OEMDebugMessage(L"\tulTechnology: %ld [%s]\r\n", pGdiInfo->ulTechnology, pszulTechnology);
-
- OEMDebugMessage(L"\tulHorzSize: %ld\r\n", pGdiInfo->ulHorzSize);
- OEMDebugMessage(L"\tulVertSize: %ld\r\n", pGdiInfo->ulVertSize);
- OEMDebugMessage(L"\tulHorzRes: %ld\r\n", pGdiInfo->ulHorzRes);
- OEMDebugMessage(L"\tulVertRes: %ld\r\n", pGdiInfo->ulVertRes);
- OEMDebugMessage(L"\tcBitsPixel: %ld\r\n", pGdiInfo->cBitsPixel);
- OEMDebugMessage(L"\tcPlanes: %ld\r\n", pGdiInfo->cPlanes);
- OEMDebugMessage(L"\tulNumColors: %ld\r\n", pGdiInfo->ulNumColors);
- OEMDebugMessage(L"\tflRaster: %#x\r\n", pGdiInfo->flRaster);
- OEMDebugMessage(L"\tulLogPixelsX: %ld\r\n", pGdiInfo->ulLogPixelsX);
- OEMDebugMessage(L"\tulLogPixelsY: %ld\r\n", pGdiInfo->ulLogPixelsY);
-
- PWSTR pszTextCaps = L"Text scrolling through DrvBitBlt/DrvCopyBits";
- if (TC_SCROLLBLT == (pGdiInfo->flTextCaps & TC_SCROLLBLT))
- {
- pszTextCaps = L"Text scrolling through DrvTextOut";
- }
- OEMDebugMessage(L"\tflTextCaps: %s\n", pszTextCaps);
-
- OEMDebugMessage(L"\tulDACRed: %#x\r\n", pGdiInfo->ulDACRed);
- OEMDebugMessage(L"\tulDACGreen: %#x\r\n", pGdiInfo->ulDACGreen);
- OEMDebugMessage(L"\tulDACBlue: %#x\r\n", pGdiInfo->ulDACBlue);
- OEMDebugMessage(L"\tulAspectX: %ld\r\n", pGdiInfo->ulAspectX);
- OEMDebugMessage(L"\tulAspectY: %ld\r\n", pGdiInfo->ulAspectY);
- OEMDebugMessage(L"\tulAspectXY: %ld\r\n", pGdiInfo->ulAspectXY);
- OEMDebugMessage(L"\txStyleStep: %ld\r\n", pGdiInfo->xStyleStep);
- OEMDebugMessage(L"\tyStyleStep: %ld\r\n", pGdiInfo->yStyleStep);
- OEMDebugMessage(L"\tdenStyleStep: %ld\r\n", pGdiInfo->denStyleStep);
- OEMDebugMessage(L"\tptlPhysOffset: (%ld, %ld)\r\n", pGdiInfo->ptlPhysOffset.x, pGdiInfo->ptlPhysOffset.y);
- OEMDebugMessage(L"\tszlPhysSize: (%ld, %ld)\r\n", pGdiInfo->szlPhysSize.cx, pGdiInfo->szlPhysSize.cy);
- OEMDebugMessage(L"\tulNumPalReg: %ld\r\n", pGdiInfo->ulNumPalReg);
- OEMDebugMessage(L"\tulDevicePelsDPI: %ld\r\n", pGdiInfo->ulDevicePelsDPI);
-
- PWSTR pszPrimaryOrder = L"???";
- switch(pGdiInfo->ulPrimaryOrder)
- {
- case PRIMARY_ORDER_ABC: pszPrimaryOrder = L"PRIMARY_ORDER_ABC [RGB/CMY]"; break;
- case PRIMARY_ORDER_ACB: pszPrimaryOrder = L"PRIMARY_ORDER_ACB [RBG/CYM]"; break;
- case PRIMARY_ORDER_BAC: pszPrimaryOrder = L"PRIMARY_ORDER_BAC [GRB/MCY]"; break;
- case PRIMARY_ORDER_BCA: pszPrimaryOrder = L"PRIMARY_ORDER_BCA [GBR/MYC]"; break;
- case PRIMARY_ORDER_CBA: pszPrimaryOrder = L"PRIMARY_ORDER_CBA [BGR/YMC]"; break;
- case PRIMARY_ORDER_CAB: pszPrimaryOrder = L"PRIMARY_ORDER_CAB [BRG/YCM]"; break;
- }
- OEMDebugMessage(L"\tulPrimaryOrder: %s\n", pszPrimaryOrder);
-
- PWSTR pszHTPat = L"???";
- switch(pGdiInfo->ulHTPatternSize)
- {
- case HT_PATSIZE_2x2 : pszHTPat = L"HT_PATSIZE_2x2 "; break;
- case HT_PATSIZE_2x2_M : pszHTPat = L"HT_PATSIZE_2x2_M"; break;
- case HT_PATSIZE_4x4 : pszHTPat = L"HT_PATSIZE_4x4"; break;
- case HT_PATSIZE_4x4_M : pszHTPat = L"HT_PATSIZE_4x4_M"; break;
- case HT_PATSIZE_6x6 : pszHTPat = L"HT_PATSIZE_6x6"; break;
- case HT_PATSIZE_6x6_M : pszHTPat = L"HT_PATSIZE_6x6_M"; break;
- case HT_PATSIZE_8x8 : pszHTPat = L"HT_PATSIZE_8x8"; break;
- case HT_PATSIZE_8x8_M : pszHTPat = L"HT_PATSIZE_8x8_M"; break;
- case HT_PATSIZE_10x10 : pszHTPat = L"HT_PATSIZE_10x10"; break;
- case HT_PATSIZE_10x10_M : pszHTPat = L"HT_PATSIZE_10x10_M"; break;
- case HT_PATSIZE_12x12 : pszHTPat = L"HT_PATSIZE_12x12"; break;
- case HT_PATSIZE_12x12_M : pszHTPat = L"HT_PATSIZE_12x12_M"; break;
- case HT_PATSIZE_14x14 : pszHTPat = L"HT_PATSIZE_14x14"; break;
- case HT_PATSIZE_14x14_M : pszHTPat = L"HT_PATSIZE_14x14_M"; break;
- case HT_PATSIZE_16x16 : pszHTPat = L"HT_PATSIZE_16x16"; break;
- case HT_PATSIZE_16x16_M : pszHTPat = L"HT_PATSIZE_16x16_M"; break;
- case HT_PATSIZE_SUPERCELL : pszHTPat = L"HT_PATSIZE_SUPERCELL"; break;
- case HT_PATSIZE_SUPERCELL_M : pszHTPat = L"HT_PATSIZE_SUPERCELL_M"; break;
- case HT_PATSIZE_USER : pszHTPat = L"HT_PATSIZE_USER"; break;
-// case HT_PATSIZE_MAX_INDEX : pszHTPat = L"HT_PATSIZE_MAX_INDEX"; break;
-// case HT_PATSIZE_DEFAULT : pszHTPat = L"HT_PATSIZE_DEFAULT"; break;
- }
- OEMDebugMessage(L"\tulHTPatternSize: %s\n", pszHTPat);
-
- PWSTR pszHTOutputFormat = L"???";
- switch(pGdiInfo->ulHTOutputFormat)
- {
- case HT_FORMAT_1BPP : pszHTOutputFormat = L"HT_FORMAT_1BPP"; break;
- case HT_FORMAT_4BPP : pszHTOutputFormat = L"HT_FORMAT_4BPP"; break;
- case HT_FORMAT_4BPP_IRGB : pszHTOutputFormat = L"HT_FORMAT_4BPP_IRGB"; break;
- case HT_FORMAT_8BPP : pszHTOutputFormat = L"HT_FORMAT_8BPP"; break;
- case HT_FORMAT_16BPP : pszHTOutputFormat = L"HT_FORMAT_16BPP"; break;
- case HT_FORMAT_24BPP : pszHTOutputFormat = L"HT_FORMAT_24BPP"; break;
- case HT_FORMAT_32BPP : pszHTOutputFormat = L"HT_FORMAT_32BPP"; break;
- }
- OEMDebugMessage(L"\tulHTOutputFormat: %s\n", pszHTOutputFormat);
-
- OEMDebugMessage(L"\tflHTFlags: ");
- vDumpFlags(pGdiInfo->flHTFlags, gafdGDIINFO_flHTFlags);
- OEMDebugMessage(L"\tulVRefresh: %ld\r\n", pGdiInfo->ulVRefresh);
- OEMDebugMessage(L"\tulBltAlignment: %ld\r\n", pGdiInfo->ulBltAlignment);
- OEMDebugMessage(L"\tulPanningHorzRes: %ld\r\n", pGdiInfo->ulPanningHorzRes);
- OEMDebugMessage(L"\tulPanningVertRes: %ld\r\n", pGdiInfo->ulPanningVertRes);
- OEMDebugMessage(L"\txPanningAlignment: %ld\r\n", pGdiInfo->xPanningAlignment);
- OEMDebugMessage(L"\tyPanningAlignment: %ld\r\n", pGdiInfo->yPanningAlignment);
- OEMDebugMessage(L"\tcxHTPat: %ld\r\n", pGdiInfo->cxHTPat);
- OEMDebugMessage(L"\tcyHTPat: %ld\r\n", pGdiInfo->cyHTPat);
- OEMDebugMessage(L"\tpHTPatA: %#x\r\n", pGdiInfo->pHTPatA);
- OEMDebugMessage(L"\tpHTPatB: %#x\r\n", pGdiInfo->pHTPatB);
- OEMDebugMessage(L"\tpHTPatC: %#x\r\n", pGdiInfo->pHTPatC);
- OEMDebugMessage(L"\tflShadeBlend: %#x\r\n", pGdiInfo->flShadeBlend);
-
- PWSTR pszPhysPixChars = L"???";
- switch(pGdiInfo->ulPhysicalPixelCharacteristics)
- {
- case PPC_DEFAULT: pszPhysPixChars = L"PPC_DEFAULT"; break;
- case PPC_BGR_ORDER_HORIZONTAL_STRIPES: pszPhysPixChars = L"PPC_BGR_ORDER_HORIZONTAL_STRIPES"; break;
- case PPC_BGR_ORDER_VERTICAL_STRIPES: pszPhysPixChars = L"PPC_BGR_ORDER_VERTICAL_STRIPES"; break;
- case PPC_RGB_ORDER_HORIZONTAL_STRIPES: pszPhysPixChars = L"PPC_RGB_ORDER_HORIZONTAL_STRIPES"; break;
- case PPC_RGB_ORDER_VERTICAL_STRIPES: pszPhysPixChars = L"PPC_RGB_ORDER_VERTICAL_STRIPES"; break;
- case PPC_UNDEFINED: pszPhysPixChars = L"PPC_UNDEFINED"; break;
- }
- OEMDebugMessage(L"\tulPhysicalPixelCharacteristics: %s\n", pszPhysPixChars);
-
- PWSTR pszPhysPixGamma = L"???";
- switch(pGdiInfo->ulPhysicalPixelGamma)
- {
- case PPG_DEFAULT: pszPhysPixGamma = L"PPG_DEFAULT"; break;
- case PPG_SRGB : pszPhysPixGamma = L"PPG_SRGB"; break;
- }
- OEMDebugMessage(L"\tulPhysicalPixelGamma: %s\n", pszPhysPixGamma);
-
- OEMDebugMessage(L"\n");
-}
-
-#if DBG
- DBG_FLAGS gafdDEVINFO_flGraphicsCaps[] = {
- { L"GCAPS_BEZIERS", GCAPS_BEZIERS},
- { L"GCAPS_GEOMETRICWIDE", GCAPS_GEOMETRICWIDE},
- { L"GCAPS_ALTERNATEFILL", GCAPS_ALTERNATEFILL},
- { L"GCAPS_WINDINGFILL", GCAPS_WINDINGFILL},
- { L"GCAPS_HALFTONE", GCAPS_HALFTONE},
- { L"GCAPS_COLOR_DITHER", GCAPS_COLOR_DITHER},
- { L"GCAPS_HORIZSTRIKE", GCAPS_HORIZSTRIKE},
- { L"GCAPS_VERTSTRIKE", GCAPS_VERTSTRIKE},
- { L"GCAPS_OPAQUERECT", GCAPS_OPAQUERECT},
- { L"GCAPS_VECTORFONT", GCAPS_VECTORFONT},
- { L"GCAPS_MONO_DITHER", GCAPS_MONO_DITHER},
- { L"GCAPS_ASYNCCHANGE", GCAPS_ASYNCCHANGE},
- { L"GCAPS_ASYNCMOVE", GCAPS_ASYNCMOVE},
- { L"GCAPS_DONTJOURNAL", GCAPS_DONTJOURNAL},
- { L"GCAPS_DIRECTDRAW", GCAPS_DIRECTDRAW},
- { L"GCAPS_ARBRUSHOPAQUE", GCAPS_ARBRUSHOPAQUE},
- { L"GCAPS_PANNING", GCAPS_PANNING},
- { L"GCAPS_PALMANAGED", GCAPS_PALMANAGED},
- { L"GCAPS_DITHERONREALIZE", GCAPS_DITHERONREALIZE},
- { L"GCAPS_NO64BITMEMACCESS", GCAPS_NO64BITMEMACCESS},
- { L"GCAPS_FORCEDITHER", GCAPS_FORCEDITHER},
- { L"GCAPS_GRAY16", GCAPS_GRAY16},
- { L"GCAPS_ICM", GCAPS_ICM},
- { L"GCAPS_CMYKCOLOR", GCAPS_CMYKCOLOR},
- { L"GCAPS_LAYERED", GCAPS_LAYERED},
- { L"GCAPS_ARBRUSHTEXT", GCAPS_ARBRUSHTEXT},
- { L"GCAPS_SCREENPRECISION", GCAPS_SCREENPRECISION},
- { L"GCAPS_FONT_RASTERIZER", GCAPS_FONT_RASTERIZER},
- { L"GCAPS_NUP", GCAPS_NUP},
- {NULL, 0} // The NULL entry is important
- };
-
- DBG_FLAGS gafdDEVINFO_flGraphicsCaps2[] = {
- { L"GCAPS2_JPEGSRC", GCAPS2_JPEGSRC},
- { L"GCAPS2_xxxx", GCAPS2_xxxx},
- { L"GCAPS2_PNGSRC", GCAPS2_PNGSRC},
- { L"GCAPS2_CHANGEGAMMARAMP", GCAPS2_CHANGEGAMMARAMP},
- { L"GCAPS2_ALPHACURSOR", GCAPS2_ALPHACURSOR},
- { L"GCAPS2_SYNCFLUSH", GCAPS2_SYNCFLUSH},
- { L"GCAPS2_SYNCTIMER", GCAPS2_SYNCTIMER},
- { L"GCAPS2_ICD_MULTIMON", GCAPS2_ICD_MULTIMON},
- { L"GCAPS2_MOUSETRAILS", GCAPS2_MOUSETRAILS},
- { L"GCAPS2_REMOTEDRIVER", GCAPS2_REMOTEDRIVER},
- {NULL, 0} // The NULL entry is important
- };
-#else
- DBG_FLAGS gafdDEVINFO_flGraphicsCaps[] = {
- {NULL, 0}
- };
-
- DBG_FLAGS gafdDEVINFO_flGraphicsCaps2[] = {
- {NULL, 0}
- };
-#endif
-
-void
-vDumpDEVINFO(
- INT iDebugLevel,
- _In_ PWSTR pszInLabel,
- DEVINFO *pDevInfo
- )
-
-/*++
-
-Routine Description:
-
- Dumps the members of a DEVINFO structure.
-
-Arguments:
-
- iDebugLevel - desired output debug level
- pszInLabel - output label string
- pDevInfo - pointer to the DEVINFO strct to be dumped
-
-Return Value:
-
- NONE
-
---*/
-
-{
- // Check if the debug level is appropriate
- //
- if (iDebugLevel < giDebugLevel)
- {
- // Nothing to output here
- //
- return;
- }
-
- // Prepare the label string
- //
- PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pDevInfo");
-
- // Return if strct to be dumped is invalid
- //
- if (!pDevInfo)
- {
- OEMDebugMessage(L"\nDEVINFO [%s]: NULL\r\n", pszLabel);
-
- // Nothing else to output
- //
- return;
- }
-
- // Format the data
- //
- OEMDebugMessage(L"\nDEVINFO [%s]: %#x\r\n", pszLabel, pDevInfo);
- OEMDebugMessage(L"\tflGraphicsCaps: ");
- vDumpFlags(pDevInfo->flGraphicsCaps, gafdDEVINFO_flGraphicsCaps);
- OEMDebugMessage(L"\tcFonts: %ld\r\n", pDevInfo->cFonts);
-
- PWSTR psziDitherFormat = L"0";
- switch (pDevInfo->iDitherFormat)
- {
- case BMF_1BPP : psziDitherFormat = L"BMF_1BPP" ; break;
- case BMF_4BPP : psziDitherFormat = L"BMF_4BPP" ; break;
- case BMF_8BPP : psziDitherFormat = L"BMF_8BPP" ; break;
- case BMF_16BPP: psziDitherFormat = L"BMF_16BPP"; break;
- case BMF_24BPP: psziDitherFormat = L"BMF_24BPP"; break;
- case BMF_32BPP: psziDitherFormat = L"BMF_32BPP"; break;
- case BMF_4RLE : psziDitherFormat = L"BMF_4RLE" ; break;
- case BMF_8RLE : psziDitherFormat = L"BMF_8RLE" ; break;
- case BMF_JPEG : psziDitherFormat = L"BMF_JPEG" ; break;
- case BMF_PNG : psziDitherFormat = L"BMF_PNG " ; break;
- }
- OEMDebugMessage(L"\tiDitherFormat: %s\r\n", psziDitherFormat);
-
- OEMDebugMessage(L"\tcxDither: %ld\r\n", pDevInfo->cxDither);
- OEMDebugMessage(L"\tcyDither: %ld\r\n", pDevInfo->cyDither);
- OEMDebugMessage(L"\thpalDefault: %#x\r\n", pDevInfo->hpalDefault);
- OEMDebugMessage(L"\tflGraphicsCaps2: ");
- vDumpFlags(pDevInfo->flGraphicsCaps2, gafdDEVINFO_flGraphicsCaps2);
-
- OEMDebugMessage(L"\n");
-}
-
-void
-vDumpBitmapInfoHeader(
- INT iDebugLevel,
- _In_ PWSTR pszInLabel,
- BITMAPINFOHEADER *pBitmapInfoHeader
- )
-
-/*++
-
-Routine Description:
-
- Dumps the members of a BITMAPINFOHEADER structure.
-
-Arguments:
-
- iDebugLevel - desired output debug level
- pszInLabel - output label string
- pBitmapInfoHeader - pointer to the BITMAPINFOHEADER strct to be dumped
-
-Return Value:
-
- NONE
-
---*/
-
-{
- // Check if the debug level is appropriate
- //
- if (iDebugLevel < giDebugLevel)
- {
- // Nothing to output here
- //
- return;
- }
-
- // Prepare the label string
- //
- PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pBitmapInfoHeader");
-
- // Return if strct to be dumped is invalid
- //
- if (!pBitmapInfoHeader)
- {
- OEMDebugMessage(L"\nBITMAPINFOHEADER [%s]: NULL\r\n", pszLabel);
-
- // Nothing else to output
- //
- return;
- }
-
- // Format the data
- //
- OEMDebugMessage(L"\nBITMAPINFOHEADER [%s]: %#x\r\n", pszLabel, pBitmapInfoHeader);
- OEMDebugMessage(L"\tbiSize: %ld\r\n", pBitmapInfoHeader->biSize);
- OEMDebugMessage(L"\tbiWidth: %ld\r\n", pBitmapInfoHeader->biWidth);
- OEMDebugMessage(L"\tbiHeight: %ld\r\n", pBitmapInfoHeader->biHeight);
- OEMDebugMessage(L"\tbiPlanes: %ld\r\n", pBitmapInfoHeader->biPlanes);
- OEMDebugMessage(L"\tbiBitCount: %ld\r\n", pBitmapInfoHeader->biBitCount);
-
- PWSTR pszbiCompression = L"0";
- switch (pBitmapInfoHeader->biCompression)
- {
- case BI_RGB : pszbiCompression = L"BI_RGB" ; break;
- case BI_RLE8 : pszbiCompression = L"BI_RLE8" ; break;
- case BI_RLE4 : pszbiCompression = L"BI_RLE4" ; break;
- case BI_BITFIELDS: pszbiCompression = L"BI_BITFIELDS"; break;
- case BI_JPEG : pszbiCompression = L"BI_JPEG" ; break;
- case BI_PNG : pszbiCompression = L"BI_PNG " ; break;
- }
- OEMDebugMessage(L"\tbiCompression: %s\r\n", pszbiCompression);
-
- OEMDebugMessage(L"\tbiSizeImage: %ld\r\n", pBitmapInfoHeader->biSizeImage);
- OEMDebugMessage(L"\tbiXPelsPerMeter: %ld\r\n", pBitmapInfoHeader->biXPelsPerMeter);
- OEMDebugMessage(L"\tbiYPelsPerMeter: %ld\r\n", pBitmapInfoHeader->biYPelsPerMeter);
- OEMDebugMessage(L"\tbiClrUsed: %ld\r\n", pBitmapInfoHeader->biClrUsed);
- OEMDebugMessage(L"\tbiClrImportant: %ld\r\n", pBitmapInfoHeader->biClrImportant);
-
- OEMDebugMessage(L"\n");
-}
-
-void
-vDumpPOINTL(
- INT iDebugLevel,
- _In_ PWSTR pszInLabel,
- POINTL *pptl
- )
-
-/*++
-
-Routine Description:
-
- Dumps the members of a POINTL structure.
-
-Arguments:
-
- iDebugLevel - desired output debug level
- pszInLabel - output label string
- pptl - pointer to the POINTL strct to be dumped
-
-Return Value:
-
- NONE
-
---*/
-
-{
- // Check if the debug level is appropriate
- //
- if (iDebugLevel < giDebugLevel)
- {
- // Nothing to output here
- //
- return;
- }
-
- // Prepare the label string
- //
- PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pptl");
-
- // Return if strct to be dumped is invalid
- //
- if (!pptl)
- {
- OEMDebugMessage(L"\nPOINTL [%s]: NULL\r\n", pszLabel);
-
- // Nothing else to output
- //
- return;
- }
-
- // Format the data
- //
- OEMDebugMessage(L"\nPOINTL [%s]: %#x (%ld, %ld)\r\n", pszLabel, pptl, pptl->x, pptl->y);
-
- OEMDebugMessage(L"\n");
-}
-
-void
-vDumpRECTL(
- INT iDebugLevel,
- _In_ PWSTR pszInLabel,
- RECTL *prcl
- )
-
-/*++
-
-Routine Description:
-
- Dumps the members of a RECTL structure.
-
-Arguments:
-
- iDebugLevel - desired output debug level
- pszInLabel - output label string
- prcl - pointer to the RECTL strct to be dumped
-
-Return Value:
-
- NONE
-
---*/
-
-{
- // Check if the debug level is appropriate
- //
- if (iDebugLevel < giDebugLevel)
- {
- // Nothing to output here
- //
- return;
- }
-
- // Prepare the label string
- //
- PCWSTR pszLabel = EnsureLabel(pszInLabel, L"prcl");
-
- // Return if strct to be dumped is invalid
- //
- if (!prcl)
- {
- OEMDebugMessage(L"\nRECTL [%s]: NULL\r\n", pszLabel);
-
- // Nothing else to output
- //
- return;
- }
-
- // Format the data
- //
- OEMDebugMessage(L"\nRECTL [%s]: %#x (%ld, %ld) (%ld, %ld)\r\n", pszLabel, prcl, prcl->left, prcl->top, prcl->right, prcl->bottom);
-
- OEMDebugMessage(L"\n");
-}
-
-#if DBG
- DBG_FLAGS gafdXLATEOBJ_flXlate[] = {
- { L"XO_DEVICE_ICM", XO_DEVICE_ICM},
- { L"XO_FROM_CMYK", XO_FROM_CMYK},
- { L"XO_HOST_ICM", XO_HOST_ICM},
- { L"XO_TABLE", XO_TABLE},
- { L"XO_TO_MONO", XO_TO_MONO},
- { L"XO_TRIVIAL", XO_TRIVIAL},
- {NULL, 0} // The NULL entry is important
- };
-#else
- DBG_FLAGS gafdXLATEOBJ_flXlate[] = {
- {NULL, 0}
- };
-#endif
-
-void
-vDumpXLATEOBJ(
- INT iDebugLevel,
- _In_ PWSTR pszInLabel,
- XLATEOBJ *pxlo
- )
-
-/*++
-
-Routine Description:
-
- Dumps the members of a XLATEOBJ structure.
-
-Arguments:
-
- iDebugLevel - desired output debug level
- pszInLabel - output label string
- pxlo - pointer to the XLATEOBJ strct to be dumped
-
-Return Value:
-
- NONE
-
---*/
-
-{
- // Check if the debug level is appropriate
- //
- if (iDebugLevel < giDebugLevel)
- {
- // Nothing to output here
- //
- return;
- }
-
- // Prepare the label string
- //
- PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pxlo");
-
- // Return if strct to be dumped is invalid
- //
- if (!pxlo)
- {
- OEMDebugMessage(L"\nXLATEOBJ [%s]: NULL\r\n", pszLabel);
-
- // Nothing else to output
- //
- return;
- }
-
- // Format the data
- //
- OEMDebugMessage(L"\nXLATEOBJ [%s]: %#x\r\n", pszLabel, pxlo);
- OEMDebugMessage(L"\tiUniq: %ld\r\n", pxlo->iUniq);
- OEMDebugMessage(L"\tflXlate: ");
- vDumpFlags(pxlo->flXlate, gafdXLATEOBJ_flXlate);
- OEMDebugMessage(L"\tiSrcType: %ld [obsolete]\r\n", pxlo->iSrcType);
- OEMDebugMessage(L"\tiDstType: %ld [obsolete]\r\n", pxlo->iDstType);
- OEMDebugMessage(L"\tcEntries: %ld\r\n", pxlo->cEntries);
- if (pxlo->pulXlate)
- OEMDebugMessage(L"\tpulXlate: %#x [%ld]\r\n", pxlo->pulXlate, *pxlo->pulXlate);
- else
- OEMDebugMessage(L"\tpulXlate: %#x\r\n", pxlo->pulXlate);
-
- OEMDebugMessage(L"\n");
-}
-
-#if DBG
- DBG_FLAGS gafdCOLORADJUSTMENT_caFlags[] = {
- { L"CA_NEGATIVE", CA_NEGATIVE},
- { L"CA_LOG_FILTER", CA_LOG_FILTER},
- {NULL, 0} // The NULL entry is important
- };
-#else
- DBG_FLAGS gafdCOLORADJUSTMENT_caFlags[] = {
- {NULL, 0}
- };
-#endif
-
-void
-vDumpCOLORADJUSTMENT(
- INT iDebugLevel,
- _In_ PWSTR pszInLabel,
- COLORADJUSTMENT *pca
- )
-
-/*++
-
-Routine Description:
-
- Dumps the members of a COLORADJUSTMENT structure.
-
-Arguments:
-
- iDebugLevel - desired output debug level
- pszInLabel - output label string
- pca - pointer to the COLORADJUSTMENT strct to be dumped
-
-Return Value:
-
- NONE
-
---*/
-
-{
- // Check if the debug level is appropriate
- //
- if (iDebugLevel < giDebugLevel)
- {
- // Nothing to output here
- //
- return;
- }
-
- // Prepare the label string
- //
- PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pca");
-
- // Return if strct to be dumped is invalid
- //
- if (!pca)
- {
- OEMDebugMessage(L"\nCOLORADJUSTMENT [%s]: NULL\r\n", pszLabel);
-
- // Nothing else to output
- //
- return;
- }
-
- // Format the data
- //
- OEMDebugMessage(L"\nCOLORADJUSTMENT [%s]: %#x\r\n", pszLabel, pca);
- OEMDebugMessage(L"\tcaSize: %#x\r\n", pca->caSize);
- OEMDebugMessage(L"\tcaFlags: ");
- if (pca->caFlags)
- vDumpFlags(pca->caFlags, gafdCOLORADJUSTMENT_caFlags);
- else
- OEMDebugMessage(L"NULL\r\n");
-
- PWSTR pszcaIlluminantIndex = L"0";
- switch (pca->caIlluminantIndex)
- {
- case ILLUMINANT_DEVICE_DEFAULT: pszcaIlluminantIndex = L"ILLUMINANT_DEVICE_DEFAULT" ; break;
- case ILLUMINANT_A: pszcaIlluminantIndex = L"ILLUMINANT_A [Tungsten lamp]" ; break;
- case ILLUMINANT_B: pszcaIlluminantIndex = L"ILLUMINANT_B [Noon sunlight]" ; break;
- case ILLUMINANT_C: pszcaIlluminantIndex = L"ILLUMINANT_C [NTSC daylight]" ; break;
- case ILLUMINANT_D50: pszcaIlluminantIndex = L"ILLUMINANT_D50 [Normal print]" ; break;
- case ILLUMINANT_D55: pszcaIlluminantIndex = L"ILLUMINANT_D55 [Bond paper print]" ; break;
- case ILLUMINANT_D65: pszcaIlluminantIndex = L"ILLUMINANT_D65 [Standard daylight]" ; break;
- case ILLUMINANT_D75: pszcaIlluminantIndex = L"ILLUMINANT_D75 [Northern daylight]" ; break;
- case ILLUMINANT_F2: pszcaIlluminantIndex = L"ILLUMINANT_F2 [Cool white lamp]" ; break;
- }
- OEMDebugMessage(L"\tcaIlluminantIndex: %s\r\n", pszcaIlluminantIndex);
-
- OEMDebugMessage(L"\tcaRedGamma: %d\r\n", (int)pca->caRedGamma);
- OEMDebugMessage(L"\tcaGreenGamma: %d\r\n", (int)pca->caGreenGamma);
- OEMDebugMessage(L"\tcaBlueGamma: %d\r\n", (int)pca->caBlueGamma);
- OEMDebugMessage(L"\tcaReferenceBlack: %d\r\n", (int)pca->caReferenceBlack);
- OEMDebugMessage(L"\tcaReferenceWhite: %d\r\n", (int)pca->caReferenceWhite);
- OEMDebugMessage(L"\tcaContrast: %d\r\n", (int)pca->caContrast);
- OEMDebugMessage(L"\tcaBrightness: %d\r\n", (int)pca->caBrightness);
- OEMDebugMessage(L"\tcaColorfulness: %d\r\n", (int)pca->caColorfulness);
- OEMDebugMessage(L"\tcaRedGreenTint: %d\r\n", (int)pca->caRedGreenTint);
-
- OEMDebugMessage(L"\n");
-}
-
-#endif
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/debug.h
deleted file mode 100644
index 2b488890..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/debug.h
+++ /dev/null
@@ -1,215 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Debug.H
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debugging functions. Also defines the various debug macros.
-//
-//
-// History:
-// 06/28/03 xxx created.
-//
-//
-
-#pragma once
-
-#include "devmode.h"
-
-// VC and Build use different debug defines.
-// The following makes it so either will
-// cause the inclusion of debugging code.
-#if !defined(_DEBUG) && defined(DBG)
- #define _DEBUG DBG
-#elif defined(_DEBUG) && !defined(DBG)
- #define DBG _DEBUG
-#endif
-
-
-
-/////////////////////////////////////////////////////////
-// Macros
-/////////////////////////////////////////////////////////
-//
-// These macros are used for debugging purposes. They expand
-// to white spaces on a free build. Here is a brief description
-// of what they do and how they are used:
-//
-// giDebugLevel
-// Global variable which set the current debug level to control
-// the amount of debug messages emitted.
-//
-// VERBOSE(msg)
-// Display a message if the current debug level is <= DBG_VERBOSE.
-//
-// TERSE(msg)
-// Display a message if the current debug level is <= DBG_TERSE.
-//
-// WARNING(msg)
-// Display a message if the current debug level is <= DBG_WARNING.
-// The message format is: WRN filename (linenumber): message
-//
-// ERR(msg)
-// Similiar to WARNING macro above - displays a message
-// if the current debug level is <= DBG_ERROR.
-//
-// ASSERT(cond)
-// Verify a condition is true. If not, force a breakpoint.
-//
-// ASSERTMSG(cond, msg)
-// Verify a condition is true. If not, display a message and
-// force a breakpoint.
-//
-// RIP(msg)
-// Display a message and force a breakpoint.
-//
-// Usage:
-// These macros require extra parantheses for the msg argument
-// example, ASSERTMSG(x > 0, ("x is less than 0\n"));
-// WARNING(("App passed NULL pointer, ignoring...\n"));
-//
-
-#define DBG_VERBOSE 1
-#define DBG_TERSE 2
-#define DBG_WARNING 3
-#define DBG_ERROR 4
-#define DBG_RIP 5
-#define DBG_NONE 6
-
-//
-// Determine what level of debugging messages to emit.
-// This can be set in the sources file, or omitted
-// completely
-//
-#ifdef VERBOSE_MSG
- #define DEBUG_LEVEL DBG_VERBOSE
-#elif TERSE_MSG
- #define DEBUG_LEVEL DBG_TERSE
-#elif WARNING_MSG
- #define DEBUG_LEVEL DBG_WARNING
-#elif ERROR_MSG
- #define DEBUG_LEVEL DBG_ERROR
-#elif RIP_MSG
- #define DEBUG_LEVEL DBG_RIP
-#elif NO_DBG_MSG
- #define DEBUG_LEVEL DBG_NONE
-#else
- #define DEBUG_LEVEL DBG_WARNING
-#endif
-
-
-#if DBG
-
- extern INT giDebugLevel;
-
- #define DBGMSG(level, prefix, msg) { \
- if (giDebugLevel <= (level)) { \
- OEMDebugMessage(L"%s %s (%d): ", prefix, StripDirPrefixA(__FILE__), __LINE__); \
- OEMDebugMessage(msg); \
- } \
- }
-
- #define VERBOSE if(giDebugLevel <= DBG_VERBOSE) OEMDebugMessage
- #define TERSE if(giDebugLevel <= DBG_TERSE) OEMDebugMessage
- #define WARNING if(giDebugLevel <= DBG_WARNING) OEMDebugMessage
- #define ERR if(giDebugLevel <= DBG_ERROR) OEMDebugMessage
-
- #define DBG_OEMDMPARAM(iDbgLvl, szLabel, pobj) {vDumpOemDMParam(iDbgLvl, szLabel, pobj);}
- #define DBG_SURFOBJ(iDbgLvl, szLabel, pobj) {vDumpSURFOBJ(iDbgLvl, szLabel, pobj);}
- #define DBG_STROBJ(iDbgLvl, szLabel, pobj) {vDumpSTROBJ(iDbgLvl, szLabel, pobj);}
- #define DBG_FONTOBJ(iDbgLvl, szLabel, pobj) {vDumpFONTOBJ(iDbgLvl, szLabel, pobj);}
- #define DBG_CLIPOBJ(iDbgLvl, szLabel, pobj) {vDumpCLIPOBJ(iDbgLvl, szLabel, pobj);}
- #define DBG_BRUSHOBJ(iDbgLvl, szLabel, pobj) {vDumpBRUSHOBJ(iDbgLvl, szLabel, pobj);}
- #define DBG_GDIINFO(iDbgLvl, szLabel, pobj) {vDumpGDIINFO(iDbgLvl, szLabel, pobj);}
- #define DBG_DEVINFO(iDbgLvl, szLabel, pobj) {vDumpDEVINFO(iDbgLvl, szLabel, pobj);}
- #define DBG_BMPINFO(iDbgLvl, szLabel, pobj) {vDumpBitmapInfoHeader(iDbgLvl, szLabel, pobj);}
- #define DBG_POINTL(iDbgLvl, szLabel, pobj) {vDumpPOINTL(iDbgLvl, szLabel, pobj);}
- #define DBG_RECTL(iDbgLvl, szLabel, pobj) {vDumpRECTL(iDbgLvl, szLabel, pobj);}
- #define DBG_XLATEOBJ(iDbgLvl, szLabel, pobj) {vDumpXLATEOBJ(iDbgLvl, szLabel, pobj);}
- #define DBG_COLORADJUSTMENT(iDbgLvl, szLabel, pobj) {vDumpCOLORADJUSTMENT(iDbgLvl, szLabel, pobj);}
-
- #define ASSERT(cond) \
- { \
- if (! (cond)) \
- { \
- RIP((L"\n")); \
- } \
- }
-
- #define ASSERTMSG(cond, msg) \
- { \
- if (! (cond)) { \
- RIP(msg); \
- } \
- }
-
- #define RIP(msg) \
- { \
- DBGMSG(DBG_RIP, L"RIP", msg); \
- DebugBreak(); \
- }
-
- typedef struct DBG_FLAGS {
- LPWSTR pszFlag;
- DWORD dwFlag;
- } *PDBG_FLAGS;
-
- BOOL OEMDebugMessage(LPCWSTR, ...);
- void vDumpOemDMParam(INT iDebugLevel, _In_ PWSTR pszInLabel, POEMDMPARAM pOemDMParam);
- void vDumpSURFOBJ(INT iDebugLevel, _In_ PWSTR pszInLabel, SURFOBJ *pso);
- void vDumpSTROBJ(INT iDebugLevel, _In_ PWSTR pszInLabel, STROBJ *pstro);
- void vDumpFONTOBJ(INT iDebugLevel, _In_ PWSTR pszInLabel, FONTOBJ *pfo);
- void vDumpCLIPOBJ(INT iDebugLevel, _In_ PWSTR pszInLabel, CLIPOBJ *pco);
- void vDumpBRUSHOBJ(INT iDebugLevel, _In_ PWSTR pszInLabel, BRUSHOBJ *pbo);
- void vDumpGDIINFO(INT iDebugLevel, _In_ PWSTR pszInLabel, GDIINFO *pGdiInfo);
- void vDumpDEVINFO(INT iDebugLevel, _In_ PWSTR pszInLabel, DEVINFO *pDevInfo);
- void vDumpBitmapInfoHeader(INT iDebugLevel, _In_ PWSTR pszInLabel, PBITMAPINFOHEADER pBitmapInfoHeader);
- void vDumpPOINTL(INT iDebugLevel, _In_ PWSTR pszInLabel, POINTL *pptl);
- void vDumpRECTL(INT iDebugLevel, _In_ PWSTR pszInLabel, RECTL *prcl);
- void vDumpXLATEOBJ(INT iDebugLevel, _In_ PWSTR pszInLabel, XLATEOBJ *pxlo);
- void vDumpCOLORADJUSTMENT(INT iDebugLevel, _In_ PWSTR pszInLabel, COLORADJUSTMENT *pca);
-
- BOOL OEMRealDebugMessage(DWORD dwSize, LPCWSTR lpszMessage, va_list arglist);
- PCSTR StripDirPrefixA(IN PCSTR pstrFilename);
- void vDumpFlags(DWORD dwFlags, PDBG_FLAGS pDebugFlags);
-
-#else // !DBG
-
- #define DebugMsg NOP_FUNCTION
-
- #define VERBOSE NOP_FUNCTION
- #define TERSE NOP_FUNCTION
- #define WARNING NOP_FUNCTION
- #define ERR NOP_FUNCTION
-
- #define DBG_OEMDMPARAM(iDbgLvl, szLabel, pobj) NOP_FUNCTION
- #define DBG_OEMDEVMODE(iDbgLvl, szLabel, pobj) NOP_FUNCTION
- #define DBG_SURFOBJ(iDbgLvl, szLabel, pobj) NOP_FUNCTION
- #define DBG_STROBJ(iDbgLvl, szLabel, pobj) NOP_FUNCTION
- #define DBG_FONTOBJ(iDbgLvl, szLabel, pobj) NOP_FUNCTION
- #define DBG_CLIPOBJ(iDbgLvl, szLabel, pobj) NOP_FUNCTION
- #define DBG_BRUSHOBJ(iDbgLvl, szLabel, pobj) NOP_FUNCTION
- #define DBG_GDIINFO(iDbgLvl, szLabel, pobj) NOP_FUNCTION
- #define DBG_DEVINFO(iDbgLvl, szLabel, pobj) NOP_FUNCTION
- #define DBG_BMPINFO(iDbgLvl, szLabel, pobj) NOP_FUNCTION
- #define DBG_POINTL(iDbgLvl, szLabel, pobj) NOP_FUNCTION
- #define DBG_RECTL(iDbgLvl, szLabel, pobj) NOP_FUNCTION
- #define DBG_XLATEOBJ(iDbgLvl, szLabel, pobj) NOP_FUNCTION
- #define DBG_COLORADJUSTMENT(iDbgLvl, szLabel, pobj) NOP_FUNCTION
-
- #define ASSERT(cond)
-
- #define ASSERTMSG(cond, msg)
- #define RIP(msg)
-
-#endif
-
-
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/devmode.cpp
deleted file mode 100644
index 92ca5dd9..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/devmode.cpp
+++ /dev/null
@@ -1,229 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.cpp
-//
-//
-// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules.
-//
-// History:
-// 06/24/03 xxx created.
-//
-//
-
-#include "precomp.h"
-#include "oemprean.h"
-#include "debug.h"
-#include "devmode.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-HRESULT hrOEMDevMode(
- DWORD dwMode,
- POEMDMPARAM pOemDMParam
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DevMode.
- hrOEMDevMode is called by IPrintOemUni::DevMode
- which is defined in intrface.cpp.
-
- The IPrintOemUni::DevMode method, provided by
- rendering plug-ins for Unidrv, performs operations
- on private DEVMODE members.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dwMode - caller-supplied constant. Refer to the docs
- for more information.
- pOemDMParam - pointer to an OEMDMPARAM structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
---*/
-
-{
- POEMDEV pOEMDevIn;
- POEMDEV pOEMDevOut;
-
- VERBOSE(L"hrOEMDevMode entry.");
-
- // Verify parameters.
- if( (NULL == pOemDMParam)
- ||
- ( (OEMDM_SIZE != dwMode)
- &&
- (OEMDM_DEFAULT != dwMode)
- &&
- (OEMDM_CONVERT != dwMode)
- &&
- (OEMDM_MERGE != dwMode)
- ))
- {
- ERR(ERRORTEXT("DevMode() ERROR_INVALID_PARAMETER.\r\n"));
- ERR(DLLTEXT("\tdwMode = %d, pOemDMParam = %#lx.\r\n"), dwMode, pOemDMParam);
-
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Cast generic (i.e. PVOID) to OEM private devmode pointer type.
- pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn;
- pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut;
-
- switch(dwMode)
- {
- case OEMDM_SIZE:
- pOemDMParam->cbBufSize = sizeof(OEMDEV);
- break;
-
- case OEMDM_DEFAULT:
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- pOEMDevOut->dwDriverData = 0;
- break;
-
- case OEMDM_CONVERT:
- bConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- break;
-
- case OEMDM_MERGE:
- bConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- bMakeOEMDevmodeValid(pOEMDevOut);
- break;
- }
- DBG_OEMDMPARAM(DBG_VERBOSE, L"pOemDMParam", pOemDMParam);
-
- return S_OK;
-}
-
-
-BOOL bConvertOEMDevmode(
- PCOEMDEV pOEMDevIn,
- POEMDEV pOEMDevOut
- )
-
-/*++
-
-Routine Description:
-
- Converts private DEVMODE members to the
- current version.
-
-Arguments:
-
- pOEMDevIn - pointer to OEM private devmode
- pOEMDevOut - pointer to OEM private devmode
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE(L"bConvertOEMDevmode entry.");
-
- if( (NULL == pOEMDevIn)
- ||
- (NULL == pOEMDevOut)
- )
- {
- ERR(ERRORTEXT("ConvertOEMDevmode() invalid parameters.\r\n"));
- return FALSE;
- }
-
- // Check OEM Signature, if it doesn't match ours,
- // then just assume DMIn is bad and use defaults.
- if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature)
- {
- VERBOSE(TEXT("Converting private OEM Devmode.\r\n"));
-
- // Set the devmode defaults so that anything the isn't copied over will
- // be set to the default value.
- pOEMDevOut->dwDriverData = 0;
-
- // Copy the old structure in to the new using which ever size is the smaller.
- // Devmode maybe from newer Devmode (not likely since there is only one), or
- // Devmode maybe a newer Devmode, in which case it maybe larger,
- // but the first part of the structure should be the same.
-
- // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to;
- // the fields that are in the DEVMODE never change only new fields get added to the end.
-
- memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize));
-
- // Re-fill in the size and version fields to indicated
- // that the DEVMODE is the current private DEVMODE version.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- }
- else
- {
- VERBOSE(TEXT("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n"));
-
- // Don't know what the input DEVMODE is, so just use defaults.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- pOEMDevOut->dwDriverData = 0;
- }
-
- return TRUE;
-}
-
-
-BOOL bMakeOEMDevmodeValid(
- POEMDEV pOEMDevmode
- )
-
-/*++
-
-Routine Description:
-
- Ensures that private OEM devmode members are valid.
-
-Arguments:
-
- pOEMDevmode - pointer to OEM private devmode
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- if(NULL == pOEMDevmode)
- {
- return FALSE;
- }
-
- // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure.
-
- // Make sure that dmOEMExtra indicates the current OEMDEV structure.
- pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION;
-
- // Set driver data.
- pOEMDevmode->dwDriverData = 0;
-
- return TRUE;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/devmode.h
deleted file mode 100644
index 05f98204..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/devmode.h
+++ /dev/null
@@ -1,43 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.h
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for devmode functions.
-//
-// History:
-// 06/24/03 xxx created.
-//
-//
-
-#pragma once
-
-
-////////////////////////////////////////////////////////
-// OEM Devmode Type Definitions
-////////////////////////////////////////////////////////
-
-typedef struct tagOEMDEV
-{
- OEM_DMEXTRAHEADER dmOEMExtra;
- BOOL dwDriverData;
-} OEMDEV, *POEMDEV;
-
-typedef const OEMDEV *PCOEMDEV;
-
-
-/////////////////////////////////////////////////////////
-// Prototypes
-/////////////////////////////////////////////////////////
-
-HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam);
-BOOL bConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut);
-BOOL bMakeOEMDevmodeValid(POEMDEV pOEMDevmode);
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/dllentry.cpp
deleted file mode 100644
index 412f9446..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/dllentry.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: dllentry.cpp
-//
-//
-// PURPOSE: Source module for DLL entry function(s).
-//
-// History:
-// 06/24/03 xxx created.
-//
-//
-
-#include "precomp.h"
-#include "oemprean.h"
-#include "debug.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-///////////////////////////////////////////////////////////
-//
-// DLL entry point
-//
-
-BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved)
-{
- VERBOSE(L"DllMain entry.");
-
- UNREFERENCED_PARAMETER(hInst);
- UNREFERENCED_PARAMETER(lpReserved);
-
- switch(wReason)
- {
- case DLL_PROCESS_ATTACH:
- VERBOSE(TEXT("Process attach.\r\n"));
- break;
-
- case DLL_THREAD_ATTACH:
- VERBOSE(TEXT("Thread attach.\r\n"));
- break;
-
- case DLL_PROCESS_DETACH:
- VERBOSE(TEXT("Process detach.\r\n"));
- break;
-
- case DLL_THREAD_DETACH:
- VERBOSE(TEXT("Thread detach.\r\n"));
- break;
- }
-
- return TRUE;
-}
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/intrface.cpp
deleted file mode 100644
index 9c102afc..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/intrface.cpp
+++ /dev/null
@@ -1,1819 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.cpp
-//
-//
-// PURPOSE: Interface for User Mode COM Customization DLL.
-//
-//
-// Functions:
-// IPrintOemUni2 interface functions
-// COemCF class factory
-// Registration functions: DllCanUnloadNow, DllGetClassObject
-//
-// History:
-// 06/26/03 xxx created.
-//
-//
-
-#include "precomp.h"
-#include <INITGUID.H>
-#include <PRCOMOEM.H>
-
-#include "oemprean.h"
-#include "debug.h"
-#include "intrface.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-// ==================================================================
-// Internal Globals
-//
-static long g_cComponents; // Count of active components
-static long g_cServerLocks; // Count of locks
-//
-// ==================================================================
-
-// ==================================================================
-// The purpose of this array is to inform UNIDRV of the callbacks
-// that are implemented in this driver.
-//
-// Note that there is *NO* order dependency in this array. New
-// index values and their corresponding callbacks can be placed
-// anywhere within the list as needed.
-//
-static const DRVFN s_aOemHookFuncs[] =
-{
- // The following are defined in ddihook.cpp.
- //
- {INDEX_DrvAlphaBlend, (PFN)OEMAlphaBlend},
- {INDEX_DrvBitBlt, (PFN)OEMBitBlt},
- {INDEX_DrvCopyBits, (PFN)OEMCopyBits},
- {INDEX_DrvDitherColor, (PFN)OEMDitherColor},
- {INDEX_DrvFillPath, (PFN)OEMFillPath},
- {INDEX_DrvFontManagement, (PFN)OEMFontManagement},
- {INDEX_DrvGetGlyphMode, (PFN)OEMGetGlyphMode},
- {INDEX_DrvGradientFill, (PFN)OEMGradientFill},
- {INDEX_DrvLineTo, (PFN)OEMLineTo},
- {INDEX_DrvPaint, (PFN)OEMPaint},
- {INDEX_DrvPlgBlt, (PFN)OEMPlgBlt},
- {INDEX_DrvQueryAdvanceWidths, (PFN)OEMQueryAdvanceWidths},
- {INDEX_DrvQueryFont, (PFN)OEMQueryFont},
- {INDEX_DrvQueryFontData, (PFN)OEMQueryFontData},
- {INDEX_DrvQueryFontTree, (PFN)OEMQueryFontTree},
- {INDEX_DrvRealizeBrush, (PFN)OEMRealizeBrush},
- {INDEX_DrvStretchBlt, (PFN)OEMStretchBlt},
- {INDEX_DrvStretchBltROP, (PFN)OEMStretchBltROP},
- {INDEX_DrvStrokeAndFillPath, (PFN)OEMStrokeAndFillPath},
- {INDEX_DrvStrokePath, (PFN)OEMStrokePath},
- {INDEX_DrvTextOut, (PFN)OEMTextOut},
- {INDEX_DrvTransparentBlt, (PFN)OEMTransparentBlt},
- {INDEX_DrvStartDoc, (PFN)OEMStartDoc},
- {INDEX_DrvEndDoc, (PFN)OEMEndDoc},
- {INDEX_DrvStartPage, (PFN)OEMStartPage},
- {INDEX_DrvSendPage, (PFN)OEMSendPage},
- {INDEX_DrvStartBanding, (PFN)OEMStartBanding},
- {INDEX_DrvNextBand, (PFN)OEMNextBand},
- {INDEX_DrvEscape, (PFN)OEMEscape}
-};
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// COemUni2 body
-//
-COemUni2::COemUni2()
-{
- m_cRef = 1;
-
- // Increment COM component count.
- InterlockedIncrement(&g_cComponents);
-
- m_pOEMHelp = NULL;
-
-}
-
-COemUni2::~COemUni2()
-{
- // Make sure that helper interface is released.
- if(NULL != m_pOEMHelp)
- {
- m_pOEMHelp->Release();
- m_pOEMHelp = NULL;
- }
-
- // If this instance of the object is being deleted, then the reference
- // count should be zero.
- assert(0 == m_cRef);
-}
-
-HRESULT __stdcall
-COemUni2::
-QueryInterface(
- const IID& iid,
- void** ppv
- )
-{
- VERBOSE(L"COemUni2::QueryInterface() entry.");
-
- if (iid == IID_IUnknown)
- {
- *ppv = static_cast<IUnknown*>(this);
- VERBOSE(DLLTEXT("COemUni2::QueryInterface IUnknown.\r\n"));
- }
- else if (iid == IID_IPrintOemUni2)
- {
- VERBOSE(DLLTEXT("COemUni2::QueryInterface IPrintOemUni2.\r\n"));
-
- *ppv = static_cast<IPrintOemUni2*>(this);
- }
- else
- {
- WARNING(DLLTEXT("COemUni2::QueryInterface NULL. Returning E_NOINTERFACE.\r\n"));
-
- *ppv = NULL;
- return E_NOINTERFACE;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef();
- return S_OK;
-}
-
-ULONG __stdcall
-COemUni2::
-AddRef(
- VOID
- )
-{
- VERBOSE(L"COemUni2::AddRef() entry.");
-
- return InterlockedIncrement(&m_cRef);
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall
-COemUni2::
-Release(
- VOID
- )
-{
- VERBOSE(L"COemUni2::Release() entry.");
- ULONG cRef = InterlockedDecrement(&m_cRef);
-
- if (cRef == 0)
- {
- delete this;
- return 0;
- }
- return cRef;
-}
-
-HRESULT __stdcall
-COemUni2::
-CommandCallback(
- PDEVOBJ pdevobj,
- DWORD dwCallbackID,
- DWORD dwCount,
- PDWORD pdwParams,
- OUT INT *piResult
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::CommandCallback
-
- The IPrintOemUni::CommandCallback method is used
- to provide dynamically generated printer commands
- for Unidrv-supported printers.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- dwCallbackID - value representing the printer command's
- *CallbackID attribute in the printer's generic printer
- description (GPD) file.
- dwCount - value representing the number of elements
- in the array pointed to by pdwParams. Can be 0.
- pdwParams - pointer to an array of DWORD-sized parameters
- containing values specified by the printer commands
- *Params attribute in the printer's GPD file. Can be NULL.
- piResult - Receives a method-supplied result value.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2::CommandCallback() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(dwCallbackID);
- UNREFERENCED_PARAMETER(dwCount);
- UNREFERENCED_PARAMETER(pdwParams);
-
- *piResult = 0;
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-Compression(
- PDEVOBJ pdevobj,
- PBYTE pInBuf,
- PBYTE pOutBuf,
- DWORD dwInLen,
- DWORD dwOutLen,
- OUT INT *piResult
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::Compression
-
- The IPrintOemUni::Compression method can be used
- with Unidrv-supported printers to provide a customized
- bitmap compression method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pInBuf - pointer to input scan line data.
- pOutBuf - pointer to an output buffer to receive
- compressed scan line data.
- dwInLen - length of the input data.
- dwOutLen - length of the output buffer.
- piResult - Receives a method-supplied result value. If the
- operation succeeds, this value should be the number
- of compressed bytes, which must not be larger than
- the value received for dwOutLen. If an error occurs,
- or if the method cannot compress, the result value
- should be -1.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2::Compression() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pInBuf);
- UNREFERENCED_PARAMETER(pOutBuf);
- UNREFERENCED_PARAMETER(dwInLen);
- UNREFERENCED_PARAMETER(dwOutLen);
- UNREFERENCED_PARAMETER(piResult);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-DevMode(
- DWORD dwMode,
- POEMDMPARAM pOemDMParam
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DevMode
-
- The IPrintOemUni::DevMode method, provided by
- rendering plug-ins for Unidrv, performs operations
- on private DEVMODE members.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::DevMode method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dwMode - caller-supplied constant. Refer to the docs
- for more information.
- pOemDMParam - pointer to an OEMDMPARAM structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2:DevMode entry.");
-
- DBG_OEMDMPARAM(DBG_VERBOSE, L"pOemDMParam", pOemDMParam);
-
- return hrOEMDevMode(dwMode, pOemDMParam);
-}
-
-HRESULT __stdcall
-COemUni2::
-DisableDriver(
- VOID
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DisableDriver
-
- The IPrintOemUni::DisableDriver method allows a rendering
- plug-in for Unidrv to free resources that were allocated by the
- plug-in's IPrintOemUni::EnableDriver method. This is the last
- IPrintOemUni interface method that is called before the rendering
- plug-in is unloaded.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::DisableDriver method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- VOID
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2::DisableDriver() entry.");
-
- // Release reference to Printer Driver's interface.
- //
- if (this->m_pOEMHelp)
- {
- this->m_pOEMHelp->Release();
- this->m_pOEMHelp = NULL;
- }
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-DisablePDEV(
- PDEVOBJ pdevobj
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DisablePDEV
-
- The IPrintOemUni::DisablePDEV method performs the same types of
- operations as the DrvDisablePDEV function. Its purpose is to allow a
- rendering plug-in to delete the private PDEV structure that is pointed
- to by the DEVOBJ structure's pdevOEM member. This PDEV structure
- is one that was allocated by the plug-in's IPrintOemUni::EnablePDEV method.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::DisablePDEV method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2::DisablePDEV() entry.");
-
- POEMPDEV pOemPDEV = static_cast<POEMPDEV>(pdevobj->pdevOEM);
- delete pOemPDEV;
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-DownloadCharGlyph(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- HGLYPH hGlyph,
- PDWORD pdwWidth,
- OUT DWORD *pdwResult
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DownloadCharGlyph
-
- The IPrintOemUni::DownloadCharGlyph method enables a
- rendering plug-in for Unidrv to send a character glyph for
- a specified soft font to the printer.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pUFObj - pointer to a UNIFONTOBJ structure.
- hGlyph - glyph handle.
- pdwWidth - pointer to receive the method-supplied width of the character.
- pdwResult - Receives a method-supplied value representing the amount
- of printer memory, in bytes, required to store the character glyph.
- If the operation fails, the returned value should be zero.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2::DownloadCharGlyph() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(hGlyph);
- UNREFERENCED_PARAMETER(pdwWidth);
- UNREFERENCED_PARAMETER(pdwResult);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-DownloadFontHeader(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- OUT DWORD *pdwResult
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DownloadFontHeader
-
- The IPrintOemUni::DownloadFontHeader method allows a
- rendering plug-in for Unidrv to send a font's header
- information to a printer.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pUFObj - pointer to a UNIFONTOBJ structure.
- pdwResult - Receives a method-supplied value representing the amount
- of printer memory, in bytes, required to store the font header
- information. If the operation fails, the returned value should be zero.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2::DownloadFontHeader() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(pdwResult);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-DriverDMS(
- PVOID pDevObj,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DriverDMS
-
- The IPrintOemUni::DriverDMS method allows a rendering
- plug-in for Unidrv to indicate that it uses a device-managed
- drawing surface instead of the default GDI-managed surface.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::DriverDMS method.
-
- Please refer to DDK documentation for more details. For general info
- on device managed surfaces and how to handle them, please refer to
- the section titled "Handling Device-Managed Surfaces".
-
-Arguments:
-
- pDevObj - pointer to a DEVOBJ structure.
- pBuffer - pointer to a buffer to receive method-specified flags.
- cbSize - size, in bytes, of the buffer pointed to by pBuffer.
- pcbNeeded - pointer to a location to receive the required
- minimum pBuffer size.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2::DriverDMS() entry.");
-
- UNREFERENCED_PARAMETER(pDevObj);
- UNREFERENCED_PARAMETER(pBuffer);
- UNREFERENCED_PARAMETER(cbSize);
- UNREFERENCED_PARAMETER(pcbNeeded);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-EnableDriver(
- DWORD dwDriverVersion,
- DWORD cbSize,
- PDRVENABLEDATA pded
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::EnableDriver
-
- The IPrintOemUni::EnableDriver method allows a rendering
- plug-in for Unidrv to hook out some graphics DDI functions.
-
- The IPrintOemUni::EnableDriver method allows a rendering
- plug-in to perform the same types of operations as the
- DrvEnableDriver function. Like the DrvEnableDriver function,
- the IPrintOemUni::EnableDriver method is responsible for
- providing addresses of internally supported graphics DDI functions,
- or DDI hook functions.
-
- The method should fill the supplied DRVENABLEDATA structure
- and allocate an array of DRVFN structures. It should fill the
- array with pointers to hooking functions, along with winddi.h-defined
- index values that identify the hooked out graphics DDI functions.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::EnableDriver method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- DriverVersion - interface version number. This value is
- defined by PRINTER_OEMINTF_VERSION, in printoem.h.
- cbSize - size, in bytes, of the structure pointed to by pded.
- pded - pointer to a DRVENABLEDATA structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- UNREFERENCED_PARAMETER(dwDriverVersion);
- UNREFERENCED_PARAMETER(cbSize);
-
- VERBOSE(L"COemUni2::EnableDriver() entry.");
-
- pded->iDriverVersion = PRINTER_OEMINTF_VERSION;
- pded->c = sizeof(s_aOemHookFuncs) / sizeof(DRVFN);
- pded->pdrvfn = (DRVFN *) s_aOemHookFuncs;
-
- // Even if nothing is done, need to return S_OK so
- // that DisableDriver() will be called, which releases
- // the reference to the Printer Driver's interface.
- //
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-EnablePDEV(
- PDEVOBJ pdevobj,
- _In_ PWSTR pPrinterName,
- ULONG cPatterns,
- HSURF *phsurfPatterns,
- ULONG cjGdiInfo,
- GDIINFO *pGdiInfo,
- ULONG cjDevInfo,
- DEVINFO *pDevInfo,
- DRVENABLEDATA *pded,
- OUT PDEVOEM *ppDevOem
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::EnablePDEV
-
- The IPrintOemUni::EnablePDEV method performs the same types
- of operations as the DrvEnablePDEV function that is exported
- by a printer graphics DLL. Its purpose is to allow a rendering
- plug-in to create its own PDEV structure. For more information
- about PDEV structures, see "Customized PDEV Structures" in the DDK docs.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::EnablePDEV method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pPrinterName - pointer to a text string representing the
- logical address of the printer.
- cPatterns - value representing the number of HSURF-typed
- surface handles contained in the buffer pointed to by
- phsurfPatterns.
- phsurfPatterns - pointer to a buffer that is large enough to
- contain cPatterns number of HSURF-typed surface handles.
- The handles represent surface fill patterns.
- cjGdiInfo - value representing the size of the structure pointed
- to by pGdiInfo.
- pGdiInfo - pointer to a GDIINFO structure.
- cjDevInfo - value representing the size of the structure pointed
- to by pDevInfo.
- pDevInfo - pointer to a DEVINFO structure.
- pded - pointer to a DRVENABLEDATA structure containing the
- addresses of the printer driver's graphics DDI hooking functions.
- pDevOem - Receives a method-supplied pointer to a private PDEV structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
- If the operation fails, the method should call SetLastError to set an error code.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2::EnablePDEV() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pPrinterName);
- UNREFERENCED_PARAMETER(cPatterns);
- UNREFERENCED_PARAMETER(phsurfPatterns);
- UNREFERENCED_PARAMETER(cjGdiInfo);
- UNREFERENCED_PARAMETER(cjDevInfo);
-
- #ifndef DBG
- UNREFERENCED_PARAMETER(pGdiInfo);
- UNREFERENCED_PARAMETER(pDevInfo);
- #endif
-
- // Allocate an instance of our private PDEV.
- //
- POEMPDEV pOemPDEV = new COemPDEV();
- *ppDevOem = pOemPDEV;
-
- if (NULL == pOemPDEV)
- {
- return E_FAIL;
- }
-
- pOemPDEV->InitializeDDITable(pded);
-
- DBG_GDIINFO(DBG_VERBOSE, L"pGdiInfo", pGdiInfo);
- DBG_DEVINFO(DBG_VERBOSE, L"pDevInfo", pDevInfo);
-
- pOemPDEV->bPreAnalysis = FALSE; // Initialize the pre-analysis flag
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-FilterGraphics(
- PDEVOBJ pdevobj,
- PBYTE pBuf,
- DWORD dwLen
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::FilterGraphics
-
- The IPrintOemUni::FilterGraphics method can be used with
- Unidrv-supported printers to modify scan line data and send
- it to the spooler.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pBuf - pointer to a buffer containing scan line data to be printed.
- dwLen - value representing the length, in bytes, of the data
- pointed to by pBuf.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- DWORD dwResult;
-
- VERBOSE(L"COemUni2::FilterGraphics() entry.");
-
- m_pOEMHelp->DrvWriteSpoolBuf(pdevobj, pBuf, dwLen, &dwResult);
-
- if (dwResult == dwLen)
- return S_OK;
- else
- return S_FALSE;
-}
-
-HRESULT __stdcall
-COemUni2::
-GetImplementedMethod(
- _In_ PSTR pMethodName
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::GetImplementedMethod
-
- The IPrintOemUni::GetImplementedMethod method is used by
- Unidrv to determine which IPrintOemUni interface methods
- have been implemented by a rendering plug-in.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::GetImplemented method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pMethodName - pointer to a string representing the name of an
- IPrintOemUni interface method, such as "ImageProcessing"
- for IPrintOemUni::ImageProcessing or "FilterGraphics" for
- IPrintOemUni::FilterGraphics.
-
-Return Value:
-
- S_OK The operation succeeded (the specified method is implemented).
- S_FALSE The operation failed (the specified method is not implemented).
-
-
---*/
-
-{
- HRESULT Result = S_FALSE;
-
- VERBOSE(L"COemUni2::GetImplementedMethod() entry.");
- VERBOSE(TEXT("\tCOemUni2::%hs: "), pMethodName);
-
- // Unidrv only calls GetImplementedMethod for optional
- // methods. The required methods are assumed to be
- // supported.
-
- // Return S_OK for supported function (i.e. implemented),
- // and S_FALSE for functions that aren't supported (i.e. not implemented).
- switch (*pMethodName)
- {
- case 'C':
- if (!strcmp(NAME_CommandCallback, pMethodName))
- {
- Result = S_OK;
- }
- break;
- case 'F':
- if (!strcmp(NAME_FilterGraphics, pMethodName))
- {
- Result = S_OK;
- }
- break;
- }
-
- VERBOSE(Result == S_OK ? TEXT("Supported\r\n") : TEXT("NOT supported\r\n"));
-
- return Result;
-}
-
-HRESULT __stdcall
-COemUni2::
-GetInfo(
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::GetInfo
-
- A rendering plug-in's IPrintOemUni::GetInfo method returns
- identification information.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::GetInfo method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dwMode - Contains one of the following caller-supplied integer constants.
- OEMGI_GETSIGNATURE - The method must return a unique four-byte
- identification signature. The plug-in must also place this signature
- in OPTITEM structures, as described in the description of the
- OEMCUIPPARAM. structure's pOEMOptItems member.
- OEMGI_GETVERSION - The method must return the user interface
- plug-in's version number as a DWORD. The version format is
- developer-defined.
- pBuffer - pointer to memory allocated to receive the information specified
- by dwInfo.
- cbSize - size of the buffer pointed to by pBuffer.
- pcbNeeded - pointer to a location to receive the number of bytes written
- into the buffer pointed to by pBuffer.
-
-Return Value:
-
- S_OK The operation succeeded (the specified method is implemented).
- S_FALSE The operation failed (the specified method is not implemented).
-
-
---*/
-
-{
- PWSTR pszTag = L"COemUni2::GetInfo entry.";
-
- switch(dwMode)
- {
- case OEMGI_GETSIGNATURE:
- pszTag = L"COemUni2::GetInfo entry. [OEMGI_GETSIGNATURE]";
- break;
- case OEMGI_GETVERSION:
- pszTag = L"COemUni2::GetInfo entry. [OEMGI_GETVERSION]";
- break;
- }
-
- VERBOSE(pszTag);
-
- // Validate parameters.
- if( (NULL == pcbNeeded)
- ||
- ( (OEMGI_GETSIGNATURE != dwMode)
- &&
- (OEMGI_GETVERSION != dwMode) ) )
- {
- WARNING(DLLTEXT("COemUni2::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER.\r\n"));
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Set expected buffer size.
- *pcbNeeded = sizeof(DWORD);
-
- // Check buffer size is sufficient.
- if((cbSize < *pcbNeeded) || (NULL == pBuffer))
- {
- VERBOSE(TEXT("COemUni2::GetInfo() exit insufficient buffer!\r\n"));
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- // OEM DLL Signature
- case OEMGI_GETSIGNATURE:
- *(PDWORD)pBuffer = OEM_SIGNATURE;
- break;
-
- // OEM DLL version
- case OEMGI_GETVERSION:
- *(PDWORD)pBuffer = OEM_VERSION;
- break;
-
- // dwMode not supported.
- default:
- // Set written bytes to zero since nothing was written.
- WARNING(DLLTEXT("COemUni2::GetInfo() exit mode not supported.\r\n"));
- *pcbNeeded = 0;
- SetLastError(ERROR_NOT_SUPPORTED);
- return E_FAIL;
- }
-
- VERBOSE(TEXT("COemUni2::GetInfo() exit S_OK, (*pBuffer is %#x).\r\n"), *(PDWORD)pBuffer);
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-HalftonePattern(
- PDEVOBJ pdevobj,
- PBYTE pHTPattern,
- DWORD dwHTPatternX,
- DWORD dwHTPatternY,
- DWORD dwHTNumPatterns,
- DWORD dwCallbackID,
- PBYTE pResource,
- DWORD dwResourceSize
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::HalftonePattern
-
- The IPrintOemUni::HalftonePattern method can be used with
- Unidrv-supported printers to create or modify a halftone
- pattern before it is used in a halftoning operation.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pHTPattern - pointer to a buffer to receive the method-supplied
- halftone pattern. Buffer size, in bytes, is:
- (((dwHTPatternX * dwHTPatternY) + 3)/4) * 4 * dwHTNumPatterns.
- dwHTPatternX - length, in pixels, of the halftone pattern, as specified
- by the GPD file's *HTPatternSize attribute.
- dwHTPatternY - height, in pixels, of the halftone pattern, as specified
- by the GPD file's *HTPatternSize attribute.
- dwHTNumPatterns - number of patterns, as specified by the GPD file's
- *HTNumPatterns attribute. This can be 1 or 3.
- dwCallbackID - value identifying the halftone method, as specified by
- the GPD file's *HTCallbackID attribute.
- pResource - pointer to a buffer containing a halftone pattern, as
- specified by the GPD file's *rcHTPatternID attribute. This can be NULL.
- dwResourceSize - size of the halftone pattern contained in the buffer
- pointed to by pResource. This is zero if pResource is NULL.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2::HalftonePattern() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pHTPattern);
- UNREFERENCED_PARAMETER(dwHTPatternX);
- UNREFERENCED_PARAMETER(dwHTPatternY);
- UNREFERENCED_PARAMETER(dwHTNumPatterns);
- UNREFERENCED_PARAMETER(dwCallbackID);
- UNREFERENCED_PARAMETER(pResource);
- UNREFERENCED_PARAMETER(dwResourceSize);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-ImageProcessing(
- PDEVOBJ pdevobj,
- PBYTE pSrcBitmap,
- PBITMAPINFOHEADER pBitmapInfoHeader,
- PBYTE pColorTable,
- DWORD dwCallbackID,
- PIPPARAMS pIPParams,
- OUT PBYTE *ppbResult
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::ImageProcessing
-
- The IPrintOemUni::ImageProcessing method can be used with
- Unidrv-supported printers to modify image bitmap data, in order
- to perform color formatting or halftoning. The method can return
- the modified bitmap to Unidrv or send it directly to the print spooler.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pSrcBitmap - pointer to an input device-independent bitmap (DIB).
- pBitmapInfoHeader - pointer to a BITMAPINFOHEADER structure
- that describes the bitmap pointed to by pSrcBitmap.
- pColorTable - pointer to a color table. Used only if the output format is
- eight bits per pixel.
- dwCallbackID - value assigned to the *IPCallbackID attribute of the
- currently selected option for the ColorMode feature.
- pIPParams - pointer to an IPPARAMS structure.
- ppbResult -
- If the method returns the converted DIB to Unidrv:
- If the conversion succeeds, the method should return a
- pointer to a buffer containing the converted DIB.
- Otherwise it should return NULL.
- If the method sends the converted DIB to the print spooler:
- If the operation succeeds, the method should return TRUE.
- Otherwise it should return FALSE.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2::ImageProcessing() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pSrcBitmap);
- UNREFERENCED_PARAMETER(pBitmapInfoHeader);
- UNREFERENCED_PARAMETER(pColorTable);
- UNREFERENCED_PARAMETER(dwCallbackID);
- UNREFERENCED_PARAMETER(pIPParams);
- UNREFERENCED_PARAMETER(ppbResult);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-MemoryUsage(
- PDEVOBJ pdevobj,
- POEMMEMORYUSAGE pMemoryUsage
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::MemoryUsage
-
- The IPrintOemUni::MemoryUsage method can be used with
- Unidrv-supported printers to specify the amount of memory
- required for use by a rendering plug-in's IPrintOemUni::ImageProcessing
- method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pMemoryUsage - pointer to an OEMMEMORYUSAGE structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2::MemoryUsage() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pMemoryUsage);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-OutputCharStr(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- DWORD dwType,
- DWORD dwCount,
- PVOID pGlyph
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::OutputCharStr
-
- The IPrintOemUni::OutputCharStr method enables a rendering
- plug-in to control the printing of font glyphs.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pUFObj - pointer to a UNIFONTOBJ structure.
- dwType - value indicating the type of glyph specifier array
- pointed to by pGlyph. Valid values are as follows:
- TYPE_GLYPHHANDLE The pGlyph array elements are glyph
- handles of type HGLYPH.
- TYPE_GLYPHID The pGlyph array elements are glyph
- identifiers of type DWORD.
- dwCount - value representing the number of glyph specifiers in
- the array pointed to by pGlyph.
- pGlyph - pointer to an array of glyph specifiers, where the array
- element type is indicated by dwType.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2::OutputCharStr() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(dwType);
- UNREFERENCED_PARAMETER(dwCount);
- UNREFERENCED_PARAMETER(pGlyph);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-PublishDriverInterface(
- IUnknown *pIUnknown
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::PublishDriverInterface
-
- The IPrintOemUni::PublishDriverInterface method allows a
- rendering plug-in for Unidrv to obtain the Unidrv driver's
- IPrintOemDriverUni interface.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::PublishDriverInterface method and the method
- must return S_OK, or the driver will not call the plug-in's other
- IPrintOemUni interface methods.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pIUnknown - pointer to the IUnknown interface of the driver's
- IPrintOemDriverUni COM interface.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2::PublishDriverInterface() entry.");
-
- // Need to store pointer to Driver Helper functions, if we already haven't.
- if (this->m_pOEMHelp == NULL)
- {
- HRESULT hResult;
-
- // Get Interface to Helper Functions.
- hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverUni, (void** ) &(this->m_pOEMHelp));
-
- if(!SUCCEEDED(hResult))
- {
- // Make sure that interface pointer reflects interface query failure.
- this->m_pOEMHelp = NULL;
-
- return E_FAIL;
- }
- }
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-ResetPDEV(
- PDEVOBJ pdevobjOld,
- PDEVOBJ pdevobjNew
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::ResetPDEV
-
- A rendering plug-in's IPrintOemUni::ResetPDEV method performs
- the same types of operations as the DrvResetPDEV function. During
- the processing of an application's call to the Platform SDK ResetDC
- function, the IPrintOemUni::ResetPDEV method is called by Unidrv's
- DrvResetPDEV function. For more information about when DrvResetPDEV
- is called, see its description in the DDK docs.
-
- The rendering plug-in's private PDEV structure's address is contained
- in the pdevOEM member of the DEVOBJ structure pointed to by pdevobjOld.
- The IPrintOemUni::ResetPDEV method should use relevant members of this
- old structure to fill in the new structure, which is referenced through pdevobjNew.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::ResetPDEV method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobjOld - pointer to a DEVOBJ structure containing current PDEV information.
- pdevobjNew - pointer to a DEVOBJ structure into which the method should place
- new PDEV information.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2::ResetPDEV() entry.");
-
- UNREFERENCED_PARAMETER(pdevobjOld);
- UNREFERENCED_PARAMETER(pdevobjNew);
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-SendFontCmd(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- PFINVOCATION pFInv
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::SendFontCmd
-
- The IPrintOemUni::SendFontCmd method enables a rendering
- plug-in to modify a printer's font selection command and then
- send it to the printer.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pUFObj - pointer to a UNIFONTOBJ structure.
- pFInv - pointer to an FINVOCATION structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2::SendFontCmd() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(pFInv);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-TextOutAsBitmap(
- SURFOBJ *pso,
- STROBJ *pstro,
- FONTOBJ *pfo,
- CLIPOBJ *pco,
- RECTL *prclExtra,
- RECTL *prclOpaque,
- BRUSHOBJ *pboFore,
- BRUSHOBJ *pboOpaque,
- POINTL *pptlOrg,
- MIX mix
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::TextOutAsBitmap
-
- The IPrintOemUni::TextOutAsBitmap method allows a rendering
- plug-in to create a bitmap image of a text string, in case a
- downloadable font is not available.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface on which to be written.
- pstro - Defines the glyphs to be rendered and their positions
- pfo - Specifies the font to be used
- pco - Defines the clipping path
- prclExtra - A NULL-terminated array of rectangles to be filled
- prclOpaque - Specifies an opaque rectangle
- pboFore - Defines the foreground brush
- pboOpaque - Defines the opaque brush
- pptlOrg - Pointer to POINT struct , defining th origin
- mix - Specifies the foreground and background ROPs for pboFore
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2::TextOutAsBitmap() entry.");
-
- UNREFERENCED_PARAMETER(pso);
- UNREFERENCED_PARAMETER(pstro);
- UNREFERENCED_PARAMETER(pfo);
- UNREFERENCED_PARAMETER(pco);
- UNREFERENCED_PARAMETER(prclExtra);
- UNREFERENCED_PARAMETER(prclOpaque);
- UNREFERENCED_PARAMETER(pboFore);
- UNREFERENCED_PARAMETER(pboOpaque);
- UNREFERENCED_PARAMETER(pptlOrg);
- UNREFERENCED_PARAMETER(mix);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-TTDownloadMethod(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- OUT DWORD *pdwResult
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::TTDownloadMethod
-
- The IPrintOemUni::TTDownloadMethod method enables a rendering
- plug-in to indicate the format that Unidrv should use for a specified
- TrueType soft font.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pUFObj - pointer to a UNIFONTOBJ structure.
- pdwResult - Receives one of the following method-supplied constant values:
- TTDOWNLOAD_BITMAP Unidrv should download the specified font as bitmaps.
- TTDOWNLOAD_DONTCARE Unidrv can select the font format.
- TTDOWNLOAD_GRAPHICS Unidrv should print TrueType fonts as graphics,
- instead of downloading the font.
- TTDOWNLOAD_TTOUTLINE Unidrv should download the specified font as outlines.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2::TTDownloadMethod() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(pdwResult);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-TTYGetInfo(
- PDEVOBJ pdevobj,
- DWORD dwInfoIndex,
- PVOID pOutputBuf,
- DWORD dwSize,
- DWORD *pcbcNeeded
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::TTYGetInfo
-
- The IPrintOemUni::TTYGetInfo method enables a rendering plug-in
- to supply Unidrv with information relevant to text-only printers.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- dwInfoIndex - constant identifying the type of information being requested.
- The following constant values are defined:
- OEMTTY_INFO_CODEPAGE - The pOutputBuf parameter points to a
- DWORD in which the method should return the number of the
- code page to be used.
- OEMTTY_INFO_MARGINS - The pOutputBuf parameter points to a
- RECT structure in which the method should return page margin
- widths, in tenths of millimeters (for example, 20 represents 2 mm).
- If the entire page is printable, all margin values must be 0.
- OEMTTY_INFO_NUM_UFMS - The pOutputBuf parameter points to a
- DWORD in which the method should return the number of resource
- IDs of the UFMs for 10, 12, and 17 CPI fonts. To actually obtain
- these resource IDs, perform a query using OEMTTY_INFO_UFM_IDS.
- OEMTTY_INFO_UFM_IDS - The pOutputBuf parameter points to an array
- of DWORDs of sufficient size to hold the number of resource IDs of
- the UFMs for 10, 12, and 17 CPI fonts. (This number is obtained by
- using OEMTTY_INFO_NUM_UFMS in a query.) The method should
- return the resource IDs of the UFMs for 10,12, and 17 CPI fonts.
- pOutputBuf - pointer to a buffer to receive the requested information.
- dwSize - size, in bytes, of the buffer pointed to by pOutputBuf.
- pcbcNeeded - pointer to a location to receive the number of bytes written into
- the buffer pointed to by pOutputBuf. If the number of bytes required is
- smaller than the number specified by dwSize, the method should supply
- the required size and return E_FAIL.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2::TTYGetInfo() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(dwInfoIndex);
- UNREFERENCED_PARAMETER(pOutputBuf);
- UNREFERENCED_PARAMETER(dwSize);
- UNREFERENCED_PARAMETER(pcbcNeeded);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-WritePrinter(
- PDEVOBJ pdevobj,
- PVOID pBuf,
- DWORD cbBuffer,
- PDWORD pcbWritten
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni2::WritePrinter
-
- The IPrintOemUni2::WritePrinter method, if supported, enables a
- rendering plug-in to capture all output data generated by a Unidrv
- driver. If this method is not supported, the output data would
- otherwise be sent to the spooler in a call to the spooler's WritePrinter API.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pBuf - pointer to the first byte of an array of bytes that contains
- the output data generated by the Unidrv driver.
- cbBuffer - size, in bytes, of the array pointed to by pBuf.
- pcbWritten - pointer to a DWORD value that receives the number
- of bytes of data that were successfully sent to the plug-in.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE(L"COemUni2::WritePrinter() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pBuf);
- UNREFERENCED_PARAMETER(cbBuffer);
- UNREFERENCED_PARAMETER(pcbWritten);
-
- return E_NOTIMPL;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// oem class factory
-//
-class COemCF : public IClassFactory
-{
-public:
- // *** IUnknown methods ***
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef)(THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release)(THIS);
-
- // *** IClassFactory methods ***
- STDMETHOD(CreateInstance)(THIS_
- LPUNKNOWN pUnkOuter,
- REFIID riid,
- LPVOID FAR* ppvObject);
- STDMETHOD(LockServer)(THIS_ BOOL bLock);
-
-
- // Constructor
- COemCF(): m_cRef(1) { };
-
- // Destructor
- ~COemCF() { };
-
-protected:
- LONG m_cRef;
-
-};
-
-///////////////////////////////////////////////////////////
-//
-// Class factory body
-//
-HRESULT __stdcall
-COemCF::
-QueryInterface(
- const IID& iid,
- void** ppv)
-{
- VERBOSE(L"COemCF::QueryInterface entry.");
- if ((iid == IID_IUnknown) || (iid == IID_IClassFactory))
- {
- *ppv = static_cast<COemCF*>(this);
- }
- else
- {
- *ppv = NULL;
-#if DBG && defined(USERMODE_DRIVER)
- TCHAR szOutput[80] = {0};
- StringFromGUID2(iid, szOutput, _countof(szOutput)); // can not fail!
- VERBOSE(TEXT("COemCF::QueryInterface %s not supported.\r\n"), szOutput);
-#endif
- return E_NOINTERFACE;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef();
- return S_OK;
-}
-
-ULONG __stdcall
-COemCF::
-AddRef()
-{
- return InterlockedIncrement(&m_cRef);
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall
-COemCF::
-Release()
-{
-// ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
- }
- return cRef;
-}
-
-// IClassFactory implementation
-HRESULT __stdcall
-COemCF::
-CreateInstance(
- IUnknown* pUnknownOuter,
- const IID& iid,
- void** ppv)
-{
- VERBOSE(L"Class factory:Create component.");
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Cannot aggregate.
- if (pUnknownOuter != NULL)
- {
- return CLASS_E_NOAGGREGATION;
- }
-
- // Create component.
- COemUni2* pOemCP = new COemUni2;
- if (pOemCP == NULL)
- {
- return E_OUTOFMEMORY;
- }
-
- // Get the requested interface.
- HRESULT hr = pOemCP->QueryInterface(iid, ppv);
-
- // Release the IUnknown pointer.
- // (If QueryInterface failed, component will delete itself.)
- pOemCP->Release();
- return hr;
-}
-
-// LockServer
-HRESULT __stdcall
-COemCF::
-LockServer(
- BOOL bLock
- )
-{
- if (bLock)
- {
- InterlockedIncrement(&g_cServerLocks);
- }
- else
- {
- InterlockedDecrement(&g_cServerLocks);
- }
- return S_OK;
-}
-
-
-//
-// Registration functions
-//
-
-//
-// Can DLL unload now?
-//
-STDAPI DllCanUnloadNow(void)
-{
- VERBOSE(L"DllCanUnloadNow entry.");
-
- //
- // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers
- // are unloaded, Unidrv and Pscript driver ignore the return value of
- // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL.
- //
- // If OEM DLL spins off a working thread that also uses the OEM DLL, the
- // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise
- // it may crash after Unidrv or Pscript calls FreeLibrary.
- //
-
- if ((g_cComponents == 0) && (g_cServerLocks == 0))
- {
- return S_OK;
- }
- else
- {
- return S_FALSE;
- }
-}
-
-//
-// Get class factory
-//
-STDAPI DllGetClassObject(
- _In_ REFCLSID clsid,
- _In_ REFIID iid,
- _Outptr_ LPVOID* ppv
- )
-{
- VERBOSE(L"DllGetClassObject:\tCreate class factory.");
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Can we create this component?
- if (clsid != CLSID_OEMRENDER)
- {
- ERR(ERRORTEXT("DllGetClassObject:\tClass not available!\r\n"));
- return CLASS_E_CLASSNOTAVAILABLE;
- }
-
- // Create class factory.
- COemCF* pFontCF = new COemCF; // Reference count set to 1 in constructor
- if (pFontCF == NULL)
- {
- ERR(ERRORTEXT("DllGetClassObject:\tOut of Memory!\r\n"));
- return E_OUTOFMEMORY;
- }
-
- // Get requested interface.
- HRESULT hrResult = pFontCF->QueryInterface(iid, ppv);
- pFontCF->Release();
-
- return hrResult;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/intrface.h
deleted file mode 100644
index 28b2a82f..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/intrface.h
+++ /dev/null
@@ -1,288 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.H
-//
-//
-// PURPOSE: Define COM interface for User Mode Printer Customization DLL.
-//
-// History:
-// 06/26/03 xxx created.
-//
-//
-
-#pragma once
-
-/////////////////////////////////////////////////////////
-// String Literals
-/////////////////////////////////////////////////////////
-
-CONST CHAR NAME_CommandCallback[] = "CommandCallback";
-CONST CHAR NAME_FilterGraphics[] = "FilterGraphics";
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// COemUni2
-//
-// Interface for Unidrv OEM sample rendering module
-//
-class COemUni2 : public IPrintOemUni2
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- //
- // Method for publishing Driver interface.
- //
- STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown);
-
- //
- // Method for getting the implemented methods.
- // Returns S_OK if the given method is implemneted.
- // Returns S_FALSE if the given method is notimplemneted.
- //
-
- STDMETHOD(GetImplementedMethod)(THIS_ _In_ PSTR pMethodName);
-
- //
- // Method for OEM to specify DDIs that have been hooked
- //
-
- STDMETHOD(EnableDriver) (THIS_ DWORD DriverVersion,
- DWORD cbSize,
- PDRVENABLEDATA pded);
-
- //
- // Method to notify OEM plugin that it is no longer required
- //
-
- STDMETHOD(DisableDriver) (THIS);
-
- //
- // Method for OEM plugin to contruct its own PDEV
- //
-
- STDMETHOD(EnablePDEV)(THIS_ PDEVOBJ pdevobj,
- _In_ PWSTR pPrinterName,
- ULONG cPatterns,
- HSURF *phsurfPatterns,
- ULONG cjGdiInfo,
- GDIINFO *pGdiInfo,
- ULONG cjDevInfo,
- DEVINFO *pDevInfo,
- DRVENABLEDATA *pded,
- OUT PDEVOEM *pDevOem);
-
- //
- // Method for OEM to free any resource associated with its PDEV
- //
-
- STDMETHOD(DisablePDEV)(THIS_ PDEVOBJ pdevobj);
-
- //
- // Method for OEM to transfer from old PDEV to new PDEV
- //
-
- STDMETHOD(ResetPDEV)(THIS_ PDEVOBJ pdevobjOld,
- PDEVOBJ pdevobjNew);
-
- //
- // Get OEM dll related information
- //
-
- STDMETHOD(GetInfo)(THIS_ DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded);
-
- //
- // OEMDriverDMS - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(DriverDMS)(THIS_ PVOID pDevObj,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded);
-
- //
- // OEMDevMode
- //
-
- STDMETHOD(DevMode)(THIS_ DWORD dwMode,
- POEMDMPARAM pOemDMParam);
-
- //
- // OEMCommandCallback - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(CommandCallback)(THIS_ PDEVOBJ pdevobj,
- DWORD dwCallbackID,
- DWORD dwCount,
- PDWORD pdwParams,
- OUT INT *piResult);
-
- //
- // OEMImageProcessing - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(ImageProcessing)(THIS_ PDEVOBJ pdevobj,
- PBYTE pSrcBitmap,
- PBITMAPINFOHEADER pBitmapInfoHeader,
- PBYTE pColorTable,
- DWORD dwCallbackID,
- PIPPARAMS pIPParams,
- OUT PBYTE *ppbResult);
-
- //
- // OEMFilterGraphics - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(FilterGraphics)(THIS_ PDEVOBJ pdevobj,
- PBYTE pBuf,
- DWORD dwLen);
- //
- // OEMCompression - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(Compression)(THIS_ PDEVOBJ pdevobj,
- PBYTE pInBuf,
- PBYTE pOutBuf,
- DWORD dwInLen,
- DWORD dwOutLen,
- OUT INT *piResult);
-
- //
- // OEMHalftone - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(HalftonePattern)(THIS_ PDEVOBJ pdevobj,
- PBYTE pHTPattern,
- DWORD dwHTPatternX,
- DWORD dwHTPatternY,
- DWORD dwHTNumPatterns,
- DWORD dwCallbackID,
- PBYTE pResource,
- DWORD dwResourceSize);
-
- //
- // OEMMemoryUsage - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(MemoryUsage)(THIS_ PDEVOBJ pdevobj,
- POEMMEMORYUSAGE pMemoryUsage);
-
- //
- // OEMTTYGetInfo - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(TTYGetInfo)(THIS_ PDEVOBJ pdevobj,
- DWORD dwInfoIndex,
- PVOID pOutputBuf,
- DWORD dwSize,
- DWORD *pcbcNeeded);
-
- //
- // OEMDownloadFontheader - UNIDRV only
- //
-
- STDMETHOD(DownloadFontHeader)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- OUT DWORD *pdwResult);
-
- //
- // OEMDownloadCharGlyph - UNIDRV only
- //
-
- STDMETHOD(DownloadCharGlyph)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- HGLYPH hGlyph,
- PDWORD pdwWidth,
- OUT DWORD *pdwResult);
-
- //
- // OEMTTDownloadMethod - UNIDRV only
- //
-
- STDMETHOD(TTDownloadMethod)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- OUT DWORD *pdwResult);
-
- //
- // OEMOutputCharStr - UNIDRV only
- //
-
- STDMETHOD(OutputCharStr)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- DWORD dwType,
- DWORD dwCount,
- PVOID pGlyph);
-
- //
- // OEMSendFontCmd - UNIDRV only
- //
-
-
- STDMETHOD(SendFontCmd)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- PFINVOCATION pFInv);
-
- //
- // OEMTextOutAsBitmap - UNIDRV only
- //
-
- STDMETHOD(TextOutAsBitmap)(THIS_ SURFOBJ *pso,
- STROBJ *pstro,
- FONTOBJ *pfo,
- CLIPOBJ *pco,
- RECTL *prclExtra,
- RECTL *prclOpaque,
- BRUSHOBJ *pboFore,
- BRUSHOBJ *pboOpaque,
- POINTL *pptlOrg,
- MIX mix);
-
- //
- // IPrintOemUni2 methods
- //
-
- //
- // Method for plugin to hook out spooler's WritePrinter API so it
- // can get access to output data Universal driver is generating
- //
- // At DrvEnablePDEV time, Universal driver will call this function with
- // pdevobj = NULL, pBuf = NULL, cbBuffer = 0 to detect if the plugin
- // implements this function. Plugin should return S_OK to indicate it is
- // implementing this function, or return E_NOTIMPL otherwise.
- //
- // In pcbWritten, plugins should return the number of bytes written to the
- // spooler's WritePrinter function. Zero doesn't carry a special meaning,
- // errors must be reported through the returned HRESULT.
- //
-
- STDMETHOD(WritePrinter)(THIS_ PDEVOBJ pdevobj,
- PVOID pBuf,
- DWORD cbBuffer,
- PDWORD pcbWritten);
-
-
- COemUni2();
- ~COemUni2();
-
-protected:
- LONG m_cRef;
- IPrintOemDriverUni* m_pOEMHelp;
-};
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.def b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.def
deleted file mode 100644
index a9534822..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY OEMPREAN
-EXPORTS DllGetClassObject PRIVATE
- DllCanUnloadNow PRIVATE
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.h b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.h
deleted file mode 100644
index f8fa44a7..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.h
+++ /dev/null
@@ -1,259 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: OEMUNI.H
-//
-//
-// PURPOSE: Define the COemPDEV class which stores the private
-// PDEV for the driver.
-//
-//
-// Functions:
-// COemPDEV constructor and destructor
-// COemPDEV::InitializeDDITable
-// COemPDEV::_SavePFN
-// COemPDEV::_ResetPointers
-//
-// History:
-// 06/24/03 xxx created.
-//
-//
-
-#pragma once
-
-#include "debug.h"
-
-#define OEM_SIGNATURE 'MSFT'
-#define OEM_VERSION 0x00000001L
-
-#define DLLTEXT(s) TEXT("OEMUNI: ") TEXT(s)
-#define ERRORTEXT(s) TEXT("ERROR ") DLLTEXT(s)
-
-class COemPDEV
-{
-public:
- __stdcall COemPDEV(void)
- {
-
- // Note that since our parent has AddRef'd the UNIDRV interface,
- // we don't do so here since our scope is identical to our
- // parent.
- //
-
- VERBOSE(L"In COemPDEV constructor...");
-
- _ResetPointers();
- }
-
- __stdcall ~COemPDEV(void)
- {
- VERBOSE(L"In COemPDEV destructor...");
- }
-
- void __stdcall InitializeDDITable(DRVENABLEDATA* pded)
- {
- VERBOSE(L"COemPDEV::InitializeDDITable entry.");
-
- UINT iDrvFn;
- UINT cDrvFn = pded->c;
- PDRVFN pDrvFn = pded->pdrvfn;
-
- for (iDrvFn = 0; iDrvFn < cDrvFn; ++iDrvFn, ++pDrvFn)
- {
- _SavePFN(pDrvFn->iFunc, pDrvFn->pfn);
- }
- }
-
-private:
-
- void __stdcall _SavePFN(ULONG uFunc, PFN pfn)
- {
-
- // Note: if a "pass-through" driver is being constructed, then
- // there is nothing for this method to do. So, to keep the
- // compiler from complaining about a switch with no case
- // statements, but which has a default statement, we surround
- // the entire construct with preprocessor controls.
- //
- switch(uFunc)
- {
- // The following are the page/band related DDI hooks.
- //
-
- case INDEX_DrvStartDoc:
- m_pfnDrvStartDoc = (PFN_DrvStartDoc)pfn;
- break;
- case INDEX_DrvEndDoc:
- m_pfnDrvEndDoc = (PFN_DrvEndDoc)pfn;
- break;
- case INDEX_DrvStartPage:
- m_pfnDrvStartPage = (PFN_DrvStartPage)pfn;
- break;
- case INDEX_DrvSendPage:
- m_pfnDrvSendPage = (PFN_DrvSendPage)pfn;
- break;
- case INDEX_DrvStartBanding:
- m_pfnDrvStartBanding = (PFN_DrvStartBanding)pfn;
- break;
- case INDEX_DrvNextBand:
- m_pfnDrvNextBand = (PFN_DrvNextBand)pfn;
- break;
- case INDEX_DrvEscape:
- m_pfnDrvEscape = (PFN_DrvEscape)pfn;
- break;
-
- // The following are the drawing related DDI hooks.
- //
- case INDEX_DrvAlphaBlend:
- m_pfnDrvAlphaBlend = (PFN_DrvAlphaBlend)pfn;
- break;
- case INDEX_DrvBitBlt:
- m_pfnDrvBitBlt = (PFN_DrvBitBlt)pfn;
- break;
- case INDEX_DrvCopyBits:
- m_pfnDrvCopyBits = (PFN_DrvCopyBits)pfn;
- break;
- case INDEX_DrvDitherColor:
- m_pfnDrvDitherColor = (PFN_DrvDitherColor)pfn;
- break;
- case INDEX_DrvFillPath:
- m_pfnDrvFillPath = (PFN_DrvFillPath)pfn;
- break;
- case INDEX_DrvFontManagement:
- m_pfnDrvFontManagement = (PFN_DrvFontManagement)pfn;
- break;
- case INDEX_DrvGetGlyphMode:
- m_pfnDrvGetGlyphMode = (PFN_DrvGetGlyphMode)pfn;
- break;
- case INDEX_DrvGradientFill:
- m_pfnDrvGradientFill = (PFN_DrvGradientFill)pfn;
- break;
- case INDEX_DrvLineTo:
- m_pfnDrvLineTo = (PFN_DrvLineTo)pfn;
- break;
- case INDEX_DrvPaint:
- m_pfnDrvPaint = (PFN_DrvPaint)pfn;
- break;
- case INDEX_DrvPlgBlt:
- m_pfnDrvPlgBlt = (PFN_DrvPlgBlt)pfn;
- break;
- case INDEX_DrvQueryAdvanceWidths:
- m_pfnDrvQueryAdvanceWidths = (PFN_DrvQueryAdvanceWidths)pfn;
- break;
- case INDEX_DrvQueryFont:
- m_pfnDrvQueryFont = (PFN_DrvQueryFont)pfn;
- break;
- case INDEX_DrvQueryFontData:
- m_pfnDrvQueryFontData = (PFN_DrvQueryFontData)pfn;
- break;
- case INDEX_DrvQueryFontTree:
- m_pfnDrvQueryFontTree = (PFN_DrvQueryFontTree)pfn;
- break;
- case INDEX_DrvRealizeBrush:
- m_pfnDrvRealizeBrush = (PFN_DrvRealizeBrush)pfn;
- break;
- case INDEX_DrvStretchBlt:
- m_pfnDrvStretchBlt = (PFN_DrvStretchBlt)pfn;
- break;
- case INDEX_DrvStretchBltROP:
- m_pfnDrvStretchBltROP = (PFN_DrvStretchBltROP)pfn;
- break;
- case INDEX_DrvStrokeAndFillPath:
- m_pfnDrvStrokeAndFillPath = (PFN_DrvStrokeAndFillPath)pfn;
- break;
- case INDEX_DrvStrokePath:
- m_pfnDrvStrokePath = (PFN_DrvStrokePath)pfn;
- break;
- case INDEX_DrvTextOut:
- m_pfnDrvTextOut = (PFN_DrvTextOut)pfn;
- break;
- case INDEX_DrvTransparentBlt:
- m_pfnDrvTransparentBlt = (PFN_DrvTransparentBlt)pfn;
- break;
-
- } // switch(uFunc)
- }
-
- void __stdcall _ResetPointers(void)
- {
- m_pfnDrvAlphaBlend = NULL;
- m_pfnDrvBitBlt = NULL;
- m_pfnDrvCopyBits = NULL;
- m_pfnDrvDitherColor = NULL;
- m_pfnDrvEndDoc = NULL;
- m_pfnDrvEscape = NULL;
- m_pfnDrvFillPath = NULL;
- m_pfnDrvFontManagement = NULL;
- m_pfnDrvGetGlyphMode = NULL;
- m_pfnDrvGradientFill = NULL;
- m_pfnDrvLineTo = NULL;
- m_pfnDrvNextBand = NULL;
- m_pfnDrvPaint = NULL;
- m_pfnDrvPlgBlt = NULL;
- m_pfnDrvQueryAdvanceWidths = NULL;
- m_pfnDrvQueryFont = NULL;
- m_pfnDrvQueryFontData = NULL;
- m_pfnDrvQueryFontTree = NULL;
- m_pfnDrvRealizeBrush = NULL;
- m_pfnDrvSendPage = NULL;
- m_pfnDrvStartBanding = NULL;
- m_pfnDrvStartDoc = NULL;
- m_pfnDrvStartPage = NULL;
- m_pfnDrvStretchBlt = NULL;
- m_pfnDrvStretchBltROP = NULL;
- m_pfnDrvStrokeAndFillPath = NULL;
- m_pfnDrvStrokePath = NULL;
- m_pfnDrvTextOut = NULL;
- m_pfnDrvTransparentBlt = NULL;
- }
-
-public:
-
- // Unidrv function pointers so that we can punt
- // back from the DDI hooks
- //
- PFN_DrvAlphaBlend m_pfnDrvAlphaBlend;
- PFN_DrvBitBlt m_pfnDrvBitBlt;
- PFN_DrvCopyBits m_pfnDrvCopyBits;
- PFN_DrvDitherColor m_pfnDrvDitherColor;
- PFN_DrvEndDoc m_pfnDrvEndDoc;
- PFN_DrvEscape m_pfnDrvEscape;
- PFN_DrvFillPath m_pfnDrvFillPath;
- PFN_DrvFontManagement m_pfnDrvFontManagement;
- PFN_DrvGetGlyphMode m_pfnDrvGetGlyphMode;
- PFN_DrvGradientFill m_pfnDrvGradientFill;
- PFN_DrvLineTo m_pfnDrvLineTo;
- PFN_DrvNextBand m_pfnDrvNextBand;
- PFN_DrvPaint m_pfnDrvPaint;
- PFN_DrvPlgBlt m_pfnDrvPlgBlt;
- PFN_DrvQueryAdvanceWidths m_pfnDrvQueryAdvanceWidths;
- PFN_DrvQueryFont m_pfnDrvQueryFont;
- PFN_DrvQueryFontData m_pfnDrvQueryFontData;
- PFN_DrvQueryFontTree m_pfnDrvQueryFontTree;
- PFN_DrvRealizeBrush m_pfnDrvRealizeBrush;
- PFN_DrvSendPage m_pfnDrvSendPage;
- PFN_DrvStartBanding m_pfnDrvStartBanding;
- PFN_DrvStartDoc m_pfnDrvStartDoc;
- PFN_DrvStartPage m_pfnDrvStartPage;
- PFN_DrvStretchBlt m_pfnDrvStretchBlt;
- PFN_DrvStretchBltROP m_pfnDrvStretchBltROP;
- PFN_DrvStrokeAndFillPath m_pfnDrvStrokeAndFillPath;
- PFN_DrvStrokePath m_pfnDrvStrokePath;
- PFN_DrvTextOut m_pfnDrvTextOut;
- PFN_DrvTransparentBlt m_pfnDrvTransparentBlt;
-
- /*******************************************/
- /* */
- /* Add any custom PDEV members here */
- /* */
- /*******************************************/
-
- BOOL bPreAnalysis; // Indicates if a current pass is the pre-analysis pass
-
-};
-typedef COemPDEV* POEMPDEV;
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.rc b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.rc
deleted file mode 100644
index 875705f1..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.rc
+++ /dev/null
@@ -1,110 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "Written by DDK Support Team\0"
- VALUE "CompanyName", "Microsoft Corp.\0"
- VALUE "FileDescription", "OEM Pre-Analysis Sample\0"
- VALUE "FileVersion", "1, 0, 0, 1\0"
- VALUE "InternalName", "OEMPREAN\0"
- VALUE "LegalCopyright", "Copyright � 1998-2003\0"
- VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation\0"
- VALUE "OriginalFilename", "OEMPREAN.DLL\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "Microsoft OEMPREAN\0"
- VALUE "ProductVersion", "1.0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""winres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.vcxproj
deleted file mode 100644
index b1ff3191..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.vcxproj
+++ /dev/null
@@ -1,1096 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Win10 Debug|ARM64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|Win32">
- <Configuration>Win10 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|x64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|ARM64">
- <Configuration>Win10 Release</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|Win32">
- <Configuration>Win10 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|x64">
- <Configuration>Win10 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|Win32">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|Win32">
- <Configuration>Win8 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|Win32">
- <Configuration>Win7 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|Win32">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|Win32">
- <Configuration>Win8 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|Win32">
- <Configuration>Win7 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|x64">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|x64">
- <Configuration>Win8 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|x64">
- <Configuration>Win7 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|x64">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|x64">
- <Configuration>Win8 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|x64">
- <Configuration>Win7 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{D5E225D5-EEEA-45FD-AD07-E4678C542E1A}</ProjectGuid>
- <RootNamespace>$(MSBuildProjectName)</RootNamespace>
- <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration>
- <Platform Condition="'$(Platform)' == ''">Win32</Platform>
- <SampleGuid>{179B20BC-0106-4AEE-814D-8E6C0FD66347}</SampleGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <PropertyGroup>
- <OutDir>$(IntDir)</OutDir>
- </PropertyGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ItemGroup Label="WrappedTaskItems" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetName>oemprean</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetName>oemprean</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetName>oemprean</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <TargetName>oemprean</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <TargetName>oemprean</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetName>oemprean</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetName>oemprean</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetName>oemprean</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <TargetName>oemprean</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <TargetName>oemprean</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetName>oemprean</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetName>oemprean</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetName>oemprean</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <TargetName>oemprean</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetName>oemprean</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetName>oemprean</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetName>oemprean</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <TargetName>oemprean</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Link>
- <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Link>
- <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Link>
- <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <Link>
- <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <Link>
- <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <Link>
- <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="ddihook.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="debug.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="devmode.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Create</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ResourceCompile Include="oemprean.rc" />
- </ItemGroup>
- <ItemGroup>
- <Inf Exclude="@(Inf)" Include="*.inf" />
- <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" />
- </ItemGroup>
- <ItemGroup>
- <None Exclude="@(None)" Include="*.txt;*.htm;*.html" />
- <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" />
- <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.vcxproj.Filters
deleted file mode 100644
index eae4ad4e..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.vcxproj.Filters
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions>
- <UniqueIdentifier>{846460B0-CFA8-4A48-BE85-411A0055B60C}</UniqueIdentifier>
- </Filter>
- <Filter Include="Header Files">
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- <UniqueIdentifier>{B95DE626-65CE-4B7F-A90F-6094DB24D175}</UniqueIdentifier>
- </Filter>
- <Filter Include="Resource Files">
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions>
- <UniqueIdentifier>{3E039E41-E6A5-4CB3-8B97-DBE76450B55B}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="ddihook.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="debug.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="devmode.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemprean.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemprean.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemprean.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemprean.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemprean.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemprean.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemprean.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemprean.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemprean.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemprean.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemprean.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemprean.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemprean.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemprean.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemprean.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemprean.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="oemprean.rc">
- <Filter>Resource Files</Filter>
- </ResourceCompile>
- </ItemGroup>
- <ItemGroup>
- <None Include="oemprean.def">
- <Filter>Source Files</Filter>
- </None>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/precomp.h
deleted file mode 100644
index 3bfba083..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/precomp.h
+++ /dev/null
@@ -1,49 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: precomp.h
-//
-// PURPOSE: Consolidate common headers that do not change frequently.
-//
-// History:
-// 06/24/03 xxx created.
-//
-//
-
-#pragma once
-
-// Necessary for compiling under VC.
-#if(!defined(WINVER) || (WINVER < 0x0500))
- #undef WINVER
- #define WINVER 0x0500
-#endif
-#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500))
- #undef _WIN32_WINNT
- #define _WIN32_WINNT 0x0500
-#endif
-
-// Required header files that shouldn't change often.
-
-#include <STDDEF.H>
-#include <STDLIB.H>
-#include <OBJBASE.H>
-#include <STDARG.H>
-#include <STDIO.H>
-#include <WINDEF.H>
-#include <WINERROR.H>
-#include <WINBASE.H>
-#include <WINGDI.H>
-#include <WINDDI.H>
-#include <TCHAR.H>
-#include <EXCPT.H>
-#include <ASSERT.H>
-#include <PRINTOEM.H>
-
-// StrSafe.h needs to be included last
-// to disallow unsafe string functions.
-#include <STRSAFE.H>
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/precompsrc.cpp
deleted file mode 100644
index 5944cf51..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/precompsrc.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "precomp.h" \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/resource.h
deleted file mode 100644
index 8e941820..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/resource.h
+++ /dev/null
@@ -1,17 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by OEMUNI.rc
-//
-
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 103
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps.ini b/print/OEM Printer Customization Plug-in Samples/C++/oemps.ini
deleted file mode 100644
index 7ad0e62a..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemps.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[OEMFiles]
-OEMDriverFile1=OEMPS.DLL
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.rc b/print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.rc
deleted file mode 100644
index 49008d4c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.rc
+++ /dev/null
@@ -1,109 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "Written by Windows Printing & Imaging Team\0"
- VALUE "CompanyName", "Microsoft Corp.\0"
- VALUE "FileDescription", "OEM Customization Sample\0"
- VALUE "FileVersion", "1, 0, 0, 1\0"
- VALUE "InternalName", "OEMPS\0"
- VALUE "LegalCopyright", "Copyright � 1998-2003\0"
- VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation\0"
- VALUE "OriginalFilename", "OEMPS.DLL\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "Microsoft OEMPS\0"
- VALUE "ProductVersion", "1.0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""winres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.vcxproj
deleted file mode 100644
index c30249a8..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.vcxproj
+++ /dev/null
@@ -1,1096 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Win10 Debug|ARM64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|Win32">
- <Configuration>Win10 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|x64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|ARM64">
- <Configuration>Win10 Release</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|Win32">
- <Configuration>Win10 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|x64">
- <Configuration>Win10 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|Win32">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|Win32">
- <Configuration>Win8 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|Win32">
- <Configuration>Win7 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|Win32">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|Win32">
- <Configuration>Win8 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|Win32">
- <Configuration>Win7 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|x64">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|x64">
- <Configuration>Win8 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|x64">
- <Configuration>Win7 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|x64">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|x64">
- <Configuration>Win8 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|x64">
- <Configuration>Win7 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{9F374241-B8F9-45D3-B163-7E84E8E22C1F}</ProjectGuid>
- <RootNamespace>$(MSBuildProjectName)</RootNamespace>
- <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration>
- <Platform Condition="'$(Platform)' == ''">Win32</Platform>
- <SampleGuid>{143DF0A4-9C2F-48FB-A070-C9D9465D83B2}</SampleGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <PropertyGroup>
- <OutDir>$(IntDir)</OutDir>
- </PropertyGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ItemGroup Label="WrappedTaskItems" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetName>OEMPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetName>OEMPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetName>OEMPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <TargetName>OEMPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <TargetName>OEMPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetName>OEMPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetName>OEMPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetName>OEMPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <TargetName>OEMPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <TargetName>OEMPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetName>OEMPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetName>OEMPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetName>OEMPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <TargetName>OEMPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetName>OEMPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetName>OEMPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetName>OEMPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <TargetName>OEMPS</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Link>
- <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Link>
- <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Link>
- <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <Link>
- <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <Link>
- <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <Link>
- <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="command.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="ddihook.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="devmode.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Create</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ResourceCompile Include="oemps.rc" />
- </ItemGroup>
- <ItemGroup>
- <Inf Exclude="@(Inf)" Include="*.inf" />
- <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" />
- </ItemGroup>
- <ItemGroup>
- <None Exclude="@(None)" Include="*.txt;*.htm;*.html" />
- <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" />
- <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.vcxproj.Filters
deleted file mode 100644
index 6935f366..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.vcxproj.Filters
+++ /dev/null
@@ -1,220 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions>
- <UniqueIdentifier>{CFF33BBA-FC87-4E95-B9C5-476E1462EEBF}</UniqueIdentifier>
- </Filter>
- <Filter Include="Header Files">
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- <UniqueIdentifier>{9BFF3627-E67C-4BAB-A7A6-BCE2D1B5C993}</UniqueIdentifier>
- </Filter>
- <Filter Include="Resource Files">
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions>
- <UniqueIdentifier>{87727098-2810-47BA-A965-219906793BC2}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="command.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="ddihook.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="devmode.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemps.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemps.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemps.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemps.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemps.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemps.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemps.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemps.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemps.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemps.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemps.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemps.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemps.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemps.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemps.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemps.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemps.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemps.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="debug.h" />
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemps.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="oemps.rc">
- <Filter>Resource Files</Filter>
- </ResourceCompile>
- </ItemGroup>
- <ItemGroup>
- <None Include="oemps.def">
- <Filter>Source Files</Filter>
- </None>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/command.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemps/command.cpp
deleted file mode 100644
index 06e049c9..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/command.cpp
+++ /dev/null
@@ -1,278 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: command.cpp
-//
-// PURPOSE: Source module for OEM customized Command(s).
-//
-
-#include "precomp.h"
-#include "oemps.h"
-#include "debug.h"
-#include "command.h"
-#include "resource.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-////////////////////////////////////////////////////////
-// Internal String Literals
-////////////////////////////////////////////////////////
-
-const CHAR TEST_BEGINSTREAM[] = "%%Test: Before begin stream\r\n";
-const CHAR TEST_PSADOBE[] = "%%Test: Before %!PS-Adobe\r\n";
-const CHAR TEST_PAGESATEND[] = "%%Test: Replace driver's %%PagesAtend\r\n";
-const CHAR TEST_PAGES[] = "%%Test: Replace driver's %%Pages: (atend)\r\n";
-const CHAR TEST_DOCUMENTPROCESSCOLORS[] = "%%Test: Replace driver's %%DocumentProcessColors: (atend)\r\n";
-const CHAR TEST_COMMENTS[] = "%%Test: Before %%EndComments\r\n";
-const CHAR TEST_DEFAULTS[] = "%%Test: Before %%BeginDefaults and %%EndDefaults\r\n";
-const CHAR TEST_BEGINPROLOG[] = "%%Test: After %%BeginProlog\r\n";
-const CHAR TEST_ENDPROLOG[] = "%%Test: Before %%EndProlog\r\n";
-const CHAR TEST_BEGINSETUP[] = "%%Test: After %%BeginSetup\r\n";
-const CHAR TEST_ENDSETUP[] = "%%Test: Before %%EndSetup\r\n";
-const CHAR TEST_BEGINPAGESETUP[] = "%%Test: After %%BeginPageSetup\r\n";
-const CHAR TEST_ENDPAGESETUP[] = "%%Test: Before %%EndpageSetup\r\n";
-const CHAR TEST_PAGETRAILER[] = "%%Test: After %%PageTrailer\r\n";
-const CHAR TEST_TRAILER[] = "%%Test: After %%Trailer\r\n";
-const CHAR TEST_PAGENUMBER[] = "%%Test: Replace driver's %%Page:\r\n";
-const CHAR TEST_PAGEORDER[] = "%%Test: Replace driver's %%PageOrder:\r\n";
-const CHAR TEST_ORIENTATION[] = "%%Test: Replace driver's %%Orientation:\r\n";
-const CHAR TEST_BOUNDINGBOX[] = "%%Test: Replace driver's %%BoundingBox:\r\n";
-const CHAR TEST_DOCNEEDEDRES[] = "%%Test: Append to driver's %%DocumentNeededResourc\r\n";
-const CHAR TEST_DOCSUPPLIEDRES[] = "%%Test: Append to driver's %%DocumentSuppliedResou\r\n";
-const CHAR TEST_EOF[] = "%%Test: After %%EOF\r\n";
-const CHAR TEST_ENDSTREAM[] = "%%Test: After the last byte of job stream\r\n";
-const CHAR TEST_DOCUMENTPROCESSCOLORSATEND[] = "%%Test: DocumentProcessColorsAtend\r\n";
-const CHAR TEST_VMSAVE[] = "%%Test: %%VMSave\r\n";
-const CHAR TEST_VMRESTORE[] = "%%Test: %%VMRestore\r\n";
-const CHAR TEST_PLATECOLOR[] = "%%Test: %%PlateColor:\r\n";
-const CHAR TEST_SHOWPAGE[] = "%%Test: %%SowPage:\r\n";
-const CHAR TEST_PAGEBBOX[] = "%%Test: %%PageBox:\r\n";
-const CHAR TEST_ENDPAGECOMMENTS[] = "%%Test: %%EndPageComments:\r\n";
-
-
-////////////////////////////////////////////////////////////////////////////////////
-// The PSCRIPT driver calls this OEM function at specific points during output
-// generation. This gives the OEM DLL an opportunity to insert code fragments
-// at specific injection points in the driver's code. It should use
-// DrvWriteSpoolBuf for generating any output it requires.
-
-HRESULT PSCommand(PDEVOBJ pdevobj, DWORD dwIndex, PVOID pData, DWORD cbSize,
- IPrintOemDriverPS* pOEMHelp, PDWORD pdwReturn)
-{
- PCSTR pProcedure = NULL;
- DWORD dwLen = 0;
- DWORD dwSize = 0;
- HRESULT hResult = E_FAIL;
-
- VERBOSE("Entering OEMCommand...\r\n");
-
- UNREFERENCED_PARAMETER(cbSize);
- UNREFERENCED_PARAMETER(pData);
-
- switch (dwIndex)
- {
- case PSINJECT_BEGINSTREAM:
- VERBOSE("OEMCommand PSINJECT_BEGINSTREAM\n");
- pProcedure = TEST_BEGINSTREAM;
- break;
-
- case PSINJECT_PSADOBE:
- VERBOSE("OEMCommand PSINJECT_PSADOBE\n");
- pProcedure = TEST_PSADOBE;
- break;
-
- case PSINJECT_PAGESATEND:
- VERBOSE("OEMCommand PSINJECT_PAGESATEND\n");
- pProcedure = TEST_PAGESATEND;
- break;
-
- case PSINJECT_PAGES:
- VERBOSE("OEMCommand PSINJECT_PAGES\n");
- pProcedure = TEST_PAGES;
- break;
-
- case PSINJECT_DOCNEEDEDRES:
- VERBOSE("OEMCommand PSINJECT_DOCNEEDEDRES\n");
- pProcedure = TEST_DOCNEEDEDRES;
- break;
-
- case PSINJECT_DOCSUPPLIEDRES:
- VERBOSE("OEMCommand PSINJECT_DOCSUPPLIEDRES\n");
- pProcedure = TEST_DOCSUPPLIEDRES;
- break;
-
- case PSINJECT_PAGEORDER:
- VERBOSE("OEMCommand PSINJECT_PAGEORDER\n");
- pProcedure = TEST_PAGEORDER;
- break;
-
- case PSINJECT_ORIENTATION:
- VERBOSE("OEMCommand PSINJECT_ORIENTATION\n");
- pProcedure = TEST_ORIENTATION;
- break;
-
- case PSINJECT_BOUNDINGBOX:
- VERBOSE("OEMCommand PSINJECT_BOUNDINGBOX\n");
- pProcedure = TEST_BOUNDINGBOX;
- break;
-
- case PSINJECT_DOCUMENTPROCESSCOLORS:
- VERBOSE("OEMCommand PSINJECT_DOCUMENTPROCESSCOLORS\n");
- pProcedure = TEST_DOCUMENTPROCESSCOLORS;
- break;
-
- case PSINJECT_COMMENTS:
- VERBOSE("OEMCommand PSINJECT_COMMENTS\n");
- pProcedure = TEST_COMMENTS;
- break;
-
- case PSINJECT_BEGINDEFAULTS:
- VERBOSE("OEMCommand PSINJECT_BEGINDEFAULTS\n");
- pProcedure = TEST_DEFAULTS;
- break;
-
- case PSINJECT_ENDDEFAULTS:
- VERBOSE("OEMCommand PSINJECT_BEGINDEFAULTS\n");
- pProcedure = TEST_DEFAULTS;
- break;
-
- case PSINJECT_BEGINPROLOG:
- VERBOSE("OEMCommand PSINJECT_BEGINPROLOG\n");
- pProcedure = TEST_BEGINPROLOG;
- break;
-
- case PSINJECT_ENDPROLOG:
- VERBOSE("OEMCommand PSINJECT_ENDPROLOG\n");
- pProcedure = TEST_ENDPROLOG;
- break;
-
- case PSINJECT_BEGINSETUP:
- VERBOSE("OEMCommand PSINJECT_BEGINSETUP\n");
- pProcedure = TEST_BEGINSETUP;
- break;
-
- case PSINJECT_ENDSETUP:
- VERBOSE("OEMCommand PSINJECT_ENDSETUP\n");
- pProcedure = TEST_ENDSETUP;
- break;
-
- case PSINJECT_BEGINPAGESETUP:
- VERBOSE("OEMCommand PSINJECT_BEGINPAGESETUP\n");
- pProcedure = TEST_BEGINPAGESETUP;
- break;
-
- case PSINJECT_ENDPAGESETUP:
- VERBOSE("OEMCommand PSINJECT_ENDPAGESETUP\n");
- pProcedure = TEST_ENDPAGESETUP;
- break;
-
- case PSINJECT_PAGETRAILER:
- VERBOSE("OEMCommand PSINJECT_PAGETRAILER\n");
- pProcedure = TEST_PAGETRAILER;
- break;
-
- case PSINJECT_TRAILER:
- VERBOSE("OEMCommand PSINJECT_TRAILER\n");
- pProcedure = TEST_TRAILER;
- break;
-
- case PSINJECT_PAGENUMBER:
- VERBOSE("OEMCommand PSINJECT_PAGENUMBER\n");
- pProcedure = TEST_PAGENUMBER;
- break;
-
- case PSINJECT_EOF:
- VERBOSE("OEMCommand PSINJECT_EOF\n");
- pProcedure = TEST_EOF;
- break;
-
- case PSINJECT_ENDSTREAM:
- VERBOSE("OEMCommand PSINJECT_ENDSTREAM\n");
- pProcedure = TEST_ENDSTREAM;
- break;
-
- case PSINJECT_DOCUMENTPROCESSCOLORSATEND:
- VERBOSE("OEMCommand PSINJECT_DOCUMENTPROCESSCOLORSATEND\n");
- pProcedure = TEST_DOCUMENTPROCESSCOLORSATEND;
- break;
-
- case PSINJECT_VMSAVE:
- VERBOSE("OEMCommand PSINJECT_VMSAVE\n");
- pProcedure = TEST_VMSAVE;
- break;
-
- case PSINJECT_VMRESTORE:
- VERBOSE("OEMCommand PSINJECT_VMRESTORE\n");
- pProcedure = TEST_VMRESTORE;
- break;
-
- case PSINJECT_PLATECOLOR:
- VERBOSE("OEMCommand PSINJECT_PLATECOLOR\n");
- pProcedure = TEST_PLATECOLOR;
- break;
-
- case PSINJECT_SHOWPAGE:
- VERBOSE("OEMCommand PSINJECT_SHOWPAGE\n");
- pProcedure = TEST_SHOWPAGE;
- break;
-
- case PSINJECT_PAGEBBOX:
- VERBOSE("OEMCommand PSINJECT_PAGEBBOX\n");
- pProcedure = TEST_PAGEBBOX;
- break;
-
- case PSINJECT_ENDPAGECOMMENTS:
- VERBOSE("OEMCommand PSINJECT_ENDPAGECOMMENTS\n");
- pProcedure = TEST_ENDPAGECOMMENTS;
- break;
-
- default:
- ERR("Undefined PSCommand!\r\n");
- *pdwReturn = ERROR_NOT_SUPPORTED;
- return E_NOTIMPL;
- }
-
- // INVARIANT: should have injection string.
-
- if(NULL != pProcedure)
- {
- // Write PostScript to spool file.
- dwLen = (DWORD)strlen(pProcedure);
- if (dwLen > 0)
- {
- hResult = pOEMHelp->DrvWriteSpoolBuf(pdevobj, const_cast<PSTR>(pProcedure), dwLen, &dwSize);
- }
-
- // Set return values.
- if(SUCCEEDED(hResult) && (dwLen == dwSize))
- {
- *pdwReturn = ERROR_SUCCESS;
- }
- else
- {
- // Return a meaningful
- // error value.
- *pdwReturn = GetLastError();
- if(ERROR_SUCCESS == *pdwReturn)
- {
- *pdwReturn = ERROR_WRITE_FAULT;
- }
-
- // Make sure we return failure
- // if the write didn't succeded.
- if(SUCCEEDED(hResult))
- {
- hResult = HRESULT_FROM_WIN32(*pdwReturn);
- }
- }
- }
-
- return hResult;
-}
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/command.h b/print/OEM Printer Customization Plug-in Samples/C++/oemps/command.h
deleted file mode 100644
index e18cdfac..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/command.h
+++ /dev/null
@@ -1,24 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Command.h
-//
-//
-// PURPOSE: Declare the function that handles custom
-// processing of commands.
-//
-
-#pragma once
-
-/////////////////////////////////////////////////////////
-// Prototypes
-/////////////////////////////////////////////////////////
-
-HRESULT PSCommand(PDEVOBJ, DWORD, PVOID, DWORD, IPrintOemDriverPS*, PDWORD);
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/ddihook.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemps/ddihook.cpp
deleted file mode 100644
index e14d9cdd..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/ddihook.cpp
+++ /dev/null
@@ -1,1049 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: DDIHook.cpp
-//
-//
-// PURPOSE: DDI Hook routines for User Mode COM Customization DLL.
-//
-
-#include "precomp.h"
-#include "debug.h"
-#include "oemps.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-//
-// OEMBitBlt
-//
-
-BOOL APIENTRY
-OEMBitBlt(
- SURFOBJ *psoTrg,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclTrg,
- POINTL *pptlSrc,
- POINTL *pptlMask,
- BRUSHOBJ *pbo,
- POINTL *pptlBrush,
- ROP4 rop4
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMBitBlt() entry.\r\n");
-
- pdevobj = (PDEVOBJ)psoTrg->dhpdev;
-
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvBitBlt)(poempdev->pfnPS[UD_DrvBitBlt])) (
- psoTrg,
- psoSrc,
- psoMask,
- pco,
- pxlo,
- prclTrg,
- pptlSrc,
- pptlMask,
- pbo,
- pptlBrush,
- rop4));
-
-}
-
-//
-// OEMStretchBlt
-//
-
-BOOL APIENTRY
-OEMStretchBlt(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlHTOrg,
- RECTL *prclDest,
- RECTL *prclSrc,
- POINTL *pptlMask,
- ULONG iMode
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMStretchBlt() entry.\r\n");
-
- pdevobj = (PDEVOBJ)psoDest->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvStretchBlt)(poempdev->pfnPS[UD_DrvStretchBlt])) (
- psoDest,
- psoSrc,
- psoMask,
- pco,
- pxlo,
- pca,
- pptlHTOrg,
- prclDest,
- prclSrc,
- pptlMask,
- iMode));
-
-}
-
-
-//
-// OEMCopyBits
-//
-
-BOOL APIENTRY
-OEMCopyBits(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDest,
- POINTL *pptlSrc
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMCopyBits() entry.\r\n");
-
- pdevobj = (PDEVOBJ)psoDest->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvCopyBits)(poempdev->pfnPS[UD_DrvCopyBits])) (
- psoDest,
- psoSrc,
- pco,
- pxlo,
- prclDest,
- pptlSrc));
-
-}
-
-//
-// OEMTextOut
-//
-
-BOOL APIENTRY
-OEMTextOut(
- SURFOBJ *pso,
- STROBJ *pstro,
- FONTOBJ *pfo,
- CLIPOBJ *pco,
- RECTL *prclExtra,
- RECTL *prclOpaque,
- BRUSHOBJ *pboFore,
- BRUSHOBJ *pboOpaque,
- POINTL *pptlOrg,
- MIX mix
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMTextOut() entry.\r\n");
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvTextOut)(poempdev->pfnPS[UD_DrvTextOut])) (
- pso,
- pstro,
- pfo,
- pco,
- prclExtra,
- prclOpaque,
- pboFore,
- pboOpaque,
- pptlOrg,
- mix));
-
-}
-
-//
-// OEMStrokePath
-//
-
-BOOL APIENTRY
-OEMStrokePath(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- XFORMOBJ *pxo,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- LINEATTRS *plineattrs,
- MIX mix
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMStokePath() entry.\r\n");
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvStrokePath)(poempdev->pfnPS[UD_DrvStrokePath])) (
- pso,
- ppo,
- pco,
- pxo,
- pbo,
- pptlBrushOrg,
- plineattrs,
- mix));
-
-}
-
-//
-// OEMFillPath
-//
-
-BOOL APIENTRY
-OEMFillPath(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- MIX mix,
- FLONG flOptions
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMFillPath() entry.\r\n");
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvFillPath)(poempdev->pfnPS[UD_DrvFillPath])) (
- pso,
- ppo,
- pco,
- pbo,
- pptlBrushOrg,
- mix,
- flOptions));
-
-}
-
-//
-// OEMStrokeAndFillPath
-//
-
-BOOL APIENTRY
-OEMStrokeAndFillPath(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- XFORMOBJ *pxo,
- BRUSHOBJ *pboStroke,
- LINEATTRS *plineattrs,
- BRUSHOBJ *pboFill,
- POINTL *pptlBrushOrg,
- MIX mixFill,
- FLONG flOptions
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMStrokeAndFillPath() entry.\r\n");
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvStrokeAndFillPath)(poempdev->pfnPS[UD_DrvStrokeAndFillPath])) (
- pso,
- ppo,
- pco,
- pxo,
- pboStroke,
- plineattrs,
- pboFill,
- pptlBrushOrg,
- mixFill,
- flOptions));
-
-}
-
-//
-// OEMRealizeBrush
-//
-
-BOOL APIENTRY
-OEMRealizeBrush(
- BRUSHOBJ *pbo,
- SURFOBJ *psoTarget,
- SURFOBJ *psoPattern,
- SURFOBJ *psoMask,
- XLATEOBJ *pxlo,
- ULONG iHatch
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMRealizeBrush() entry.\r\n");
-
- pdevobj = (PDEVOBJ)psoTarget->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvRealizeBrush)(poempdev->pfnPS[UD_DrvRealizeBrush])) (
- pbo,
- psoTarget,
- psoPattern,
- psoMask,
- pxlo,
- iHatch));
-
-}
-
-//
-// OEMStartPage
-//
-
-BOOL APIENTRY
-OEMStartPage(
- SURFOBJ *pso
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMStartPage() entry.\r\n");
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvStartPage)(poempdev->pfnPS[UD_DrvStartPage]))(pso));
-
-}
-
-#define OEM_TESTSTRING "The DDICMDCB DLL adds this line of text."
-
-//
-// OEMSendPage
-//
-
-BOOL APIENTRY
-OEMSendPage(
- SURFOBJ *pso
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMSendPage() entry.\r\n");
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // print a line of text, just for testing
- //
- if (pso->iType == STYPE_BITMAP)
- {
- pdevobj->pDrvProcs->DrvXMoveTo(pdevobj, 0, 0);
- pdevobj->pDrvProcs->DrvYMoveTo(pdevobj, 0, 0);
- pdevobj->pDrvProcs->DrvWriteSpoolBuf(pdevobj, OEM_TESTSTRING,
- sizeof(OEM_TESTSTRING));
- }
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvSendPage)(poempdev->pfnPS[UD_DrvSendPage]))(pso));
-
-}
-
-//
-// OEMEscape
-//
-
-ULONG APIENTRY
-OEMEscape(
- SURFOBJ *pso,
- ULONG iEsc,
- ULONG cjIn,
- _In_reads_bytes_(cjIn) PVOID pvIn,
- ULONG cjOut,
- _Out_writes_bytes_(cjOut) PVOID pvOut
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMEscape() entry.\r\n");
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvEscape)(poempdev->pfnPS[UD_DrvEscape])) (
- pso,
- iEsc,
- cjIn,
- pvIn,
- cjOut,
- pvOut));
-
-}
-
-//
-// OEMStartDoc
-//
-
-BOOL APIENTRY
-OEMStartDoc(
- SURFOBJ *pso,
- _In_ PWSTR pwszDocName,
- DWORD dwJobId
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMStartDoc() entry.\r\n");
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvStartDoc)(poempdev->pfnPS[UD_DrvStartDoc])) (
- pso,
- pwszDocName,
- dwJobId));
-
-}
-
-//
-// OEMEndDoc
-//
-
-BOOL APIENTRY
-OEMEndDoc(
- SURFOBJ *pso,
- FLONG fl
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMEndDoc() entry.\r\n");
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvEndDoc)(poempdev->pfnPS[UD_DrvEndDoc])) (
- pso,
- fl));
-
-}
-
-////////
-// NOTE:
-// OEM DLL needs to hook out the following six font related DDI calls only
-// if it enumerates additional fonts beyond what's in the GPD file.
-// And if it does, it needs to take care of its own fonts for all font DDI
-// calls and DrvTextOut call.
-///////
-
-//
-// OEMQueryFont
-//
-
-PIFIMETRICS APIENTRY
-OEMQueryFont(
- DHPDEV dhpdev,
- ULONG_PTR iFile,
- ULONG iFace,
- ULONG_PTR *pid
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMQueryFont() entry.\r\n");
-
- pdevobj = (PDEVOBJ)dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvQueryFont)(poempdev->pfnPS[UD_DrvQueryFont])) (
- dhpdev,
- iFile,
- iFace,
- pid));
-
-}
-
-//
-// OEMQueryFontTree
-//
-
-PVOID APIENTRY
-OEMQueryFontTree(
- DHPDEV dhpdev,
- ULONG_PTR iFile,
- ULONG iFace,
- ULONG iMode,
- ULONG_PTR *pid
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMQueryFontTree() entry.\r\n");
-
- pdevobj = (PDEVOBJ)dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvQueryFontTree)(poempdev->pfnPS[UD_DrvQueryFontTree])) (
- dhpdev,
- iFile,
- iFace,
- iMode,
- pid));
-
-}
-
-//
-// OEMQueryFontData
-//
-
-LONG APIENTRY
-OEMQueryFontData(
- DHPDEV dhpdev,
- FONTOBJ *pfo,
- ULONG iMode,
- HGLYPH hg,
- GLYPHDATA *pgd,
- _Out_writes_bytes_(cjSize) PVOID pv,
- ULONG cjSize
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMQueryFontData() entry.\r\n");
-
- pdevobj = (PDEVOBJ)dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS if this is not the font that OEM enumerated.
- //
-
- return (((PFN_DrvQueryFontData)(poempdev->pfnPS[UD_DrvQueryFontData])) (
- dhpdev,
- pfo,
- iMode,
- hg,
- pgd,
- pv,
- cjSize));
-
-}
-
-//
-// OEMQueryAdvanceWidths
-//
-
-BOOL APIENTRY
-OEMQueryAdvanceWidths(
- DHPDEV dhpdev,
- FONTOBJ *pfo,
- ULONG iMode,
- _In_reads_(cGlyphs) HGLYPH *phg,
- _Out_writes_bytes_(cGlyphs*sizeof(USHORT)) PVOID pvWidths,
- ULONG cGlyphs
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMQueryAdvanceWidths() entry.\r\n");
-
- pdevobj = (PDEVOBJ)dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS if this is not the font that OEM enumerated.
- //
-
- return (((PFN_DrvQueryAdvanceWidths)
- (poempdev->pfnPS[UD_DrvQueryAdvanceWidths])) (
- dhpdev,
- pfo,
- iMode,
- phg,
- pvWidths,
- cGlyphs));
-
-}
-
-//
-// OEMFontManagement
-//
-
-ULONG APIENTRY
-OEMFontManagement(
- SURFOBJ *pso,
- FONTOBJ *pfo,
- ULONG iMode,
- ULONG cjIn,
- _In_reads_bytes_(cjIn) PVOID pvIn,
- ULONG cjOut,
- _Out_writes_bytes_(cjOut) PVOID pvOut
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMFontManagement() entry.\r\n");
-
- //
- // Note that PS will not call OEM DLL for iMode==QUERYESCSUPPORT.
- // So pso is not NULL for sure.
- //
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS if this is not the font that OEM enumerated.
- //
-
- return (((PFN_DrvFontManagement)(poempdev->pfnPS[UD_DrvFontManagement])) (
- pso,
- pfo,
- iMode,
- cjIn,
- pvIn,
- cjOut,
- pvOut));
-
-}
-
-//
-// OEMGetGlyphMode
-//
-
-ULONG APIENTRY
-OEMGetGlyphMode(
- DHPDEV dhpdev,
- FONTOBJ *pfo
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMGetGlyphMode() entry.\r\n");
-
- pdevobj = (PDEVOBJ)dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS if this is not the font that OEM enumerated.
- //
-
- return (((PFN_DrvGetGlyphMode)(poempdev->pfnPS[UD_DrvGetGlyphMode])) (
- dhpdev,
- pfo));
-
-}
-
-
-//
-// OEMStretchBltROP
-//
-
-BOOL APIENTRY
-OEMStretchBltROP(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlHTOrg,
- RECTL *prclDest,
- RECTL *prclSrc,
- POINTL *pptlMask,
- ULONG iMode,
- BRUSHOBJ *pbo,
- ROP4 rop4
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMStretchBltROP() entry.\r\n");
-
- pdevobj = (PDEVOBJ)psoDest->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvStretchBltROP)(poempdev->pfnPS[UD_DrvStretchBltROP])) (
- psoDest,
- psoSrc,
- psoMask,
- pco,
- pxlo,
- pca,
- pptlHTOrg,
- prclDest,
- prclSrc,
- pptlMask,
- iMode,
- pbo,
- rop4
- ));
-
-
-}
-
-//
-// OEMPlgBlt
-//
-
-BOOL APIENTRY
-OEMPlgBlt(
- SURFOBJ *psoDst,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlBrushOrg,
- POINTFIX *pptfixDest,
- RECTL *prclSrc,
- POINTL *pptlMask,
- ULONG iMode
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMPlgBlt() entry.\r\n");
-
- pdevobj = (PDEVOBJ)psoDst->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvPlgBlt)(poempdev->pfnPS[UD_DrvPlgBlt])) (
- psoDst,
- psoSrc,
- psoMask,
- pco,
- pxlo,
- pca,
- pptlBrushOrg,
- pptfixDest,
- prclSrc,
- pptlMask,
- iMode));
-
-}
-
-//
-// OEMAlphaBlend
-//
-
-BOOL APIENTRY
-OEMAlphaBlend(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDest,
- RECTL *prclSrc,
- BLENDOBJ *pBlendObj
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMAlphaBlend() entry.\r\n");
-
- pdevobj = (PDEVOBJ)psoDest->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvAlphaBlend)(poempdev->pfnPS[UD_DrvAlphaBlend])) (
- psoDest,
- psoSrc,
- pco,
- pxlo,
- prclDest,
- prclSrc,
- pBlendObj
- ));
-
-}
-
-//
-// OEMGradientFill
-//
-
-BOOL APIENTRY
-OEMGradientFill(
- SURFOBJ *psoDest,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- TRIVERTEX *pVertex,
- ULONG nVertex,
- PVOID pMesh,
- ULONG nMesh,
- RECTL *prclExtents,
- POINTL *pptlDitherOrg,
- ULONG ulMode
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMGradientFill() entry.\r\n");
-
- pdevobj = (PDEVOBJ)psoDest->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvGradientFill)(poempdev->pfnPS[UD_DrvGradientFill])) (
- psoDest,
- pco,
- pxlo,
- pVertex,
- nVertex,
- pMesh,
- nMesh,
- prclExtents,
- pptlDitherOrg,
- ulMode
- ));
-
-}
-
-BOOL APIENTRY
-OEMTransparentBlt(
- SURFOBJ *psoDst,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDst,
- RECTL *prclSrc,
- ULONG iTransColor,
- ULONG ulReserved
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMTransparentBlt() entry.\r\n");
-
- pdevobj = (PDEVOBJ)psoDst->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvTransparentBlt)(poempdev->pfnPS[UD_DrvTransparentBlt])) (
- psoDst,
- psoSrc,
- pco,
- pxlo,
- prclDst,
- prclSrc,
- iTransColor,
- ulReserved
- ));
-
-}
-
-HANDLE APIENTRY
-OEMIcmCreateColorTransform(
- DHPDEV dhpdev,
- LPLOGCOLORSPACEW pLogColorSpace,
- _In_reads_bytes_opt_(cjSourceProfile) PVOID pvSourceProfile,
- ULONG cjSourceProfile,
- _In_reads_bytes_(cjDestProfile) PVOID pvDestProfile,
- ULONG cjDestProfile,
- _In_reads_bytes_opt_(cjTargetProfile) PVOID pvTargetProfile,
- ULONG cjTargetProfile,
- DWORD dwReserved
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMCreateColorTransform() entry.\r\n");
-
- pdevobj = (PDEVOBJ)dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvIcmCreateColorTransform)(poempdev->pfnPS[UD_DrvIcmCreateColorTransform])) (
- dhpdev,
- pLogColorSpace,
- pvSourceProfile,
- cjSourceProfile,
- pvDestProfile,
- cjDestProfile,
- pvTargetProfile,
- cjTargetProfile,
- dwReserved
- ));
-
-}
-
-BOOL APIENTRY
-OEMIcmDeleteColorTransform(
- DHPDEV dhpdev,
- HANDLE hcmXform
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMDeleteColorTransform() entry.\r\n");
-
- pdevobj = (PDEVOBJ)dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvIcmDeleteColorTransform)(poempdev->pfnPS[UD_DrvIcmDeleteColorTransform])) (
- dhpdev,
- hcmXform
- ));
-
-}
-
-BOOL APIENTRY
-OEMQueryDeviceSupport(
- SURFOBJ *pso,
- XLATEOBJ *pxlo,
- XFORMOBJ *pxo,
- ULONG iType,
- ULONG cjIn,
- _In_reads_bytes_(cjIn) PVOID pvIn,
- ULONG cjOut,
- _Out_writes_bytes_(cjOut) PVOID pvOut
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE("OEMQueryDeviceSupport() entry.\r\n");
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call PS
- //
-
- return (((PFN_DrvQueryDeviceSupport)(poempdev->pfnPS[UD_DrvQueryDeviceSupport])) (
- pso,
- pxlo,
- pxo,
- iType,
- cjIn,
- pvIn,
- cjOut,
- pvOut
- ));
-}
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/oemps/debug.h
deleted file mode 100644
index 0414569c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/debug.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Debug.H
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debugging functions. Also defines the various debug macros.
-//
-//
-
-#pragma once
-
-/////////////////////////////////////////////////////////
-// Macros
-/////////////////////////////////////////////////////////
-//
-// These macros are used for debugging purposes. They expand
-// to white spaces on a free build. Here is a brief description
-// of what they do and how they are used:
-//
-// giDebugLevel
-// Global variable which set the current debug level to control
-// the amount of debug messages emitted.
-//
-// WARNING(msg)
-// Display a message if the current debug level is <= DBG_WARNING.
-// The message format is: WRN filename (linenumber): message
-//
-// ERR(msg)
-// Similiar to WARNING macro above - displays a message
-// if the current debug level is <= DBG_ERROR.
-//
-// ASSERT(cond)
-// Verify a condition is true. If not, force a breakpoint.
-//
-// RIP(msg)
-// Display a message and force a breakpoint.
-//
-// Usage:
-// WARNING("App passed NULL pointer, ignoring...\n");
-//
-
-#define DBG_VERBOSE 0
-#define DBG_WARNING 1
-#define DBG_ERROR 2
-#define DBG_NONE 3
-
-// VC and Build use different debug defines.
-#if defined (DBG) || defined (_DEBUG)
-
- // __declspec(selectany) ensures that even if this is defined in multiple compilation
- // modules, they will all resolve to the same symbol in the linked DLL
- __declspec(selectany) INT giDebugLevel = 2;
-
- #define STRINGIZE(x) #x
- #define QUOTE(x) STRINGIZE(x)
- #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__)
-
- #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); }
- #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); }
- #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); }
- #define ASSERT(cond) { if (!(cond)) RIP("\n"); }
- #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); }
-
-#else // !DBG
-
- #define VERBOSE(msg)
- #define WARNING(msg)
- #define ERR(msg)
- #define ASSERT(cond)
- #define RIP(msg)
-
-#endif
-
-
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemps/devmode.cpp
deleted file mode 100644
index 3e66faeb..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/devmode.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.cpp
-//
-//
-// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules.
-//
-
-#include "precomp.h"
-#include "oemps.h"
-#include "debug.h"
-#include "devmode.h"
-
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam)
-{
- POEMDEV pOEMDevIn;
- POEMDEV pOEMDevOut;
-
-
- // Verify parameters.
- if( (NULL == pOemDMParam)
- ||
- ( (OEMDM_SIZE != dwMode)
- &&
- (OEMDM_DEFAULT != dwMode)
- &&
- (OEMDM_CONVERT != dwMode)
- &&
- (OEMDM_MERGE != dwMode)
- )
- )
- {
- ERR("DevMode() ERROR_INVALID_PARAMETER.\r\n");
-
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Cast generic (i.e. PVOID) to OEM private devomode pointer type.
- pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn;
- pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut;
-
- switch(dwMode)
- {
- case OEMDM_SIZE:
- pOemDMParam->cbBufSize = sizeof(OEMDEV);
- break;
-
- case OEMDM_DEFAULT:
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- pOEMDevOut->dwDriverData = 0;
- break;
-
- case OEMDM_CONVERT:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- break;
-
- case OEMDM_MERGE:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- MakeOEMDevmodeValid(pOEMDevOut);
- break;
- }
-
- return S_OK;
-}
-
-
-BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut)
-{
- if( (NULL == pOEMDevIn)
- ||
- (NULL == pOEMDevOut)
- )
- {
- ERR("ConvertOEMDevmode() invalid parameters.\r\n");
- return FALSE;
- }
-
- // Check OEM Signature, if it doesn't match ours,
- // then just assume DMIn is bad and use defaults.
- if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature)
- {
- VERBOSE("Converting private OEM Devmode.\r\n");
-
- // Set the devmode defaults so that anything the isn't copied over will
- // be set to the default value.
- pOEMDevOut->dwDriverData = 0;
-
- // Copy the old structure in to the new using which ever size is the smaller.
- // Devmode maybe from newer Devmode (not likely since there is only one), or
- // Devmode maybe a newer Devmode, in which case it maybe larger,
- // but the first part of the structure should be the same.
-
- // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to;
- // the fields that are in the DEVMODE never change only new fields get added to the end.
-
- memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize));
-
- // Re-fill in the size and version fields to indicated
- // that the DEVMODE is the current private DEVMODE version.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- }
- else
- {
- WARNING("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n");
-
- // Don't know what the input DEVMODE is, so just use defaults.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- pOEMDevOut->dwDriverData = 0;
- }
-
- return TRUE;
-}
-
-
-BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode)
-{
- if(NULL == pOEMDevmode)
- {
- return FALSE;
- }
-
- // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure.
-
- // Make sure that dmOEMExtra indicates the current OEMDEV structure.
- pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION;
-
- // Set driver data.
- pOEMDevmode->dwDriverData = 0;
-
- return TRUE;
-}
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/oemps/devmode.h
deleted file mode 100644
index 3cf13641..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/devmode.h
+++ /dev/null
@@ -1,44 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.h
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for devmode functions.
-//
-#pragma once
-
-////////////////////////////////////////////////////////
-// OEM Devmode Defines
-////////////////////////////////////////////////////////
-
-#define OEM_SIGNATURE 'MSFT'
-#define OEM_VERSION 0x00000001L
-
-////////////////////////////////////////////////////////
-// OEM Devmode Type Definitions
-////////////////////////////////////////////////////////
-
-typedef struct tagOEMDEV
-{
- OEM_DMEXTRAHEADER dmOEMExtra;
- BOOL dwDriverData;
-
-} OEMDEV, *POEMDEV;
-
-typedef const OEMDEV *PCOEMDEV;
-
-/////////////////////////////////////////////////////////
-// Prototypes
-/////////////////////////////////////////////////////////
-
-HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam);
-BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut);
-BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode);
-void Dump(PCOEMDEV pOEMDevIn);
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemps/dllentry.cpp
deleted file mode 100644
index d9851eff..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/dllentry.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: dllentry.cpp
-//
-//
-// PURPOSE: Source module for DLL entry function(s).
-//
-
-#include "precomp.h"
-#include "oemps.h"
-#include "debug.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-///////////////////////////////////////////////////////////
-//
-// DLL entry point
-//
-BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved)
-{
- UNREFERENCED_PARAMETER(hInst);
- UNREFERENCED_PARAMETER(lpReserved);
-
- switch(wReason)
- {
- case DLL_PROCESS_ATTACH:
- VERBOSE("Process attach.\r\n");
- break;
-
- case DLL_THREAD_ATTACH:
- VERBOSE("Thread attach.\r\n");
- break;
-
- case DLL_PROCESS_DETACH:
- VERBOSE("Process detach.\r\n");
- break;
-
- case DLL_THREAD_DETACH:
- VERBOSE("Thread detach.\r\n");
- break;
- }
-
- return TRUE;
-}
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemps/intrface.cpp
deleted file mode 100644
index 34f0914c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/intrface.cpp
+++ /dev/null
@@ -1,632 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.cpp
-//
-//
-// PURPOSE: Interface for User Mode COM Customization DLL.
-//
-
-#include "precomp.h"
-
-#include "debug.h"
-
-#include "devmode.h"
-#include "oemps.h"
-#include "command.h"
-#include "intrface.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-////////////////////////////////////////////////////////
-// Internal Globals
-////////////////////////////////////////////////////////
-
-static long g_cComponents; // Count of active components
-static long g_cServerLocks; // Count of locks
-
-////////////////////////////////////////////////////////
-// Internal Constants
-////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////
-// Warning: the following array order must match the
-// order in enum ENUMHOOKS.
-///////////////////////////////////////////////////////
-static const DRVFN OEMHookFuncs[] =
-{
- { INDEX_DrvRealizeBrush, (PFN) OEMRealizeBrush },
- { INDEX_DrvCopyBits, (PFN) OEMCopyBits },
- { INDEX_DrvBitBlt, (PFN) OEMBitBlt },
- { INDEX_DrvStretchBlt, (PFN) OEMStretchBlt },
- { INDEX_DrvTextOut, (PFN) OEMTextOut },
- { INDEX_DrvStrokePath, (PFN) OEMStrokePath },
- { INDEX_DrvFillPath, (PFN) OEMFillPath },
- { INDEX_DrvStrokeAndFillPath, (PFN) OEMStrokeAndFillPath },
- { INDEX_DrvStartPage, (PFN) OEMStartPage },
- { INDEX_DrvSendPage, (PFN) OEMSendPage },
- { INDEX_DrvEscape, (PFN) OEMEscape },
- { INDEX_DrvStartDoc, (PFN) OEMStartDoc },
- { INDEX_DrvEndDoc, (PFN) OEMEndDoc },
- { INDEX_DrvQueryFont, (PFN) OEMQueryFont },
- { INDEX_DrvQueryFontTree, (PFN) OEMQueryFontTree },
- { INDEX_DrvQueryFontData, (PFN) OEMQueryFontData },
- { INDEX_DrvQueryAdvanceWidths, (PFN) OEMQueryAdvanceWidths },
- { INDEX_DrvFontManagement, (PFN) OEMFontManagement },
- { INDEX_DrvGetGlyphMode, (PFN) OEMGetGlyphMode },
- { INDEX_DrvStretchBltROP, (PFN) OEMStretchBltROP },
- { INDEX_DrvPlgBlt, (PFN) OEMPlgBlt },
- { INDEX_DrvTransparentBlt, (PFN) OEMTransparentBlt },
- { INDEX_DrvAlphaBlend, (PFN) OEMAlphaBlend },
- { INDEX_DrvGradientFill, (PFN) OEMGradientFill },
- { INDEX_DrvIcmCreateColorTransform, (PFN) OEMIcmCreateColorTransform },
- { INDEX_DrvIcmDeleteColorTransform, (PFN) OEMIcmDeleteColorTransform },
- { INDEX_DrvQueryDeviceSupport, (PFN) OEMQueryDeviceSupport },
-};
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IOemPS body
-//
-IOemPS::IOemPS() : m_cRef(1)
-{
- VERBOSE("IOemPS::IOemPS() entered.\r\n");
-
- // Increment COM component count.
- InterlockedIncrement(&g_cComponents);
-
- m_pOEMHelp = NULL;
-
- VERBOSE("IOemPS::IOemPS() leaving.\r\n");
-}
-
-
-IOemPS::~IOemPS()
-{
- // Make sure that helper interface is released.
- if(NULL != m_pOEMHelp)
- {
- m_pOEMHelp->Release();
- m_pOEMHelp = NULL;
- }
-
- // If this instance of the object is being deleted, then the reference
- // count should be zero.
- assert(0 == m_cRef);
-
- // Decrement COM compontent count.
- InterlockedDecrement(&g_cComponents);
-}
-
-
-HRESULT __stdcall IOemPS::QueryInterface(const IID& iid, void** ppv)
-{
- if (iid == IID_IUnknown)
- {
- *ppv = static_cast<IUnknown*>(this);
- VERBOSE("IOemPS::QueryInterface IUnknown.\r\n");
- }
- else if (iid == IID_IPrintOemPS)
- {
- *ppv = static_cast<IPrintOemPS*>(this);
- VERBOSE("IOemPS::QueryInterface IPrintOemPs.\r\n");
- }
- else
- {
- VERBOSE("IOemPS::QueryInterface (interface not supported).\r\n");
- *ppv = NULL;
- return E_NOINTERFACE;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef();
- return S_OK;
-}
-
-ULONG __stdcall IOemPS::AddRef()
-{
- VERBOSE("IOemPS::AddRef() entry.\r\n");
- return InterlockedIncrement(&m_cRef);
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IOemPS::Release()
-{
- VERBOSE("IOemPS::Release() entry.\r\n");
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-
-HRESULT __stdcall IOemPS::GetInfo (
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- VERBOSE("IOemPS::GetInfo(%d) entry.\r\n");
-
- // Validate parameters.
- if( (NULL == pcbNeeded)
- ||
- ( (OEMGI_GETSIGNATURE != dwMode)
- &&
- (OEMGI_GETVERSION != dwMode)
- &&
- (OEMGI_GETPUBLISHERINFO != dwMode)
- )
- )
- {
- ERR("IOemPS::GetInfo() exit pcbNeeded is NULL!\r\n");
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Set expected buffer size.
- if(OEMGI_GETPUBLISHERINFO != dwMode)
- {
- *pcbNeeded = sizeof(DWORD);
- }
- else
- {
- *pcbNeeded = sizeof(PUBLISHERINFO);
- return E_FAIL;
- }
-
- // Check buffer size is sufficient.
- if((cbSize < *pcbNeeded) || (NULL == pBuffer))
- {
- ERR("IOemPS::GetInfo() exit insufficient buffer!\r\n");
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- // OEM DLL Signature
- case OEMGI_GETSIGNATURE:
- *(PDWORD)pBuffer = OEM_SIGNATURE;
- break;
-
- // OEM DLL version
- case OEMGI_GETVERSION:
- *(PDWORD)pBuffer = OEM_VERSION;
- break;
-
- // dwMode not supported.
- case OEMGI_GETPUBLISHERINFO:
- case OEMGI_GETREQUESTEDHELPERINTERFACES:
- default:
- // Set written bytes to zero since nothing was written.
- ERR("IOemPS::GetInfo() exit, mode not supported.\r\n");
- *pcbNeeded = 0;
- SetLastError(ERROR_NOT_SUPPORTED);
- return E_FAIL;
- }
-
- return S_OK;
-}
-
-HRESULT __stdcall IOemPS::PublishDriverInterface(
- IUnknown *pIUnknown)
-{
- VERBOSE("IOemPS::PublishDriverInterface() entry.\r\n");
-
- // Need to store pointer to Driver Helper functions, if we already haven't.
- if (this->m_pOEMHelp == NULL)
- {
- HRESULT hResult;
-
-
- // Get Interface to Helper Functions.
- hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverPS, (void** ) &(this->m_pOEMHelp));
-
- if(!SUCCEEDED(hResult))
- {
- // Make sure that interface pointer reflects interface query failure.
- this->m_pOEMHelp = NULL;
-
- return E_FAIL;
- }
- }
-
- return S_OK;
-}
-
-
-HRESULT __stdcall IOemPS::EnableDriver(DWORD dwDriverVersion,
- DWORD cbSize,
- PDRVENABLEDATA pded)
-{
- VERBOSE("IOemPS::EnableDriver() entry.\r\n");
-
- UNREFERENCED_PARAMETER(dwDriverVersion);
- UNREFERENCED_PARAMETER(cbSize);
-
- // List DDI functions that are hooked.
- pded->iDriverVersion = PRINTER_OEMINTF_VERSION;
- pded->c = sizeof(OEMHookFuncs) / sizeof(DRVFN);
- pded->pdrvfn = (DRVFN *) OEMHookFuncs;
-
- // Even if nothing is done, need to return S_OK so
- // that DisableDriver() will be called, which releases
- // the reference to the Printer Driver's interface.
- // If error occurs, return E_FAIL.
- return S_OK;
-}
-
-HRESULT __stdcall IOemPS::DisableDriver(VOID)
-{
- VERBOSE("IOemPS::DisaleDriver() entry.\r\n");
-
- // Release reference to Printer Driver's interface.
- if (this->m_pOEMHelp)
- {
- this->m_pOEMHelp->Release();
- this->m_pOEMHelp = NULL;
- }
-
- return S_OK;
-}
-
-HRESULT __stdcall IOemPS::DisablePDEV(
- PDEVOBJ pdevobj)
-{
- VERBOSE("IOemPS::DisablePDEV() entry.\r\n");
-
- //
- // Free memory for OEMPDEV and any memory block that hangs off OEMPDEV.
- //
- assert(NULL != pdevobj->pdevOEM);
- delete pdevobj->pdevOEM;
-
- return S_OK;
-};
-
-HRESULT __stdcall IOemPS::EnablePDEV(
- PDEVOBJ pdevobj,
- _In_ PWSTR pPrinterName,
- ULONG cPatterns,
- HSURF *phsurfPatterns,
- ULONG cjGdiInfo,
- GDIINFO *pGdiInfo,
- ULONG cjDevInfo,
- DEVINFO *pDevInfo,
- DRVENABLEDATA *pded,
- OUT PDEVOEM *pDevOem)
-{
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pPrinterName);
- UNREFERENCED_PARAMETER(cPatterns);
- UNREFERENCED_PARAMETER(phsurfPatterns);
- UNREFERENCED_PARAMETER(cjGdiInfo);
- UNREFERENCED_PARAMETER(pGdiInfo);
- UNREFERENCED_PARAMETER(cjDevInfo);
- UNREFERENCED_PARAMETER(pDevInfo);
-
- VERBOSE("IOemPS::EnablePDEV() entry.\r\n");
-
- POEMPDEV poempdev;
- INT i, j;
- DWORD dwDDIIndex;
- PDRVFN pdrvfn;
-
- //
- // Allocate the OEMDev
- //
- poempdev = new OEMPDEV;
- if (NULL == poempdev)
- {
- return E_FAIL;
- }
-
- //
- // Fill in OEMDEV
- //
-
- for (i = 0; i < MAX_DDI_HOOKS; i++)
- {
- //
- // search through PS's hooks and locate the function ptr
- //
- dwDDIIndex = OEMHookFuncs[i].iFunc;
- for (j = pded->c, pdrvfn = pded->pdrvfn; j > 0; j--, pdrvfn++)
- {
- if (dwDDIIndex == pdrvfn->iFunc)
- {
- poempdev->pfnPS[i] = pdrvfn->pfn;
- break;
- }
- }
- if (j == 0)
- {
- //
- // Didn't find the hook. This could mean PS doesn't hook this DDI but allows OEMs to hook it out.
- //
- poempdev->pfnPS[i] = NULL;
- }
-
- }
-
- *pDevOem = (POEMPDEV) poempdev;
-
- return S_OK;
-}
-
-
-HRESULT __stdcall IOemPS::ResetPDEV(
- PDEVOBJ pdevobjOld,
- PDEVOBJ pdevobjNew)
-{
- UNREFERENCED_PARAMETER(pdevobjOld);
- UNREFERENCED_PARAMETER(pdevobjNew);
-
- VERBOSE("IOemPS::ResetPDEV() entry.\r\n");
-
- //
- // If any information from the previous PDEV needs to be preserved,
- // copy it in this function.
- //
-
- return TRUE;
-}
-
-
-HRESULT __stdcall IOemPS::DevMode(
- DWORD dwMode,
- POEMDMPARAM pOemDMParam)
-{
- VERBOSE("IOemPS:DevMode entry.\n");
- return hrOEMDevMode(dwMode, pOemDMParam);
-}
-
-HRESULT __stdcall IOemPS::Command(
- PDEVOBJ pdevobj,
- DWORD dwIndex,
- PVOID pData,
- DWORD cbSize,
- OUT DWORD *pdwResult)
-{
- HRESULT hResult = E_NOTIMPL;
-
-
- VERBOSE("IOemPS::Command() entry.\r\n");
- hResult = PSCommand(pdevobj, dwIndex, pData, cbSize, m_pOEMHelp, pdwResult);
-
- return hResult;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// oem class factory
-//
-class IOemCF : public IClassFactory
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- // *** IClassFactory methods ***
- STDMETHOD(CreateInstance) (THIS_
- LPUNKNOWN pUnkOuter,
- REFIID riid,
- LPVOID FAR* ppvObject);
- STDMETHOD(LockServer) (THIS_ BOOL bLock);
-
-
- // Constructor
- IOemCF();
- ~IOemCF();
-
-protected:
- long m_cRef;
-};
-
-///////////////////////////////////////////////////////////
-//
-// Class factory body
-//
-IOemCF::IOemCF() : m_cRef(1)
-{
- VERBOSE("IOemCF::IOemCF() entered.\r\n");
-}
-
-IOemCF::~IOemCF()
-{
- VERBOSE("IOemCF::~IOemCF() entered.\r\n");
-
- // If this instance of the object is being deleted, then the reference
- // count should be zero.
- assert(0 == m_cRef);
-}
-
-HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv)
-{
- VERBOSE("IOemCF::QueryInterface entered.\r\n");
-
- if ((iid == IID_IUnknown) || (iid == IID_IClassFactory))
- {
- *ppv = static_cast<IOemCF*>(this);
- }
- else
- {
- WARNING("IOemCF::QueryInterface (interface not supported).\r\n");
- *ppv = NULL;
- return E_NOINTERFACE;
- }
-
- reinterpret_cast<IUnknown*>(*ppv)->AddRef();
-
- VERBOSE("IOemCF::QueryInterface leaving.\r\n");
-
- return S_OK;
-}
-
-ULONG __stdcall IOemCF::AddRef()
-{
- VERBOSE("IOemCF::AddRef() called.\r\n");
- return InterlockedIncrement(&m_cRef);
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IOemCF::Release()
-{
- VERBOSE("IOemCF::Release() called.\r\n");
-
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-// IClassFactory implementation
-HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter,
- const IID& iid,
- void** ppv)
-{
- VERBOSE("Class factory: Create component.\r\n");
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Cannot aggregate.
- if (pUnknownOuter != NULL)
- {
- WARNING("Class factory: non-Null pUnknownOuter.\r\n");
-
- return CLASS_E_NOAGGREGATION;
- }
-
- // Create component.
- IOemPS* pOemCP = new IOemPS;
- if (pOemCP == NULL)
- {
- ERR("Class factory: failed to allocate IOemPS.\r\n");
-
- return E_OUTOFMEMORY;
- }
-
- // Get the requested interface.
- HRESULT hr = pOemCP->QueryInterface(iid, ppv);
-
- // Release the IUnknown pointer.
- // (If QueryInterface failed, component will delete itself.)
- pOemCP->Release();
- return hr;
-}
-
-// LockServer
-HRESULT __stdcall IOemCF::LockServer(BOOL bLock)
-{
- VERBOSE("IOemCF::LockServer entered.\r\n");
-
- if (bLock)
- {
- InterlockedIncrement(&g_cServerLocks);
- }
- else
- {
- InterlockedDecrement(&g_cServerLocks);
- }
-
- VERBOSE("IOemCF::LockServer() leaving.\r\n");
- return S_OK;
-}
-
-
-//
-// Registration functions
-//
-
-//
-// Can DLL unload now?
-//
-STDAPI DllCanUnloadNow()
-{
- //
- // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers
- // are unloaded, Unidrv and Pscript driver ignore the return value of
- // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL.
- //
- // If OEM DLL spins off a working thread that also uses the OEM DLL, the
- // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise
- // it may crash after Unidrv or Pscript calls FreeLibrary.
- //
-
- VERBOSE("DllCanUnloadNow entered.\r\n");
-
- if ((g_cComponents == 0) && (g_cServerLocks == 0))
- {
- return S_OK;
- }
- else
- {
- return S_FALSE;
- }
-}
-
-//
-// Get class factory
-//
-STDAPI DllGetClassObject(
- _In_ REFCLSID clsid,
- _In_ REFIID iid,
- _Outptr_ LPVOID* ppv)
-{
- VERBOSE("DllGetClassObject: Create class factory entered.\r\n");
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Can we create this component?
- if (clsid != CLSID_OEMRENDER)
- {
- WARNING("DllGetClassObject: doesn't support clsid!\r\n");
- return CLASS_E_CLASSNOTAVAILABLE;
- }
-
- // Create class factory.
- IOemCF* pFontCF = new IOemCF; // Reference count set to 1
- // in constructor
- if (pFontCF == NULL)
- {
- WARNING("DllGetClassObject: memory allocation failed!\r\n");
- return E_OUTOFMEMORY;
- }
-
- // Get requested interface.
- HRESULT hr = pFontCF->QueryInterface(iid, ppv);
- pFontCF->Release();
-
- return hr;
-}
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/oemps/intrface.h
deleted file mode 100644
index 87b00473..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/intrface.h
+++ /dev/null
@@ -1,119 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.H
-//
-//
-// PURPOSE: Define COM interface for User Mode Printer Customization DLL.
-//
-#pragma once
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IOemPS
-//
-// Interface for PostScript OEM sample rendering module
-//
-class IOemPS : public IPrintOemPS
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- // *** IPrintOemPS methods ***
-
- //
- // Method for publishing Driver interface.
- //
- STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown);
-
- //
- // Method for OEM to specify DDI hook out
- //
-
- STDMETHOD(EnableDriver) (THIS_ DWORD DriverVersion,
- DWORD cbSize,
- PDRVENABLEDATA pded);
-
- //
- // Method to notify OEM plugin that it is no longer required
- //
-
- STDMETHOD(DisableDriver) (THIS);
-
- //
- // Method for OEM to contruct its own PDEV
- //
-
- STDMETHOD(EnablePDEV) (THIS_ PDEVOBJ pdevobj,
- _In_ PWSTR pPrinterName,
- ULONG cPatterns,
- HSURF *phsurfPatterns,
- ULONG cjGdiInfo,
- GDIINFO *pGdiInfo,
- ULONG cjDevInfo,
- DEVINFO *pDevInfo,
- DRVENABLEDATA *pded,
- OUT PDEVOEM *pDevOem);
-
- //
- // Method for OEM to free any resource associated with its PDEV
- //
-
- STDMETHOD(DisablePDEV) (THIS_ PDEVOBJ pdevobj);
-
- //
- // Method for OEM to transfer from old PDEV to new PDEV
- //
-
- STDMETHOD(ResetPDEV) (THIS_ PDEVOBJ pdevobjOld,
- PDEVOBJ pdevobjNew);
-
-
- //
- // Get OEM dll related information
- //
-
- STDMETHOD(GetInfo) (THIS_ DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded);
- //
- // OEMDevMode
- //
-
- STDMETHOD(DevMode) (THIS_ DWORD dwMode,
- POEMDMPARAM pOemDMParam);
-
- //
- // OEMCommand - PSCRIPT only, return E_NOTIMPL on Unidrv
- //
-
- STDMETHOD(Command) (THIS_ PDEVOBJ pdevobj,
- DWORD dwIndex,
- PVOID pData,
- DWORD cbSize,
- OUT DWORD *pdwResult);
-
- IOemPS();
- ~IOemPS();
-
-protected:
-
- long m_cRef;
-
- IPrintOemDriverPS* m_pOEMHelp;
-};
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/oemps.def b/print/OEM Printer Customization Plug-in Samples/C++/oemps/oemps.def
deleted file mode 100644
index 9992eb3e..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/oemps.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY OEMPS
-EXPORTS DllGetClassObject PRIVATE
- DllCanUnloadNow PRIVATE \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/oemps.h b/print/OEM Printer Customization Plug-in Samples/C++/oemps/oemps.h
deleted file mode 100644
index 4fc07721..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/oemps.h
+++ /dev/null
@@ -1,76 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: OEMPS.H
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for oemps.cpp.
-//
-#pragma once
-
-
-///////////////////////////////////////////////////////
-// Warning: the following enum order must match the
-// order in OEMHookFuncs[].
-///////////////////////////////////////////////////////
-typedef enum tag_Hooks {
- UD_DrvRealizeBrush,
- UD_DrvCopyBits,
- UD_DrvBitBlt,
- UD_DrvStretchBlt,
- UD_DrvTextOut,
- UD_DrvStrokePath,
- UD_DrvFillPath,
- UD_DrvStrokeAndFillPath,
- UD_DrvStartPage,
- UD_DrvSendPage,
- UD_DrvEscape,
- UD_DrvStartDoc,
- UD_DrvEndDoc,
- UD_DrvQueryFont,
- UD_DrvQueryFontTree,
- UD_DrvQueryFontData,
- UD_DrvQueryAdvanceWidths,
- UD_DrvFontManagement,
- UD_DrvGetGlyphMode,
- UD_DrvStretchBltROP,
- UD_DrvPlgBlt,
- UD_DrvTransparentBlt,
- UD_DrvAlphaBlend,
- UD_DrvGradientFill,
- UD_DrvIcmCreateColorTransform,
- UD_DrvIcmDeleteColorTransform,
- UD_DrvQueryDeviceSupport,
-
- MAX_DDI_HOOKS,
-
-} ENUMHOOKS;
-
-
-typedef struct _OEMPDEV {
- //
- // define whatever needed, such as working buffers, tracking information,
- // etc.
- //
- // This test DLL hooks out every drawing DDI. So it needs to remember
- // PS's hook function pointer so it call back.
- //
- PFN pfnPS[MAX_DDI_HOOKS];
-
- //
- // define whatever needed, such as working buffers, tracking information,
- // etc.
- //
- DWORD dwReserved[1];
-
-} OEMPDEV, *POEMPDEV;
-
-
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/oemps/precomp.h
deleted file mode 100644
index 4efe4e6f..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/precomp.h
+++ /dev/null
@@ -1,47 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: precomp.h
-//
-// PURPOSE: Header files that should be in the precompiled header.
-//
-#pragma once
-
-// Necessary for compiling under VC.
-#if(!defined(WINVER) || (WINVER < 0x0500))
- #undef WINVER
- #define WINVER 0x0500
-#endif
-#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500))
- #undef _WIN32_WINNT
- #define _WIN32_WINNT 0x0500
-#endif
-
-
-// Required header files that shouldn't change often.
-
-#include <STDDEF.H>
-#include <STDLIB.H>
-#include <OBJBASE.H>
-#include <STDARG.H>
-#include <STDIO.H>
-#include <WINDEF.H>
-#include <WINERROR.H>
-#include <WINBASE.H>
-#include <WINGDI.H>
-#include <WINDDI.H>
-#include <TCHAR.H>
-#include <EXCPT.H>
-#include <ASSERT.H>
-#include <PRINTOEM.H>
-#include <INITGUID.H>
-#include <PRCOMOEM.H>
-
-// StrSafe.h needs to be included last
-// to disallow unsafe string functions.
-#include <STRSAFE.H>
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemps/precompsrc.cpp
deleted file mode 100644
index 5944cf51..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/precompsrc.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "precomp.h" \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/oemps/resource.h
deleted file mode 100644
index 48f784ad..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/resource.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by OEMPS.rc
-//
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 103
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui.ini b/print/OEM Printer Customization Plug-in Samples/C++/oemui.ini
deleted file mode 100644
index 6324a104..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemui.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[OEMFiles]
-OEMConfigFile1=OEMUI.DLL
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.def b/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.def
deleted file mode 100644
index 68bdffc0..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY OEMUI
-EXPORTS DllGetClassObject PRIVATE
- DllCanUnloadNow PRIVATE \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.rc b/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.rc
deleted file mode 100644
index c9968413..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.rc
+++ /dev/null
@@ -1,169 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "Written by Windows Printing & Imaging Team"
- VALUE "CompanyName", "Microsoft Corp."
- VALUE "FileDescription", "OEM UI Test Module."
- VALUE "FileVersion", "1, 0, 0, 1"
- VALUE "InternalName", "OEMUI"
- VALUE "LegalCopyright", "Copyright � 1998 - 2003 Microsoft Corp."
- VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation"
- VALUE "OriginalFilename", "OEMUI.dll"
- VALUE "ProductName", "Microsoft OEMUI"
- VALUE "ProductVersion", "1.1"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""winres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DEVICE_PROPPAGE DIALOG 0, 0, 179, 113
-STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Device Property Page"
-FONT 8, "MS Shell Dialog"
-BEGIN
- LTEXT "OEM UI Added Page",IDC_STATIC,55,14,68,11
- PUSHBUTTON "Calibrate",IDC_CALIBRATE,61,34,50,14
-END
-
-IDD_DOC_PROPPAGE DIALOG 0, 0, 210, 154
-STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Document Property Page"
-FONT 8, "MS Shell Dialog"
-BEGIN
- LTEXT "OEM UI Document Property Page",IDC_STATIC,60,73,108,8
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO
-BEGIN
- IDD_DEVICE_PROPPAGE, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 172
- TOPMARGIN, 8
- BOTTOMMARGIN, 106
- END
-
- IDD_DOC_PROPPAGE, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 203
- TOPMARGIN, 7
- BOTTOMMARGIN, 147
- END
-END
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE
-BEGIN
- IDS_SECTION "OEM UI Added Item"
- IDS_CALIBRATED "Printer has been calibrated."
- IDS_NAME "OEM UI Customization DLL"
- IDS_DEV_SECTION "Device Settings OEM UI Added Item"
- IDS_ADV_SECTION "Advanced OEM UI Added Item"
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.vcxproj
deleted file mode 100644
index 7c5e5bcc..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.vcxproj
+++ /dev/null
@@ -1,1042 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Win10 Debug|ARM64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|Win32">
- <Configuration>Win10 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|x64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|ARM64">
- <Configuration>Win10 Release</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|Win32">
- <Configuration>Win10 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|x64">
- <Configuration>Win10 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|Win32">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|Win32">
- <Configuration>Win8 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|Win32">
- <Configuration>Win7 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|Win32">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|Win32">
- <Configuration>Win8 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|Win32">
- <Configuration>Win7 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|x64">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|x64">
- <Configuration>Win8 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|x64">
- <Configuration>Win7 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|x64">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|x64">
- <Configuration>Win8 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|x64">
- <Configuration>Win7 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{452209BF-AEB7-457D-956B-90CDE70CED7D}</ProjectGuid>
- <RootNamespace>$(MSBuildProjectName)</RootNamespace>
- <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration>
- <Platform Condition="'$(Platform)' == ''">Win32</Platform>
- <SampleGuid>{84C69391-30E8-404B-B0F2-7C88DEB2A456}</SampleGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <PropertyGroup>
- <OutDir>$(IntDir)</OutDir>
- </PropertyGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ItemGroup Label="WrappedTaskItems" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetName>OEMUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetName>OEMUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetName>OEMUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <TargetName>OEMUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <TargetName>OEMUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetName>OEMUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetName>OEMUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetName>OEMUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <TargetName>OEMUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <TargetName>OEMUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetName>OEMUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetName>OEMUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetName>OEMUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <TargetName>OEMUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetName>OEMUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetName>OEMUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetName>OEMUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <TargetName>OEMUI</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Link>
- <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Link>
- <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Link>
- <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <Link>
- <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <Link>
- <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <Link>
- <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="devmode.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="globals.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="OEMUI.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Create</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ResourceCompile Include="OEMUI.rc" />
- </ItemGroup>
- <ItemGroup>
- <Inf Exclude="@(Inf)" Include="*.inf" />
- <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" />
- </ItemGroup>
- <ItemGroup>
- <None Exclude="@(None)" Include="*.txt;*.htm;*.html" />
- <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" />
- <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.vcxproj.Filters
deleted file mode 100644
index 07492222..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.vcxproj.Filters
+++ /dev/null
@@ -1,220 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions>
- <UniqueIdentifier>{03B02FF3-CA63-4469-8907-F08C69CCE4DC}</UniqueIdentifier>
- </Filter>
- <Filter Include="Header Files">
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- <UniqueIdentifier>{5AE6A39D-71A9-44D0-B561-2746C654DA3B}</UniqueIdentifier>
- </Filter>
- <Filter Include="Resource Files">
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions>
- <UniqueIdentifier>{C46C5ADA-08FD-4FA4-829D-1007F014DC71}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="devmode.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="globals.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="OEMUI.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="globals.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="oemui.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="OEMUI.rc">
- <Filter>Resource Files</Filter>
- </ResourceCompile>
- </ItemGroup>
- <ItemGroup>
- <None Include="OEMUI.def">
- <Filter>Source Files</Filter>
- </None>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/oemui/debug.h
deleted file mode 100644
index 0414569c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/debug.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Debug.H
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debugging functions. Also defines the various debug macros.
-//
-//
-
-#pragma once
-
-/////////////////////////////////////////////////////////
-// Macros
-/////////////////////////////////////////////////////////
-//
-// These macros are used for debugging purposes. They expand
-// to white spaces on a free build. Here is a brief description
-// of what they do and how they are used:
-//
-// giDebugLevel
-// Global variable which set the current debug level to control
-// the amount of debug messages emitted.
-//
-// WARNING(msg)
-// Display a message if the current debug level is <= DBG_WARNING.
-// The message format is: WRN filename (linenumber): message
-//
-// ERR(msg)
-// Similiar to WARNING macro above - displays a message
-// if the current debug level is <= DBG_ERROR.
-//
-// ASSERT(cond)
-// Verify a condition is true. If not, force a breakpoint.
-//
-// RIP(msg)
-// Display a message and force a breakpoint.
-//
-// Usage:
-// WARNING("App passed NULL pointer, ignoring...\n");
-//
-
-#define DBG_VERBOSE 0
-#define DBG_WARNING 1
-#define DBG_ERROR 2
-#define DBG_NONE 3
-
-// VC and Build use different debug defines.
-#if defined (DBG) || defined (_DEBUG)
-
- // __declspec(selectany) ensures that even if this is defined in multiple compilation
- // modules, they will all resolve to the same symbol in the linked DLL
- __declspec(selectany) INT giDebugLevel = 2;
-
- #define STRINGIZE(x) #x
- #define QUOTE(x) STRINGIZE(x)
- #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__)
-
- #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); }
- #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); }
- #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); }
- #define ASSERT(cond) { if (!(cond)) RIP("\n"); }
- #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); }
-
-#else // !DBG
-
- #define VERBOSE(msg)
- #define WARNING(msg)
- #define ERR(msg)
- #define ASSERT(cond)
- #define RIP(msg)
-
-#endif
-
-
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemui/devmode.cpp
deleted file mode 100644
index dd9ff650..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/devmode.cpp
+++ /dev/null
@@ -1,182 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.cpp
-//
-//
-// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules.
-//
-
-#include "precomp.h"
-#include "debug.h"
-#include "devmode.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-//
-//Performs operation on UI Plugins Private DevMode Members.
-//Called via IOemUI::DevMode
-//
-
-HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam)
-{
- POEMDEV pOEMDevIn;
- POEMDEV pOEMDevOut;
-
-
- // Verify parameters.
- if( (NULL == pOemDMParam)
- ||
- ( (OEMDM_SIZE != dwMode)
- &&
- (OEMDM_DEFAULT != dwMode)
- &&
- (OEMDM_CONVERT != dwMode)
- &&
- (OEMDM_MERGE != dwMode)
- )
- )
- {
- ERR("DevMode() ERROR_INVALID_PARAMETER.\r\n");
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Cast generic (i.e. PVOID) to OEM private devomode pointer type.
- pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn;
- pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut;
-
- switch(dwMode)
- {
- //
- //The Method should return the size of the memory allocation needed to store the UI plugin Private DEVMODE.
- //
- case OEMDM_SIZE:
- pOemDMParam->cbBufSize = sizeof(OEMDEV);
- break;
-
- //
- //Should fill the Private DEVMODE with the default values.
- //
- case OEMDM_DEFAULT:
- //
- //OEM_DMEXTRAHEADER Members
- //
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
-
- //
- //Private members
- //
- pOEMDevOut->dwDriverData = 0;
- pOEMDevOut->dwAdvancedData = 0;
- break;
-
- //
- //The method should convert private DEVMODE members to the current version, if necessary.
- //
- case OEMDM_CONVERT:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- break;
-
- //
- //The method should validate the information contained in private DEVMODE members and merge validated values into a private DEVMODE structure containing default values
- //
- case OEMDM_MERGE:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- MakeOEMDevmodeValid(pOEMDevOut);
- break;
- }
-
- return S_OK;
-}
-
-
-BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut)
-{
- if( (NULL == pOEMDevIn)
- ||
- (NULL == pOEMDevOut)
- )
- {
- ERR("ConvertOEMDevmode() invalid parameters.\r\n");
- return FALSE;
- }
-
- // Check OEM Signature, if it doesn't match ours,
- // then just assume DMIn is bad and use defaults.
- if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature)
- {
- VERBOSE("Converting private OEM Devmode.\r\n");
-
- // Set the devmode defaults so that anything the isn't copied over will
- // be set to the default value.
- pOEMDevOut->dwDriverData = 0;
- pOEMDevOut->dwAdvancedData = 0;
-
- // Copy the old structure in to the new using which ever size is the smaller.
- // Devmode maybe from newer Devmode (not likely since there is only one), or
- // Devmode maybe a newer Devmode, in which case it maybe larger,
- // but the first part of the structure should be the same.
-
- // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to;
- // the fields that are in the DEVMODE never change only new fields get added to the end.
-
- memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize));
-
- // Re-fill in the size and version fields to indicated
- // that the DEVMODE is the current private DEVMODE version.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- }
- else
- {
- WARNING("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n");
-
- // Don't know what the input DEVMODE is, so just use defaults.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- pOEMDevOut->dwDriverData = 0;
- pOEMDevOut->dwAdvancedData = 0;
- }
-
- return TRUE;
-}
-
-
-BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode)
-{
- if(NULL == pOEMDevmode)
- {
- return FALSE;
- }
-
- // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure.
-
- // Make sure that dmOEMExtra indicates the current OEMDEV structure.
- pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION;
-
- // Set driver data, if not valid.
- if(pOEMDevmode->dwDriverData > 100)
- {
- pOEMDevmode->dwDriverData = 0;
- }
-
- // Set Advanced driver data, if not valid.
- if(pOEMDevmode->dwAdvancedData > 100)
- {
- pOEMDevmode->dwAdvancedData = 0;
- }
-
- return TRUE;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/oemui/devmode.h
deleted file mode 100644
index 3dcbba25..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/devmode.h
+++ /dev/null
@@ -1,52 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.h
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for devmode functions.
-//
-
-#pragma once
-
-////////////////////////////////////////////////////////
-// OEM Devmode Defines
-////////////////////////////////////////////////////////
-
-#define OEM_SIGNATURE 'MSFT'
-#define OEM_VERSION 0x00000001L
-
-////////////////////////////////////////////////////////
-// OEM Devmode Type Definitions
-////////////////////////////////////////////////////////
-
-//
-// This structure must be prefixed by OEM_DMEXTRAHEADER
-// Plug-ins must implement the IPrintOemUI::DevMode method
-//
-typedef struct tagOEMDEV
-{
- OEM_DMEXTRAHEADER dmOEMExtra;
- DWORD dwDriverData;
- DWORD dwAdvancedData;
-
- //
- //Private DevMode Members
- //
-
-} OEMDEV, *POEMDEV;
-
-typedef const OEMDEV *PCOEMDEV;
-
-
-/////////////////////////////////////////////////////////
-// ProtoTypes
-/////////////////////////////////////////////////////////
-
-HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam);
-BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut);
-BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode);
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemui/dllentry.cpp
deleted file mode 100644
index 0823030c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/dllentry.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: dllentry.cpp
-//
-// PURPOSE: Source module for DLL entry function(s).
-//
-
-#include "precomp.h"
-#include "debug.h"
-#include "globals.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-///////////////////////////////////////////////////////////
-//
-// DLL entry point
-//
-BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved)
-{
- UNREFERENCED_PARAMETER(lpReserved);
-
- switch(wReason)
- {
- case DLL_PROCESS_ATTACH:
- VERBOSE("Process attach.\r\n");
- ghInstance = hInst;
- break;
-
- case DLL_THREAD_ATTACH:
- VERBOSE("Thread attach.\r\n");
- break;
-
- case DLL_PROCESS_DETACH:
- VERBOSE("Process detach.\r\n");
- break;
-
- case DLL_THREAD_DETACH:
- VERBOSE("Thread detach.\r\n");
- break;
- }
-
- return TRUE;
-}
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/globals.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemui/globals.cpp
deleted file mode 100644
index 40cfbbc2..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/globals.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Globals.cpp
-//
-// PURPOSE: File that contains all the globals.
-//
-
-#include "precomp.h"
-#include "globals.h"
-
-
-///////////////////////////////////////
-// Globals
-///////////////////////////////////////
-
-// Module's Instance handle from DLLEntry of process.
-HINSTANCE ghInstance = NULL;
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/globals.h b/print/OEM Printer Customization Plug-in Samples/C++/oemui/globals.h
deleted file mode 100644
index c809fdc6..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/globals.h
+++ /dev/null
@@ -1,17 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Globals.h
-//
-// PURPOSE: Lists of globals declared in Globals.cpp.
-//
-
-#pragma once
-
-// Module's Instance handle from DLLEntry of process.
-extern HINSTANCE ghInstance;
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemui/intrface.cpp
deleted file mode 100644
index a05b4643..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/intrface.cpp
+++ /dev/null
@@ -1,567 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.cpp
-//
-// PURPOSE: Implementation of interface for PScript5 and Unidrv UI plug-ins.
-//
-
-#include "precomp.h"
-
-#include "debug.h"
-#include "devmode.h"
-#include "oemui.h"
-#include "intrface.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-////////////////////////////////////////////////////////
-// Internal Globals
-////////////////////////////////////////////////////////
-
-static long g_cComponents = 0 ; // Count of active components
-static long g_cServerLocks = 0 ; // Count of locks
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IOemUI body
-//
-IOemUI::~IOemUI()
-{
- // Make sure that helper interface is released.
- if(NULL != m_pOEMHelp)
- {
- m_pOEMHelp->Release();
- m_pOEMHelp = NULL;
- }
-
- // If this instance of the object is being deleted, then the reference
- // count should be zero.
- assert(0 == m_cRef);
-}
-
-HRESULT __stdcall IOemUI::QueryInterface(const IID& iid, void** ppv)
-{
- VERBOSE("IOemUI:QueryInterface entry.\r\n\r\n");
- if (iid == IID_IUnknown)
- {
- *ppv = static_cast<IUnknown*>(this);
- VERBOSE("IOemUI:Return pointer to IUnknown.\r\n\r\n");
- }
- else if (iid == IID_IPrintOemUI)
- {
- *ppv = static_cast<IPrintOemUI*>(this) ;
- VERBOSE("IOemUI:Return pointer to IPrintOemUI.\r\n");
- }
- else
- {
- VERBOSE("IOemUI::QueryInterface IID not supported.\r\n");
- *ppv = NULL ;
- return E_NOINTERFACE ;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef() ;
- return S_OK ;
-}
-
-ULONG __stdcall IOemUI::AddRef()
-{
- VERBOSE("IOemUI:AddRef entry.\r\n");
- return InterlockedIncrement(&m_cRef) ;
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IOemUI::Release()
-{
- VERBOSE("IOemUI:Release entry.\r\n");
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-HRESULT __stdcall IOemUI::PublishDriverInterface(
- IUnknown *pIUnknown)
-{
- VERBOSE("IOemUI:PublishDriverInterface entry.\r\n");
-
- // Need to store pointer to Driver Helper functions, if we already haven't.
- if (m_pOEMHelp == NULL)
- {
- HRESULT hResult;
-
-
- // Get Interface to Helper Functions.
- hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverUI, (void** ) &(m_pOEMHelp));
-
- if(!SUCCEEDED(hResult))
- {
- // Make sure that interface pointer reflects interface query failure.
- m_pOEMHelp = NULL;
-
- return E_FAIL;
- }
- }
-
- return S_OK;
-}
-
-HRESULT __stdcall IOemUI::GetInfo(
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- VERBOSE("IOemUI::GetInfo entry.\r\r\n");
-
- // Validate parameters.
- if( (NULL == pcbNeeded)
- ||
- ( (OEMGI_GETSIGNATURE != dwMode)
- &&
- (OEMGI_GETVERSION != dwMode)
- &&
- (OEMGI_GETPUBLISHERINFO != dwMode)
- )
- )
- {
- WARNING("IOemUI::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER\r\r\n");
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Set expected buffer size and number of bytes written.
- *pcbNeeded = sizeof(DWORD);
-
- // Check buffer size is sufficient.
- if((cbSize < *pcbNeeded) || (NULL == pBuffer))
- {
- WARNING("IOemUI::GetInfo() exit insufficient buffer!\r\r\n");
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- // OEM DLL Signature
- case OEMGI_GETSIGNATURE:
- *(PDWORD)pBuffer = OEM_SIGNATURE;
- break;
-
- // OEM DLL version
- case OEMGI_GETVERSION:
- *(PDWORD)pBuffer = OEM_VERSION;
- break;
-
- // dwMode not supported.
- default:
- // Set written bytes to zero since nothing was written.
- WARNING("IOemUI::GetInfo() exit mode not supported.\r\r\n");
- *pcbNeeded = 0;
- SetLastError(ERROR_NOT_SUPPORTED);
- return E_FAIL;
- }
-
- VERBOSE("IOemUI::GetInfo() exit S_OK\r\n");
- return S_OK;
-}
-
-HRESULT __stdcall IOemUI::DevMode(
- DWORD dwMode,
- POEMDMPARAM pOemDMParam)
-{
- VERBOSE("IOemUI:DevMode entry.\r\n");
-
- return hrOEMDevMode(dwMode, pOemDMParam);
-}
-
-HRESULT __stdcall IOemUI::CommonUIProp(
- DWORD dwMode,
- POEMCUIPPARAM pOemCUIPParam)
-{
- VERBOSE("IOemUI:CommonUIProp entry.\r\n");
-
- return hrOEMPropertyPage(dwMode, pOemCUIPParam);
-}
-
-
-HRESULT __stdcall IOemUI::DocumentPropertySheets(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam)
-{
- VERBOSE("IOemUI:DocumentPropertySheets entry.\r\n");
-
- return hrOEMDocumentPropertySheets(pPSUIInfo, lParam, m_pOEMHelp);
-}
-
-HRESULT __stdcall IOemUI::DevicePropertySheets(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam)
-{
- VERBOSE("IOemUI:DevicePropertySheets entry.\r\n");
-
- return hrOEMDevicePropertySheets(pPSUIInfo, lParam);
-}
-
-HRESULT __stdcall IOemUI::DeviceCapabilities(
- POEMUIOBJ poemuiobj,
- HANDLE hPrinter,
- _In_ PWSTR pDeviceName,
- WORD wCapability,
- PVOID pOutput,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- DWORD dwOld,
- DWORD *dwResult)
-{
- VERBOSE("IOemUI:DeviceCapabilities entry.\r\n");
-
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(pDeviceName);
- UNREFERENCED_PARAMETER(wCapability);
- UNREFERENCED_PARAMETER(pOutput);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
- UNREFERENCED_PARAMETER(dwOld);
- UNREFERENCED_PARAMETER(dwResult);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI::DevQueryPrintEx(
- POEMUIOBJ poemuiobj,
- PDEVQUERYPRINT_INFO pDQPInfo,
- PDEVMODE pPublicDM,
- PVOID pOEMDM)
-{
- VERBOSE("IOemUI:DevQueryPrintEx entry.\r\n");
-
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(pDQPInfo);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI::UpgradePrinter(
- DWORD dwLevel,
- PBYTE pDriverUpgradeInfo)
-{
- VERBOSE("IOemUI:UpgradePrinter entry.\r\n");
-
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(pDriverUpgradeInfo);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI::PrinterEvent(
- _In_ PWSTR pPrinterName,
- INT iDriverEvent,
- DWORD dwFlags,
- LPARAM lParam)
-{
- VERBOSE("IOemUI:PrinterEvent entry.\r\n");
-
- UNREFERENCED_PARAMETER(pPrinterName);
- UNREFERENCED_PARAMETER(iDriverEvent);
- UNREFERENCED_PARAMETER(dwFlags);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IOemUI::DriverEvent(
- DWORD dwDriverEvent,
- DWORD dwLevel,
- LPBYTE pDriverInfo,
- LPARAM lParam)
-{
- VERBOSE("IOemUI:DriverEvent entry.\r\n");
-
- UNREFERENCED_PARAMETER(dwDriverEvent);
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(pDriverInfo);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-};
-
-
-#define PROFILE_NAME L"OEMPROFILE.icm\0"
-
-HRESULT __stdcall IOemUI::QueryColorProfile(
- HANDLE hPrinter,
- POEMUIOBJ poemuiobj,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- ULONG ulQueryMode,
- VOID *pvProfileData,
- ULONG *pcbProfileData,
- FLONG *pflProfileData)
-{
- HRESULT Result = E_FAIL;
-
- VERBOSE("IOemUI:QueryColorProfile entry.\r\n");
-
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
-
- if(QCP_DEVICEPROFILE == ulQueryMode)
- {
- if(NULL == pvProfileData)
- {
- *pcbProfileData = sizeof(PROFILE_NAME);
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- }
- else
- {
- if(*pcbProfileData < sizeof(PROFILE_NAME))
- {
- *pcbProfileData = sizeof(PROFILE_NAME);
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- }
- else
- {
- Result = StringCbCopy((LPWSTR)pvProfileData, *pcbProfileData, PROFILE_NAME);
- *pcbProfileData = sizeof(PROFILE_NAME);
- *pflProfileData = QCP_PROFILEDISK;
-
- if(FAILED(Result))
- {
- SetLastError(Result);
- }
- }
- }
- }
-
- return Result;
-};
-
-HRESULT __stdcall IOemUI::FontInstallerDlgProc(
- HWND hWnd,
- UINT usMsg,
- WPARAM wParam,
- LPARAM lParam)
-{
- VERBOSE("IOemUI:FontInstallerDlgProc entry.\r\n");
-
- UNREFERENCED_PARAMETER(hWnd);
- UNREFERENCED_PARAMETER(usMsg);
- UNREFERENCED_PARAMETER(wParam);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-};
-
-HRESULT __stdcall IOemUI::UpdateExternalFonts(
- HANDLE hPrinter,
- HANDLE hHeap,
- _In_ PWSTR pwstrCartridges)
-{
- VERBOSE("IOemUI:UpdateExternalFonts entry.\r\n");
-
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(hHeap);
- UNREFERENCED_PARAMETER(pwstrCartridges);
-
- return E_NOTIMPL;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// oem class factory
-//
-class IOemCF : public IClassFactory
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object)) STDMETHOD_(ULONG,Release)(THIS);
-
- // *** IClassFactory methods ***
- STDMETHOD(CreateInstance) (THIS_
- LPUNKNOWN pUnkOuter,
- REFIID riid,
- LPVOID FAR* ppvObject);
- STDMETHOD(LockServer) (THIS_ BOOL bLock);
-
-
- // Constructor
- IOemCF(): m_cRef(1) { };
- ~IOemCF() { };
-
-protected:
- LONG m_cRef;
-
-};
-
-///////////////////////////////////////////////////////////
-//
-// Class factory body
-//
-HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv)
-{
- if ((iid == IID_IUnknown) || (iid == IID_IClassFactory))
- {
- *ppv = static_cast<IOemCF*>(this) ;
- }
- else
- {
- VERBOSE("IOemCF::QueryInterface IID not supported.\r\n");
- *ppv = NULL ;
- return E_NOINTERFACE ;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef() ;
- return S_OK ;
-}
-
-ULONG __stdcall IOemCF::AddRef()
-{
- return InterlockedIncrement(&m_cRef) ;
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IOemCF::Release()
-{
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-// IClassFactory implementation
-HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter,
- const IID& iid,
- void** ppv)
-{
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Cannot aggregate.
- if (pUnknownOuter != NULL)
- {
- return CLASS_E_NOAGGREGATION ;
- }
-
- // Create component.
- IOemUI* pOemCB = new IOemUI ;
- if (pOemCB == NULL)
- {
- return E_OUTOFMEMORY ;
- }
- // Get the requested interface.
- HRESULT hr = pOemCB->QueryInterface(iid, ppv) ;
-
- // Release the IUnknown pointer.
- // (If QueryInterface failed, component will delete itself.)
- pOemCB->Release() ;
- return hr ;
-}
-
-// LockServer
-HRESULT __stdcall IOemCF::LockServer(BOOL bLock)
-{
- if (bLock)
- {
- InterlockedIncrement(&g_cServerLocks) ;
- }
- else
- {
- InterlockedDecrement(&g_cServerLocks) ;
- }
- return S_OK ;
-}
-
-///////////////////////////////////////////////////////////
-//
-// Exported functions
-//
-
-
-// Can DLL unload now?
-//
-STDAPI DllCanUnloadNow()
-{
- //
- // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers
- // are unloaded, Unidrv and Pscript driver ignore the return value of
- // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL.
- //
- // If OEM DLL spins off a working thread that also uses the OEM DLL, the
- // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise
- // it may crash after Unidrv or Pscript calls FreeLibrary.
- //
-
- if ((g_cComponents == 0) && (g_cServerLocks == 0))
- {
- return S_OK ;
- }
- else
- {
- return S_FALSE;
- }
-}
-
-//
-// Get class factory
-//
-STDAPI DllGetClassObject(
- _In_ REFCLSID clsid,
- _In_ REFIID iid,
- _Outptr_ LPVOID* ppv)
-{
- VERBOSE("DllGetClassObject:Create class factory.\r\n");
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Can we create this component?
- if (clsid != CLSID_OEMUI)
- {
- return CLASS_E_CLASSNOTAVAILABLE ;
- }
-
- // Create class factory.
- IOemCF* pFontCF = new IOemCF ; // Reference count set to 1
- // in constructor
- if (pFontCF == NULL)
- {
- return E_OUTOFMEMORY ;
- }
-
- // Get requested interface.
- HRESULT hr = pFontCF->QueryInterface(iid, ppv) ;
- pFontCF->Release() ;
-
- return hr ;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/oemui/intrface.h
deleted file mode 100644
index 3ae5c07c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/intrface.h
+++ /dev/null
@@ -1,178 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.cpp
-//
-//
-// PURPOSE: Header of interface for PScript5 & Unidrv UI plug-ins.
-//
-#pragma once
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IOemUI
-//
-class IOemUI: public IPrintOemUI
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object)) STDMETHOD_(ULONG,Release)(THIS);
-
- //
- // Method for publishing Driver interface.
- //
- STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown);
-
- //
- // Get OEM dll related information
- //
-
- STDMETHOD(GetInfo) (THIS_ DWORD dwMode, PVOID pBuffer, DWORD cbSize,
- PDWORD pcbNeeded);
-
- //
- // OEMDevMode
- //
-
- STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) ;
-
- //
- // OEMCommonUIProp
- //
-
- STDMETHOD(CommonUIProp) (THIS_
- DWORD dwMode,
- POEMCUIPPARAM pOemCUIPParam
- );
-
- //
- // OEMDocumentPropertySheets
- //
-
- STDMETHOD(DocumentPropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
- //
- // OEMDevicePropertySheets
- //
-
- STDMETHOD(DevicePropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
-
- //
- // OEMDevQueryPrintEx
- //
-
- STDMETHOD(DevQueryPrintEx) (THIS_
- POEMUIOBJ poemuiobj,
- PDEVQUERYPRINT_INFO pDQPInfo,
- PDEVMODE pPublicDM,
- PVOID pOEMDM
- );
-
- //
- // OEMDeviceCapabilities
- //
-
- STDMETHOD(DeviceCapabilities) (THIS_
- POEMUIOBJ poemuiobj,
- HANDLE hPrinter,
- _In_ PWSTR pDeviceName,
- WORD wCapability,
- PVOID pOutput,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- DWORD dwOld,
- DWORD *dwResult
- );
-
- //
- // OEMUpgradePrinter
- //
-
- STDMETHOD(UpgradePrinter) (THIS_
- DWORD dwLevel,
- PBYTE pDriverUpgradeInfo
- );
-
- //
- // OEMPrinterEvent
- //
-
- STDMETHOD(PrinterEvent) (THIS_
- _In_ PWSTR pPrinterName,
- INT iDriverEvent,
- DWORD dwFlags,
- LPARAM lParam
- );
-
- //
- // OEMDriverEvent
- //
-
- STDMETHOD(DriverEvent)(THIS_
- DWORD dwDriverEvent,
- DWORD dwLevel,
- LPBYTE pDriverInfo,
- LPARAM lParam
- );
-
- //
- // OEMQueryColorProfile
- //
-
- STDMETHOD(QueryColorProfile) (THIS_
- HANDLE hPrinter,
- POEMUIOBJ poemuiobj,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- ULONG ulReserved,
- VOID *pvProfileData,
- ULONG *pcbProfileData,
- FLONG *pflProfileData);
-
- //
- // OEMFontInstallerDlgProc
- //
-
- STDMETHOD(FontInstallerDlgProc) (THIS_
- HWND hWnd,
- UINT usMsg,
- WPARAM wParam,
- LPARAM lParam
- );
- //
- // UpdateExternalFonts
- //
-
- STDMETHOD(UpdateExternalFonts) (THIS_
- HANDLE hPrinter,
- HANDLE hHeap,
- _In_ PWSTR pwstrCartridges
- );
-
-
- IOemUI() { m_cRef = 1; m_pOEMHelp = NULL; };
- ~IOemUI();
-
-protected:
- LONG m_cRef;
- IPrintOemDriverUI* m_pOEMHelp;
-};
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/oemui.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemui/oemui.cpp
deleted file mode 100644
index 421fa9d0..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/oemui.cpp
+++ /dev/null
@@ -1,737 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: OEMUI.cpp
-//
-// PURPOSE: Main file for OEM UI test module.
-//
-
-#include "precomp.h"
-
-#include "debug.h"
-#include "resource.h"
-#include "globals.h"
-#include "devmode.h"
-#include "oemui.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-////////////////////////////////////////////////////////
-// INTERNAL MACROS and DEFINES
-////////////////////////////////////////////////////////
-
-typedef struct _tagCBUserData
-{
- HANDLE hComPropSheet;
- HANDLE hPropPage;
- POEMUIPSPARAM pOEMUIParam;
- PFNCOMPROPSHEET pfnComPropSheet;
-
-} CBUSERDATA, *PCBUSERDATA;
-
-
-
-////////////////////////////////////////////////////////
-// INTERNAL PROTOTYPES
-////////////////////////////////////////////////////////
-
-static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam);
-static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam);
-LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam);
-LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam);
-LONG APIENTRY OEMDocUICallBack2(PCPSUICBPARAM pCallbackParam);
-INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam);
-static POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems);
-static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems);
-static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams);
-static PTSTR GetStringResource(HANDLE hHeap, HANDLE hModule, UINT uResource);
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems to display OEM device or document property UI.
-//
-HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam)
-{
- HRESULT hResult = S_OK;
-
- VERBOSE("hrOEMPropertyPage entry.\r\n");
-
- // Validate parameters.
- if( (OEMCUIP_DOCPROP != dwMode)
- &&
- (OEMCUIP_PRNPROP != dwMode)
- )
- {
- ERR("hrOEMPropertyPage() ERROR_INVALID_PARAMETER.\r\n");
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- case OEMCUIP_DOCPROP:
- hResult = hrDocumentPropertyPage(dwMode, pOEMUIParam);
- break;
-
- case OEMCUIP_PRNPROP:
- hResult = hrPrinterPropertyPage(dwMode, pOEMUIParam);
- break;
-
- default:
- // Should never reach this!
- ERR("hrOEMPropertyPage() Invalid dwMode");
- SetLastError(ERROR_INVALID_PARAMETER);
- hResult = E_FAIL;
- break;
- }
-
- return hResult;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems to display OEM document property UI.
-//
-static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam)
-{
- UNREFERENCED_PARAMETER(dwMode);
-
- if(NULL == pOEMUIParam->pOEMOptItems)
- {
- // Fill in the number of OptItems to create for OEM document property UI.
- pOEMUIParam->cOEMOptItems = 1;
-
- VERBOSE("hrDocumentPropertyPage() requesting items.\r\n");
- }
- else
- {
- POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM;
-
- VERBOSE("hrDocumentPropertyPage() fill out items.\r\n");
-
- // Init UI Callback reference.
- pOEMUIParam->OEMCUIPCallback = OEMDocUICallBack;
-
- // Init OEMOptItmes.
- InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems);
-
- // Fill out tree view items.
-
- // New section.
- pOEMUIParam->pOEMOptItems[0].Level = 1;
- pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE;
- pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, pOEMUIParam->hModule, IDS_ADV_SECTION);
- pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData;
-
- pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2);
-
- pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100;
- }
-
- return S_OK;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems to display OEM printer property UI.
-//
-static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam)
-{
- UNREFERENCED_PARAMETER(dwMode);
-
- if(NULL == pOEMUIParam->pOEMOptItems)
- {
- // Fill in the number of OptItems to create for OEM printer property UI.
- pOEMUIParam->cOEMOptItems = 1;
-
- VERBOSE("hrPrinterPropertyPage() requesting items.\r\n");
- }
- else
- {
- DWORD dwError;
- DWORD dwDeviceValue;
- DWORD dwType;
- DWORD dwNeeded;
-
-
- VERBOSE("hrPrinterPropertyPage() fill out items.\r\n");
-
- // Get device settings value from printer.
- dwError = GetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, &dwType, (PBYTE) &dwDeviceValue,
- sizeof(dwDeviceValue), &dwNeeded);
- if( (ERROR_SUCCESS != dwError)
- ||
- (dwDeviceValue > 100)
- )
- {
- // Failed to get the device value or value is invalid, just use the default.
- dwDeviceValue = 0;
- }
-
- // Init UI Callback reference.
- pOEMUIParam->OEMCUIPCallback = OEMPrinterUICallBack;
-
- // Init OEMOptItmes.
- InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems);
-
- // Fill out tree view items.
-
- // New section.
- pOEMUIParam->pOEMOptItems[0].Level = 1;
- pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE;
- pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, pOEMUIParam->hModule, IDS_DEV_SECTION);
- pOEMUIParam->pOEMOptItems[0].Sel = dwDeviceValue;
-
- pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2);
-
- pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100;
- }
-
- return S_OK;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Adds property page to Document property sheet.
-//
-HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam,
- IPrintOemDriverUI* pOEMHelp)
-{
- LONG_PTR lResult = 0;
- HRESULT hrResult = S_OK;
-
- VERBOSE("hrOEMDocumentPropertySheets() entry.\r\n");
-
- UNREFERENCED_PARAMETER(pOEMHelp);
-
- // Validate parameters.
- if( (NULL == pPSUIInfo)
- ||
- (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version)
- )
- {
- ERR("hrOEMDocumentPropertySheets() ERROR_INVALID_PARAMETER.\r\n");
-
- // Return invalid parameter error.
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Do action.
- switch(pPSUIInfo->Reason)
- {
- case PROPSHEETUI_REASON_INIT:
- {
- DWORD dwSheets = 0;
- PCBUSERDATA pUserData = NULL;
- POEMUIPSPARAM pOEMUIParam = (POEMUIPSPARAM) pPSUIInfo->lParamInit;
- HANDLE hHeap = pOEMUIParam->hOEMHeap;
- POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM;
- COMPROPSHEETUI Sheet;
-
-
- // Init property page.
- memset(&Sheet, 0, sizeof(COMPROPSHEETUI));
- Sheet.cbSize = sizeof(COMPROPSHEETUI);
- Sheet.Flags = CPSUIF_UPDATE_PERMISSION;
- Sheet.hInstCaller = ghInstance;
- Sheet.pCallerName = GetStringResource(hHeap, ghInstance, IDS_NAME);
- Sheet.pHelpFile = NULL;
- Sheet.pfnCallBack = OEMDocUICallBack2;
- Sheet.pDlgPage = CPSUI_PDLGPAGE_TREEVIEWONLY;
- Sheet.cOptItem = 1;
- Sheet.IconID = IDI_CPSUI_PRINTER;
- Sheet.pOptItemName = GetStringResource(hHeap, ghInstance, IDS_SECTION);
- Sheet.CallerVersion = 0x100;
- Sheet.OptItemVersion = 0x100;
-
- // Init user data.
- pUserData = (PCBUSERDATA) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(CBUSERDATA));
- if (NULL == pUserData)
- {
- ERR("hrOEMDocumentPropertySheets() failed to allocate user data.\r\n");
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- pUserData->hComPropSheet = pPSUIInfo->hComPropSheet;
- pUserData->pfnComPropSheet = pPSUIInfo->pfnComPropSheet;
- pUserData->pOEMUIParam = pOEMUIParam;
- Sheet.UserData = (ULONG_PTR) pUserData;
-
- // Create OptItems for page.
- Sheet.pOptItem = CreateOptItems(hHeap, Sheet.cOptItem);
- if (NULL == Sheet.pOptItem)
- {
- ERR("hrOEMDocumentPropertySheets() failed to allocate OPTITEMs.\r\n");
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- // Initialize OptItems
- Sheet.pOptItem[0].Level = 1;
- Sheet.pOptItem[0].Flags = OPTIF_COLLAPSE;
- Sheet.pOptItem[0].pName = GetStringResource(hHeap, ghInstance, IDS_SECTION);
- Sheet.pOptItem[0].Sel = pOEMDev->dwDriverData;
-
- Sheet.pOptItem[0].pOptType = CreateOptType(hHeap, 2);
- if (NULL == Sheet.pOptItem[0].pOptType)
- {
- ERR("hrOEMDocumentPropertySheets() failed to allocate OPTTYPE.\r\n");
-
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- Sheet.pOptItem[0].pOptType->Type = TVOT_UDARROW;
- Sheet.pOptItem[0].pOptType->pOptParam[1].IconID = 0;
- Sheet.pOptItem[0].pOptType->pOptParam[1].lParam = 100;
-
-
- // Add property sheets.
- lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PCOMPROPSHEETUI,
- (LPARAM)&Sheet, (LPARAM)&dwSheets);
- }
- break;
-
- case PROPSHEETUI_REASON_GET_INFO_HEADER:
- {
- PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam;
-
- pHeader->pTitle = (LPTSTR)PROP_TITLE;
- lResult = TRUE;
- }
- break;
-
- case PROPSHEETUI_REASON_GET_ICON:
- // No icon
- lResult = 0;
- break;
-
- case PROPSHEETUI_REASON_SET_RESULT:
- {
- PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam;
-
- lResult = pInfo->Result;
- }
- break;
-
- case PROPSHEETUI_REASON_DESTROY:
- lResult = TRUE;
- break;
- }
-
-Exit:
-
- pPSUIInfo->Result = lResult;
- return hrResult;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Adds property page to printer property sheet.
-//
-HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam)
-{
- LONG_PTR lResult = 0;
-
- VERBOSE("hrOEMDevicePropertySheets entry\r\n");
-
- // Validate parameters.
- if( (NULL == pPSUIInfo)
- ||
- (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version)
- )
- {
- ERR("hrOEMDevicePropertySheets() ERROR_INVALID_PARAMETER.\r\n");
-
- // Return invalid parameter error.
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Do action.
- switch(pPSUIInfo->Reason)
- {
- case PROPSHEETUI_REASON_INIT:
- {
- PROPSHEETPAGE Page;
-
- // Init property page.
- memset(&Page, 0, sizeof(PROPSHEETPAGE));
- Page.dwSize = sizeof(PROPSHEETPAGE);
- Page.dwFlags = PSP_DEFAULT;
- Page.hInstance = ghInstance;
- Page.pszTemplate = MAKEINTRESOURCE(IDD_DEVICE_PROPPAGE);
- Page.pfnDlgProc = DevicePropPageProc;
-
- // Add property sheets.
- lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PROPSHEETPAGE, (LPARAM)&Page, 0);
- }
- break;
-
- case PROPSHEETUI_REASON_GET_INFO_HEADER:
- {
- PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam;
-
- pHeader->pTitle = (LPTSTR)PROP_TITLE;
- lResult = TRUE;
- }
- break;
-
- case PROPSHEETUI_REASON_GET_ICON:
- // No icon
- lResult = 0;
- break;
-
- case PROPSHEETUI_REASON_SET_RESULT:
- {
- PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam;
-
- lResult = pInfo->Result;
- }
- break;
-
- case PROPSHEETUI_REASON_DESTROY:
- lResult = TRUE;
- break;
- }
-
- pPSUIInfo->Result = lResult;
- return S_OK;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// OptItems call back for OEM printer property UI.
-//
-LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam)
-{
- LONG lReturn = CPSUICB_ACTION_NONE;
-
- VERBOSE("OEMPrinterUICallBack() entry.\r\n");
-
- switch(pCallbackParam->Reason)
- {
- case CPSUICB_REASON_APPLYNOW:
- {
- DWORD dwDriverValue = pOEMUIParam->pOEMOptItems[0].Sel;
-
- // Store OptItems state in printer data.
- SetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, REG_DWORD, (PBYTE) &dwDriverValue, sizeof(DWORD));
- }
- break;
-
- default:
- break;
- }
-
- return lReturn;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Call back for OEM device property UI.
-//
-#pragma warning(push)
-#pragma warning( disable : 6262 ) // 2 MAX_PATH strings exceeds the default prefast stack size warning threshold by a few bytes.
-INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam)
-{
- switch (uiMsg)
- {
- case WM_COMMAND:
- switch(HIWORD(wParam))
- {
- case BN_CLICKED:
- switch(LOWORD(wParam))
- {
- case IDC_CALIBRATE:
- // Just display a message that the printer is calibrated,
- // since we don't acutally calibrate anything.
- {
- TCHAR szName[MAX_PATH];
- TCHAR szCalibrated[MAX_PATH];
-
-
- LoadString(ghInstance, IDS_NAME, szName, sizeof(szName)/sizeof(szName[0]));
- LoadString(ghInstance, IDS_CALIBRATED, szCalibrated, sizeof(szCalibrated)/sizeof(szCalibrated[0]));
- MessageBox(hDlg, szCalibrated, szName, MB_OK);
- }
- break;
- }
- break;
-
- default:
- return FALSE;
- }
- return TRUE;
-
- case WM_NOTIFY:
- {
- switch (((LPNMHDR)lParam)->code) // type of notification message
- {
- case PSN_SETACTIVE:
- break;
-
- case PSN_KILLACTIVE:
- break;
-
- case PSN_APPLY:
- break;
-
- case PSN_RESET:
- break;
- }
- }
- break;
- }
-
- return FALSE;
-}
-#pragma warning(pop)
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// OptItems call back for OEM document property UI.
-//
-LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam)
-{
- LONG lReturn = CPSUICB_ACTION_NONE;
- POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM;
-
-
- VERBOSE("OEMDocUICallBack() entry\r\n");
-
- switch(pCallbackParam->Reason)
- {
- case CPSUICB_REASON_APPLYNOW:
- // Update UI item data.
- pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel;
- break;
-
- case CPSUICB_REASON_KILLACTIVE:
- // Update devmode if settings have changed.
- if(pOEMDev->dwAdvancedData != (DWORD)(pOEMUIParam->pOEMOptItems[0].Sel))
- {
- // Update OEM Devmode driver data.
- pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel;
- }
- break;
-
- case CPSUICB_REASON_SETACTIVE:
- if((DWORD)(pOEMUIParam->pOEMOptItems[0].Sel) != pOEMDev->dwAdvancedData)
- {
- pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData;
- pOEMUIParam->pOEMOptItems[0].Flags |= OPTIF_CHANGED;
- lReturn = CPSUICB_ACTION_OPTIF_CHANGED;
- }
- break;
-
- default:
- break;
- }
-
- return lReturn;
-}
-
-
-LONG APIENTRY OEMDocUICallBack2(PCPSUICBPARAM pCallbackParam)
-{
- LONG lReturn = CPSUICB_ACTION_NONE;
- PCBUSERDATA pUserData = (PCBUSERDATA) pCallbackParam->UserData;
- POEMDEV pOEMDev = (POEMDEV) pUserData->pOEMUIParam->pOEMDM;
-
-
- VERBOSE("OEMDocUICallBack2() entry.\r\n");
-
- switch(pCallbackParam->Reason)
- {
- case CPSUICB_REASON_APPLYNOW:
- // Update OEM devmode driver data.
- pOEMDev->dwDriverData = pCallbackParam->pOptItem[0].Sel;
- pUserData->pfnComPropSheet(pUserData->hComPropSheet, CPSFUNC_SET_RESULT,
- (LPARAM)pUserData->hPropPage,
- (LPARAM)CPSUI_OK);
- break;
-
- case CPSUICB_REASON_KILLACTIVE:
- if(pOEMDev->dwDriverData != (DWORD)(pCallbackParam->pOptItem[0].Sel))
- {
- // Update OEM devmode driver data.
- pOEMDev->dwDriverData = pCallbackParam->pOptItem[0].Sel;
- }
- break;
-
- case CPSUICB_REASON_SETACTIVE:
- if((DWORD)(pCallbackParam->pOptItem[0].Sel) != pOEMDev->dwDriverData)
- {
- pCallbackParam->pOptItem[0].Sel = pOEMDev->dwDriverData;
- pCallbackParam->pOptItem[0].Flags |= OPTIF_CHANGED;
- lReturn = CPSUICB_ACTION_OPTIF_CHANGED;
- }
- break;
-
- default:
- break;
- }
-
- return lReturn;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Creates and Initializes OptItems.
-//
-static POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems)
-{
- POPTITEM pOptItems = NULL;
-
-
- // Allocate memory for OptItems;
- pOptItems = (POPTITEM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OPTITEM) * dwOptItems);
- if(NULL != pOptItems)
- {
- InitOptItems(pOptItems, dwOptItems);
- }
- else
- {
- ERR("CreateOptItems() failed to allocate memory for OPTITEMs!\r\n");
- }
-
- return pOptItems;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems.
-//
-static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems)
-{
- VERBOSE("InitOptItems() entry.\r\n");
-
- // Zero out memory.
- memset(pOptItems, 0, sizeof(OPTITEM) * dwOptItems);
-
- // Set each OptItem's size, and Public DM ID.
- for(DWORD dwCount = 0; dwCount < dwOptItems; dwCount++)
- {
- pOptItems[dwCount].cbSize = sizeof(OPTITEM);
- pOptItems[dwCount].DMPubID = DMPUB_NONE;
- }
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Allocates and initializes OptType for OptItem.
-//
-static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams)
-{
- POPTTYPE pOptType = NULL;
-
-
- VERBOSE("CreateOptType() entry.\r\n");
-
- // Allocate memory from the heap for the OPTTYPE; the driver will take care of clean up.
- pOptType = (POPTTYPE) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OPTTYPE));
- if(NULL != pOptType)
- {
- // Initialize OPTTYPE.
- pOptType->cbSize = sizeof(OPTTYPE);
- pOptType->Count = wOptParams;
-
- // Allocate memory from the heap for the OPTPARAMs for the OPTTYPE.
- pOptType->pOptParam = (POPTPARAM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, wOptParams * sizeof(OPTPARAM));
- if(NULL != pOptType->pOptParam)
- {
- // Initialize the OPTPARAMs.
- for(WORD wCount = 0; wCount < wOptParams; wCount++)
- {
- pOptType->pOptParam[wCount].cbSize = sizeof(OPTPARAM);
- }
- }
- else
- {
- ERR("CreateOptType() failed to allocated memory for OPTPARAMs!\r\n");
-
- // Free allocated memory and return NULL.
- HeapFree(hHeap, 0, pOptType);
- pOptType = NULL;
- }
- }
- else
- {
- ERR("CreateOptType() failed to allocated memory for OPTTYPE!\r\n");
- }
-
- return pOptType;
-}
-
-////////////////////////////////////////////////////////////////////////////////////
-//
-// Retrieves pointer to a String resource.
-//
-static PTSTR GetStringResource(HANDLE hHeap, HANDLE hModule, UINT uResource)
-{
- int nResult;
- DWORD dwSize = MAX_PATH;
- PTSTR pszString = NULL;
-
- VERBOSE("GetStringResource entered.\r\n");
-
- // Allocate buffer for string resource from heap; let the driver clean it up.
- pszString = (PTSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize * sizeof(TCHAR));
- if(NULL != pszString)
- {
- // Load string resource; resize after loading so as not to waste memory.
- nResult = LoadString((HMODULE)hModule, uResource, pszString, dwSize);
- if(nResult > 0)
- {
- PTSTR pszTemp;
-
- pszTemp = (PTSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pszString, (nResult + 1) * sizeof(TCHAR));
- if(NULL != pszTemp)
- {
- pszString = pszTemp;
- }
- else
- {
- ERR("GetStringResource() HeapReAlloc() of string retrieved failed!\r\n");
- }
- }
- else
- {
- ERR("LoadString() failed.\r\n");
- ERR("GetStringResource() failed to load string resource !\r\n");
-
- pszString = NULL;
- }
- }
- else
- {
- ERR("GetStringResource() failed to allocate string buffer!\r\n");
- }
-
- return pszString;
-}
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/oemui.h b/print/OEM Printer Customization Plug-in Samples/C++/oemui/oemui.h
deleted file mode 100644
index b584893e..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/oemui.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: OEMUI.H
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for OEMUI Test Module.
-//
-#pragma once
-
-////////////////////////////////////////////////////////
-// OEM UI Defines
-////////////////////////////////////////////////////////
-
-// OEM Signature and version.
-#define PROP_TITLE L"OEM UI Page"
-
-// Printer registry keys where OEM data is stored.
-#define OEMUI_VALUE TEXT("OEMUI_VALUE")
-#define OEMUI_DEVICE_VALUE TEXT("OEMUI_DEVICE_VALUE")
-
-
-
-////////////////////////////////////////////////////////
-// Prototypes
-////////////////////////////////////////////////////////
-
-HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam);
-HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, IPrintOemDriverUI* pOEMHelp);
-HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam);
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/oemui/precomp.h
deleted file mode 100644
index bd1a22de..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/precomp.h
+++ /dev/null
@@ -1,52 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: precomp.H
-//
-// PURPOSE: Optimize compilation of headers that don't change frequently.
-//
-#pragma once
-
-// Necessary for compiling under VC.
-#if(!defined(WINVER) || (WINVER < 0x0500))
- #undef WINVER
- #define WINVER 0x0500
-#endif
-#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500))
- #undef _WIN32_WINNT
- #define _WIN32_WINNT 0x0500
-#endif
-
-
-// Required header files that shouldn't change often.
-
-
-#include <STDDEF.H>
-#include <STDLIB.H>
-#include <OBJBASE.H>
-#include <STDARG.H>
-#include <STDIO.H>
-#include <WINDEF.H>
-#include <WINERROR.H>
-#include <WINBASE.H>
-#include <WINGDI.H>
-#include <WINDDI.H>
-#include <WINSPOOL.H>
-#include <TCHAR.H>
-#include <EXCPT.H>
-#include <ASSERT.H>
-#include <PRSHT.H>
-#include <COMPSTUI.H>
-#include <WINDDIUI.H>
-#include <PRINTOEM.H>
-#include <INITGUID.H>
-#include <PRCOMOEM.H>
-
-// StrSafe.h needs to be included last
-// to disallow unsafe string functions.
-#include <STRSAFE.H>
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemui/precompsrc.cpp
deleted file mode 100644
index 5944cf51..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/precompsrc.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "precomp.h" \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/oemui/resource.h
deleted file mode 100644
index 71d3d3d6..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/resource.h
+++ /dev/null
@@ -1,24 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by OEMUI.rc
-//
-#define IDS_SECTION 1
-#define IDS_CALIBRATED 2
-#define IDS_NAME 3
-#define IDS_DEV_SECTION 4
-#define IDS_DEVICE_SECTION 4
-#define IDS_ADV_SECTION 10
-#define IDD_DEVICE_PROPPAGE 106
-#define IDD_DOC_PROPPAGE 107
-#define IDC_CALIBRATE 1001
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 103
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1002
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni.ini b/print/OEM Printer Customization Plug-in Samples/C++/oemuni.ini
deleted file mode 100644
index 399b2f9b..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[OEMFiles]
-OEMDriverFile1=OEMUNI.DLL
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.def b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.def
deleted file mode 100644
index be2aaf17..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY OEMUNI
-EXPORTS DllGetClassObject PRIVATE
- DllCanUnloadNow PRIVATE
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.h b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.h
deleted file mode 100644
index 6df79055..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.h
+++ /dev/null
@@ -1,234 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: OEMUNI.H
-//
-//
-// PURPOSE: Define the COemPDEV class which stores the private
-// PDEV for the driver.
-//
-
-#pragma once
-
-class COemPDEV
-{
-public:
- __stdcall COemPDEV(void)
- {
-
- // Note that since our parent has AddRef'd the UNIDRV interface,
- // we don't do so here since our scope is identical to our
- // parent.
- //
-
- VERBOSE("In COemPDEV constructor...");
-
- _ResetPointers();
- }
-
- __stdcall ~COemPDEV(void)
- {
- VERBOSE("In COemPDEV destructor...");
- }
-
- void __stdcall InitializeDDITable(DRVENABLEDATA* pded)
- {
- VERBOSE("COemPDEV::InitializeDDITable entry.");
-
- UINT iDrvFn;
- UINT cDrvFn = pded->c;
- PDRVFN pDrvFn = pded->pdrvfn;
-
- for (iDrvFn = 0; iDrvFn < cDrvFn; ++iDrvFn, ++pDrvFn)
- {
- _SavePFN(pDrvFn->iFunc, pDrvFn->pfn);
- }
- }
-
-private:
-
- void __stdcall _SavePFN(ULONG uFunc, PFN pfn)
- {
-
- // Note: if a "pass-through" driver is being constructed, then
- // there is nothing for this method to do. So, to keep the
- // compiler from complaining about a switch with no case
- // statements, but which has a default statement, we surround
- // the entire construct with preprocessor controls.
- //
- switch(uFunc)
- {
- // The following are the drawing related DDI hooks.
- //
- case INDEX_DrvAlphaBlend:
- m_pfnDrvAlphaBlend = (PFN_DrvAlphaBlend)pfn;
- break;
- case INDEX_DrvBitBlt:
- m_pfnDrvBitBlt = (PFN_DrvBitBlt)pfn;
- break;
- case INDEX_DrvCopyBits:
- m_pfnDrvCopyBits = (PFN_DrvCopyBits)pfn;
- break;
- case INDEX_DrvDitherColor:
- m_pfnDrvDitherColor = (PFN_DrvDitherColor)pfn;
- break;
- case INDEX_DrvFillPath:
- m_pfnDrvFillPath = (PFN_DrvFillPath)pfn;
- break;
- case INDEX_DrvFontManagement:
- m_pfnDrvFontManagement = (PFN_DrvFontManagement)pfn;
- break;
- case INDEX_DrvGetGlyphMode:
- m_pfnDrvGetGlyphMode = (PFN_DrvGetGlyphMode)pfn;
- break;
- case INDEX_DrvGradientFill:
- m_pfnDrvGradientFill = (PFN_DrvGradientFill)pfn;
- break;
- case INDEX_DrvLineTo:
- m_pfnDrvLineTo = (PFN_DrvLineTo)pfn;
- break;
- case INDEX_DrvPaint:
- m_pfnDrvPaint = (PFN_DrvPaint)pfn;
- break;
- case INDEX_DrvPlgBlt:
- m_pfnDrvPlgBlt = (PFN_DrvPlgBlt)pfn;
- break;
- case INDEX_DrvQueryAdvanceWidths:
- m_pfnDrvQueryAdvanceWidths = (PFN_DrvQueryAdvanceWidths)pfn;
- break;
- case INDEX_DrvQueryFont:
- m_pfnDrvQueryFont = (PFN_DrvQueryFont)pfn;
- break;
- case INDEX_DrvQueryFontData:
- m_pfnDrvQueryFontData = (PFN_DrvQueryFontData)pfn;
- break;
- case INDEX_DrvQueryFontTree:
- m_pfnDrvQueryFontTree = (PFN_DrvQueryFontTree)pfn;
- break;
- case INDEX_DrvRealizeBrush:
- m_pfnDrvRealizeBrush = (PFN_DrvRealizeBrush)pfn;
- break;
- case INDEX_DrvStretchBlt:
- m_pfnDrvStretchBlt = (PFN_DrvStretchBlt)pfn;
- break;
- case INDEX_DrvStretchBltROP:
- m_pfnDrvStretchBltROP = (PFN_DrvStretchBltROP)pfn;
- break;
- case INDEX_DrvStrokeAndFillPath:
- m_pfnDrvStrokeAndFillPath = (PFN_DrvStrokeAndFillPath)pfn;
- break;
- case INDEX_DrvStrokePath:
- m_pfnDrvStrokePath = (PFN_DrvStrokePath)pfn;
- break;
- case INDEX_DrvTextOut:
- m_pfnDrvTextOut = (PFN_DrvTextOut)pfn;
- break;
- case INDEX_DrvTransparentBlt:
- m_pfnDrvTransparentBlt = (PFN_DrvTransparentBlt)pfn;
- break;
- // The following are the page/band related DDI hooks.
- //
- case INDEX_DrvStartDoc:
- m_pfnDrvStartDoc = (PFN_DrvStartDoc)pfn;
- break;
- case INDEX_DrvEndDoc:
- m_pfnDrvEndDoc = (PFN_DrvEndDoc)pfn;
- break;
- case INDEX_DrvStartPage:
- m_pfnDrvStartPage = (PFN_DrvStartPage)pfn;
- break;
- case INDEX_DrvSendPage:
- m_pfnDrvSendPage = (PFN_DrvSendPage)pfn;
- break;
- case INDEX_DrvStartBanding:
- m_pfnDrvStartBanding = (PFN_DrvStartBanding)pfn;
- break;
- case INDEX_DrvNextBand:
- m_pfnDrvNextBand = (PFN_DrvNextBand)pfn;
- break;
- case INDEX_DrvEscape:
- m_pfnDrvEscape = (PFN_DrvEscape)pfn;
- break;
- } // switch(uFunc)
- }
-
- void __stdcall _ResetPointers(void)
- {
- m_pfnDrvAlphaBlend = NULL;
- m_pfnDrvBitBlt = NULL;
- m_pfnDrvCopyBits = NULL;
- m_pfnDrvDitherColor = NULL;
- m_pfnDrvEndDoc = NULL;
- m_pfnDrvEscape = NULL;
- m_pfnDrvFillPath = NULL;
- m_pfnDrvFontManagement = NULL;
- m_pfnDrvGetGlyphMode = NULL;
- m_pfnDrvGradientFill = NULL;
- m_pfnDrvLineTo = NULL;
- m_pfnDrvNextBand = NULL;
- m_pfnDrvPaint = NULL;
- m_pfnDrvPlgBlt = NULL;
- m_pfnDrvQueryAdvanceWidths = NULL;
- m_pfnDrvQueryFont = NULL;
- m_pfnDrvQueryFontData = NULL;
- m_pfnDrvQueryFontTree = NULL;
- m_pfnDrvRealizeBrush = NULL;
- m_pfnDrvSendPage = NULL;
- m_pfnDrvStartBanding = NULL;
- m_pfnDrvStartDoc = NULL;
- m_pfnDrvStartPage = NULL;
- m_pfnDrvStretchBlt = NULL;
- m_pfnDrvStretchBltROP = NULL;
- m_pfnDrvStrokeAndFillPath = NULL;
- m_pfnDrvStrokePath = NULL;
- m_pfnDrvTextOut = NULL;
- m_pfnDrvTransparentBlt = NULL;
- }
-
-public:
-
- // Unidrv function pointers so that we can punt
- // back from the DDI hooks
- //
- PFN_DrvAlphaBlend m_pfnDrvAlphaBlend;
- PFN_DrvBitBlt m_pfnDrvBitBlt;
- PFN_DrvCopyBits m_pfnDrvCopyBits;
- PFN_DrvDitherColor m_pfnDrvDitherColor;
- PFN_DrvEndDoc m_pfnDrvEndDoc;
- PFN_DrvEscape m_pfnDrvEscape;
- PFN_DrvFillPath m_pfnDrvFillPath;
- PFN_DrvFontManagement m_pfnDrvFontManagement;
- PFN_DrvGetGlyphMode m_pfnDrvGetGlyphMode;
- PFN_DrvGradientFill m_pfnDrvGradientFill;
- PFN_DrvLineTo m_pfnDrvLineTo;
- PFN_DrvNextBand m_pfnDrvNextBand;
- PFN_DrvPaint m_pfnDrvPaint;
- PFN_DrvPlgBlt m_pfnDrvPlgBlt;
- PFN_DrvQueryAdvanceWidths m_pfnDrvQueryAdvanceWidths;
- PFN_DrvQueryFont m_pfnDrvQueryFont;
- PFN_DrvQueryFontData m_pfnDrvQueryFontData;
- PFN_DrvQueryFontTree m_pfnDrvQueryFontTree;
- PFN_DrvRealizeBrush m_pfnDrvRealizeBrush;
- PFN_DrvSendPage m_pfnDrvSendPage;
- PFN_DrvStartBanding m_pfnDrvStartBanding;
- PFN_DrvStartDoc m_pfnDrvStartDoc;
- PFN_DrvStartPage m_pfnDrvStartPage;
- PFN_DrvStretchBlt m_pfnDrvStretchBlt;
- PFN_DrvStretchBltROP m_pfnDrvStretchBltROP;
- PFN_DrvStrokeAndFillPath m_pfnDrvStrokeAndFillPath;
- PFN_DrvStrokePath m_pfnDrvStrokePath;
- PFN_DrvTextOut m_pfnDrvTextOut;
- PFN_DrvTransparentBlt m_pfnDrvTransparentBlt;
-
- /*******************************************/
- /* */
- /* Add any custom PDEV members here */
- /* */
- /*******************************************/
-
-};
-typedef COemPDEV* POEMPDEV;
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.rc b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.rc
deleted file mode 100644
index 6a21e8d3..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.rc
+++ /dev/null
@@ -1,110 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "Written by DDK Support Team\0"
- VALUE "CompanyName", "Microsoft Corp.\0"
- VALUE "FileDescription", "OEM Customization Sample\0"
- VALUE "FileVersion", "1, 0, 0, 1\0"
- VALUE "InternalName", "OEMUNI\0"
- VALUE "LegalCopyright", "Copyright � 1998-2003\0"
- VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation\0"
- VALUE "OriginalFilename", "OEMUNI.DLL\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "Microsoft OEMUNI\0"
- VALUE "ProductVersion", "1.0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""winres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.vcxproj
deleted file mode 100644
index eeeac176..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.vcxproj
+++ /dev/null
@@ -1,1090 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Win10 Debug|ARM64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|Win32">
- <Configuration>Win10 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|x64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|ARM64">
- <Configuration>Win10 Release</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|Win32">
- <Configuration>Win10 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|x64">
- <Configuration>Win10 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|Win32">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|Win32">
- <Configuration>Win8 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|Win32">
- <Configuration>Win7 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|Win32">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|Win32">
- <Configuration>Win8 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|Win32">
- <Configuration>Win7 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|x64">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|x64">
- <Configuration>Win8 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|x64">
- <Configuration>Win7 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|x64">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|x64">
- <Configuration>Win8 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|x64">
- <Configuration>Win7 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{B0F13767-2056-47FC-B37B-41D7E339900B}</ProjectGuid>
- <RootNamespace>$(MSBuildProjectName)</RootNamespace>
- <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration>
- <Platform Condition="'$(Platform)' == ''">Win32</Platform>
- <SampleGuid>{96600CA6-8E9E-4691-ACB9-0225A5B57563}</SampleGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <PropertyGroup>
- <OutDir>$(IntDir)</OutDir>
- </PropertyGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ItemGroup Label="WrappedTaskItems" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetName>OEMUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetName>OEMUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetName>OEMUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <TargetName>OEMUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <TargetName>OEMUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetName>OEMUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetName>OEMUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetName>OEMUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <TargetName>OEMUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <TargetName>OEMUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetName>OEMUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetName>OEMUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetName>OEMUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <TargetName>OEMUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetName>OEMUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetName>OEMUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetName>OEMUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <TargetName>OEMUNI</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Link>
- <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Link>
- <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Link>
- <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <Link>
- <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <Link>
- <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <Link>
- <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="ddihook.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="devmode.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Create</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ResourceCompile Include="oemuni.rc" />
- </ItemGroup>
- <ItemGroup>
- <Inf Exclude="@(Inf)" Include="*.inf" />
- <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" />
- </ItemGroup>
- <ItemGroup>
- <None Exclude="@(None)" Include="*.txt;*.htm;*.html" />
- <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" />
- <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.vcxproj.Filters
deleted file mode 100644
index 8287cc90..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.vcxproj.Filters
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions>
- <UniqueIdentifier>{25BB1250-6D65-4A18-B7D2-D29AB885B616}</UniqueIdentifier>
- </Filter>
- <Filter Include="Header Files">
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- <UniqueIdentifier>{C1A83E63-7DD3-4CAD-9079-BA272CB24B89}</UniqueIdentifier>
- </Filter>
- <Filter Include="Resource Files">
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions>
- <UniqueIdentifier>{6B77C327-966D-4CD1-AC7A-EB5A773904D2}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="ddihook.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="devmode.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="OEMUNI.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="OEMUNI.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="OEMUNI.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="OEMUNI.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="OEMUNI.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="OEMUNI.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="OEMUNI.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="OEMUNI.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="OEMUNI.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="OEMUNI.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="OEMUNI.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="OEMUNI.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="OEMUNI.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="OEMUNI.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="OEMUNI.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="OEMUNI.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="oemuni.rc">
- <Filter>Resource Files</Filter>
- </ResourceCompile>
- </ItemGroup>
- <ItemGroup>
- <None Include="OEMUNI.def">
- <Filter>Source Files</Filter>
- </None>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/ddihook.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/ddihook.cpp
deleted file mode 100644
index 48922ae6..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/ddihook.cpp
+++ /dev/null
@@ -1,1670 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: DDIHook.cpp
-//
-// PURPOSE: DDI Hook routines for User Mode COM Customization DLL. This module
-// implements the following methods defined in printoem.h
-// OEMCopyBits
-// OEMBitBlt
-// OEMStretchBlt
-// OEMDitherColor
-// OEMStretchBltROP
-// OEMPlgBlt
-// OEMPaint
-// OEMRealizeBrush
-// OEMStrokePath
-// OEMFillPath
-// OEMStrokeAndFillPath
-// OEMLineTo
-// OEMAlphaBlend
-// OEMGradientFill
-// OEMTransparentBlt
-// OEMTextOut
-// OEMQueryFont
-// OEMQueryFontTree
-// OEMQueryFontData
-// OEMFontManagement
-// OEMQueryAdvanceWidths
-// OEMGetGlyphMode
-// OEMStartDoc
-// OEMEndDoc
-// OEMStartPage
-// OEMSendPage
-// OEMStartBanding
-// OEMNextBand
-// OEMEscape
-//
-
-#include "precomp.h"
-#include "debug.h"
-#include "devmode.h"
-#include "oemuni.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-BOOL APIENTRY
-OEMCopyBits(
- SURFOBJ *psoDst,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDst,
- POINTL *pptlSrc
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvCopyBits.
-
- DrvCopyBits translates between device-managed
- raster surfaces and GDI standard-format bitmaps.
- GDI will call DrvCopyBits when it needs to copy from
- one surface to another and at least one of the
- surfaces is device-managed.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- psoDst - Points to the Dstination surface
- psoSrc - Points to the source surface
- pxlo - XLATEOBJ provided by the engine
- pco - Defines a clipping region on the Dstination surface
- pxlo - Defines the translation of color indices
- between the source and target surfaces
- prclDst - Defines the area to be modified
- pptlSrc - Defines the upper-left corner of the source rectangle
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE("OEMCopyBits entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvCopyBits)(psoDst,
- psoSrc,
- pco,
- pxlo,
- prclDst,
- pptlSrc);
-}
-
-BOOL APIENTRY
-OEMBitBlt(
- SURFOBJ *psoDst,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDst,
- POINTL *pptlSrc,
- POINTL *pptlMask,
- BRUSHOBJ *pbo,
- POINTL *pptlBrush,
- ROP4 rop4
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvBitBlt.
-
- DrvBitBlt provides general bit-block transfer capabilities
- between device-managed surfaces, between GDI-managed
- standard-format bitmaps, or between a device-managed
- surface and a GDI-managed standard-format bitmap.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- psoDst - Describes the target surface
- psoSrc - Describes the source surface
- psoMask - Describes the mask for rop4
- pco - Limits the area to be modified
- pxlo - Specifies how color indices are translated
- between the source and target surfaces
- prclDst - Defines the area to be modified
- pptlSrc - Defines the upper left corner of the source rectangle
- pptlMask - Defines which pixel in the mask corresponds to
- the upper left corner of the source rectangle
- pbo - Defines the pattern for bitblt
- pptlBrush - Defines the origin of the brush in the Dstination surface
- rop4 - ROP code that defines how the mask, pattern, source, and
- Dstination pixels are combined to write to the Dstination surface
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE("OEMBitBlt entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvBitBlt)(psoDst,
- psoSrc,
- psoMask,
- pco,
- pxlo,
- prclDst,
- pptlSrc,
- pptlMask,
- pbo,
- pptlBrush,
- rop4);
-}
-
-BOOL APIENTRY
-OEMStretchBlt(
- SURFOBJ *psoDst,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlHTOrg,
- RECTL *prclDst,
- RECTL *prclSrc,
- POINTL *pptlMask,
- ULONG iMode
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvStretchBlt.
-
- DrvStretchBlt provides stretching bit-block transfer
- capabilities between any combination of device-managed
- and GDI-managed surfaces. DrvStretchBlt enables the
- device driver to write to GDI bitmaps, especially when the
- driver can do halftoning. This function allows the same
- halftoning algorithm to be applied to GDI bitmaps and
- device surfaces. This function can be provided to handle
- only certain forms of stretching, such as by integer multiples.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- psoDst - Defines the surface on which to draw
- psoSrc - Defines the source for blt operation
- psoMask - Defines a surface that provides a mask for the source
- pco - Limits the area to be modified on the Dstination
- pxlo - Specifies how color dwIndexes are to be translated
- between the source and target surfaces
- pca - Defines color adjustment values to be applied to the source bitmap
- pptlHTOrg - Specifies the origin of the halftone brush
- prclDst - Defines the area to be modified on the Dstination surface
- prclSrc - Defines the area to be copied from the source surface
- pptlMask - Specifies which pixel in the given mask corresponds to
- the upper left pixel in the source rectangle
- iMode - Specifies how source pixels are combined to get output pixels
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE("OEMStretchBlt entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvStretchBlt)(psoDst,
- psoSrc,
- psoMask,
- pco,
- pxlo,
- pca,
- pptlHTOrg,
- prclDst,
- prclSrc,
- pptlMask,
- iMode);
-}
-
-ULONG APIENTRY
-OEMDitherColor(
- DHPDEV dhpdev,
- ULONG iMode,
- ULONG rgbColor,
- ULONG *pulDither
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvDitherColor.
-
- DrvDitherColor requests the device to create a
- brush dithered against a device palette.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dhpdev - DHPDEV passed, it is our pDEV
- iMode - Not used
- rgbColor - Solid rgb color to be used
- pulDither - buffer to put the halftone brush.
-
-Return Value:
-
- Returns halftone method.
-
- DCR_DRIVER if the dither values have been calculated by the driver.
- DCR_SOLID if the engine should use the best solid color approximation of the color.
- DCR_HALFTONE if the engine should create a halftone approximation for the driver.
-
---*/
-
-{
- VERBOSE("OEMDitherColor entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvDitherColor)(dhpdev,
- iMode,
- rgbColor,
- pulDither);
-}
-
-BOOL APIENTRY
-OEMStretchBltROP(
- SURFOBJ *psoDst,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlHTOrg,
- RECTL *prclDst,
- RECTL *prclSrc,
- POINTL *pptlMask,
- ULONG iMode,
- BRUSHOBJ *pbo,
- ROP4 rop4
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvStretchBltROP.
-
- DrvStretchBltROP performs a stretching bit-block transfer
- using a ROP.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- psoDst - Specifies the target surface
- psoSrc - Specifies the source surface
- psoMask - Specifies the mask surface
- pco - Limits the area to be modified
- pxlo - Specifies how color indices are translated
- between the source and target surfaces
- pca - Defines color adjustment values to be applied to the source bitmap
- pptlHTOrg - Specifies the halftone origin
- prclDst - Area to be modified on the destination surface
- prclSrc - Rectangle area on the source surface
- pptlMask - Defines which pixel in the mask corresponds to
- the upper left corner of the source rectangle
- iMode - Specifies how source pixels are combined to get output pixels
- pbo - Defines the pattern for bitblt
- rop4 - ROP code that defines how the mask, pattern, source, and
- destination pixels are combined on the destination surface
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE("OEMStretchBltROP entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvStretchBltROP)(psoDst,
- psoSrc,
- psoMask,
- pco,
- pxlo,
- pca,
- pptlHTOrg,
- prclDst,
- prclSrc,
- pptlMask,
- iMode,
- pbo,
- rop4);
-}
-
-BOOL APIENTRY
-OEMPlgBlt(
- SURFOBJ *psoDst,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlBrushOrg,
- POINTFIX *pptfixDest,
- RECTL *prclSrc,
- POINTL *pptlMask,
- ULONG iMode
- )
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvPlgBlt.
-
- DrvPlgBlt provides rotate bit-block transfer capabilities between
- combinations of device-managed and GDI-managed surfaces.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- psoDst - Defines the surface on which to draw
- psoSrc - Defines the source for blt operation
- psoMask - Defines a surface that provides a mask for the source
- pco - Limits the area to be modified on the Dstination
- pxlo - Specifies how color dwIndexes are to be translated
- between the source and target surfaces
- pca - Defines color adjustment values to be applied to the source bitmap
- pptlBrushOrg - Specifies the origin of the halftone brush
- pptfixDest - Defines the area to be modified on the Dstination surface
- prclSrc - Defines the area to be copied from the source surface
- pptlMask - Specifies which pixel in the given mask corresponds to
- the upper left pixel in the source rectangle
- iMode - Specifies how source pixels are combined to get output pixels
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE("OEMPlgBlt entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvPlgBlt)(psoDst,
- psoSrc,
- psoMask,
- pco,
- pxlo,
- pca,
- pptlBrushOrg,
- pptfixDest,
- prclSrc,
- pptlMask,
- iMode);
-}
-
-BOOL APIENTRY
-OEMPaint(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- MIX mix
- )
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvPaint.
-
- DrvPaint is an obsolete function.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface on which to draw
- pco - Limits the area to be modified on the Dstination
- pbo - Points to a BRUSHOBJ which defined the pattern and colors to fill with
- pptlBrushOrg - Specifies the origin of the halftone brush
- mix - Defines the foreground and background raster operations to use for
- the brush
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE("OEMPaint entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvPaint)(pso,
- pco,
- pbo,
- pptlBrushOrg,
- mix);
-}
-
-BOOL APIENTRY
-OEMRealizeBrush(
- BRUSHOBJ *pbo,
- SURFOBJ *psoTarget,
- SURFOBJ *psoPattern,
- SURFOBJ *psoMask,
- XLATEOBJ *pxlo,
- ULONG iHatch
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvRealizeBrush.
-
- DrvRealizeBrush requests that the driver realize a specified brush
- for a specified surface. To realize a brush, the driver converts a
- GDI brush into a form that can be used internally. A realized brush
- contains device-specific information needed by the device to
- accelerate drawing using the brush. The driver's realization of a brush
- is written into the buffer allocated by a call to BRUSHOBJ_pvAllocRBrush.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pbo - BRUSHOBJ to be realized
- psoTarget - Defines the surface for which the brush is to be realized
- psoPattern - Defines the pattern for the brush
- psoMask - Transparency mask for the brush
- pxlo - Defines the interpretration of colors in the pattern
- iHatch - Specifies whether psoPattern is one of the hatch brushes
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE("OEMRealizeBrush entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)psoTarget->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvRealizeBrush)(pbo,
- psoTarget,
- psoPattern,
- psoMask,
- pxlo,
- iHatch);
-}
-
-BOOL APIENTRY
-OEMStrokePath(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- XFORMOBJ *pxo,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- LINEATTRS *plineattrs,
- MIX mix
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvStrokePath.
-
- DrvStrokePath strokes a path when called by GDI.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Identifies the surface on which to draw
- ppo - Defines the path to be stroked
- pco - Defines the clipping path
- pxo - Specifies the world to device coordinate transformation
- pbo - Specifies the brush to be used when drawing the path
- pptlBrushOrg - Defines the brush origin
- plineattrs - Defines the line attributes
- mix - Specifies how to combine the brush with the destination
-
-Return Value:
-
- TRUE if successful
- FALSE if driver cannot handle the path
- DDI_ERROR if there is an error
-
---*/
-
-{
- VERBOSE("OEMStrokePath entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvStrokePath)(pso,
- ppo,
- pco,
- pxo,
- pbo,
- pptlBrushOrg,
- plineattrs,
- mix);
-}
-
-BOOL APIENTRY
-OEMFillPath(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- MIX mix,
- FLONG flOptions
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvFillPath.
-
- DrvFillPath is an optional entry point to handle the filling of closed paths.
- GDI can call DrvFillPath to fill a path on a device-managed surface.
- When deciding whether to call this function, GDI compares the fill
- requirements with the following flags in the flGraphicsCaps member of
- the DEVINFO structure: GCAPS_BEZIERS, GCAPS_ALTERNATEFILL,
- and GCAPS_WINDINGFILL.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface on which to draw.
- ppo - Defines the path to be filled
- pco - Defines the clipping path
- pbo - Defines the pattern and colors to fill with
- pptlBrushOrg - Defines the brush origin
- mix - Defines the foreground and background ROPs to use for the brush
- flOptions - Whether to use zero-winding or odd-even rule
-
-Return Value:
-
- TRUE if successful
- FALSE if driver cannot handle the path
- DDI_ERROR if there is an error
-
---*/
-
-{
- VERBOSE("OEMFillPath entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvFillPath)(pso,
- ppo,
- pco,
- pbo,
- pptlBrushOrg,
- mix,
- flOptions);
-}
-
-BOOL APIENTRY
-OEMStrokeAndFillPath(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- XFORMOBJ *pxo,
- BRUSHOBJ *pboStroke,
- LINEATTRS *plineattrs,
- BRUSHOBJ *pboFill,
- POINTL *pptlBrushOrg,
- MIX mixFill,
- FLONG flOptions
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvStrokeAndFillPath.
-
- DrvStrokeAndFillPath strokes and fills a path concurrently.
- The driver can return FALSE if the path or the clipping is too
- complex for the device to handle; in that case, GDI converts
- to a simpler call. For example, if the device driver has set the
- GCAPS_BEZIERS flag in the flGraphicsCaps member of the
- DEVINFO structure and then receives a path with Bezier curves,
- it can return FALSE; GDI will then convert the Bezier curves to
- lines and call DrvStrokeAndFillPath again. If the device driver
- returns FALSE again, GDI will further simplify the call, making
- calls to DrvStrokePath and DrvFillPath, or to DrvBitBlt, depending
- on the mix and width of the lines making up the path.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Describes the surface on which to draw
- ppo - Describes the path to be filled
- pco - Defines the clipping path
- pxo - Specifies the world to device coordinate transformation
- pboStroke - Specifies the brush to use when stroking the path
- plineattrs - Specifies the line attributes
- pboFill - Specifies the brush to use when filling the path
- pptlBrushOrg - Specifies the brush origin for both brushes
- mixFill - Specifies the foreground and background ROPs to use
- for the fill brush
- flOptions - Whether to use zero-winding or odd-even rule
-
-Return Value:
-
- TRUE if successful
- FALSE if driver cannot handle the path
- DDI_ERROR if there is an error
-
---*/
-
-{
- VERBOSE("OEMStrokeAndFillPath entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvStrokeAndFillPath)(pso,
- ppo,
- pco,
- pxo,
- pboStroke,
- plineattrs,
- pboFill,
- pptlBrushOrg,
- mixFill,
- flOptions);
-}
-
-BOOL APIENTRY
-OEMLineTo(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- LONG x1,
- LONG y1,
- LONG x2,
- LONG y2,
- RECTL *prclBounds,
- MIX mix
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvLineTo.
-
- DrvLineTo draws a single, solid, integer-only cosmetic line.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Describes the surface on which to draw
- pco - Defines the clipping path
- pbo - Defines the brush used to draw the line
- x1,y1 - Specifies the line's starting point
- x2,y2 - Specifies the line's ending point
- prclBounds - Defines a rectangle that bounds the unclipped line.
- mix - Specifies the foreground and background ROP
-
-Return Value:
-
- TRUE if successful
- FALSE if driver cannot handle the path
- DDI_ERROR if there is an error
-
---*/
-
-{
- VERBOSE("OEMLineTo entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvLineTo)(pso,
- pco,
- pbo,
- x1,
- y1,
- x2,
- y2,
- prclBounds,
- mix);
-}
-
-BOOL APIENTRY
-OEMAlphaBlend(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDest,
- RECTL *prclSrc,
- BLENDOBJ *pBlendObj
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvAlphaBlend.
-
- DrvAlphaBlend provides bit-block transfer capabilities with alpha blending.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- psoDest - Defines the surface on which to draw
- psoSrc - Defines the source
- pco - Limits the area to be modified on the Destination
- pxlo - Specifies how color dwIndexes are to be translated
- between the source and target surfaces
- prclDest - Defines the area to be modified on the Destination surface
- prclSrc - Defines the area to be copied from the source surface
- BlendFunction - Specifies the blend function to be used
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE("OEMAlphaBlend entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)psoDest->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvAlphaBlend)(psoDest,
- psoSrc,
- pco,
- pxlo,
- prclDest,
- prclSrc,
- pBlendObj);
-}
-
-BOOL APIENTRY
-OEMGradientFill(
- SURFOBJ *psoDest,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- TRIVERTEX *pVertex,
- ULONG nVertex,
- PVOID pMesh,
- ULONG nMesh,
- RECTL *prclExtents,
- POINTL *pptlDitherOrg,
- ULONG ulMode
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvGradientFill.
-
- DrvGradientFill shades the specified primitives.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- psoDest - Defines the surface on which to draw
- pco - Limits the area to be modified on the Destination
- pxlo - Should be ignored by the driver
- pVertex - Pointer to an array of TRIVERTEX structures,
- with each entry containing position and color information
- nVertex - Specifies the number of TRIVERTEX structures in the
- array to which pVertex points
- pMesh - Pointer to an array of structures that define the connectivity
- of the TRIVERTEX elements to which pVertex points
- nMesh - Specifies the number of elements in the array to which
- pMesh points
- prclExtents - Pointer to a RECTL structure that defines the area in
- which the gradient drawing is to occur
- pptlDitherOrg - Pointer to a POINTL structure that defines the origin
- on the surface for dithering
- ulMode - Specifies the current drawing mode and how to interpret
- the array to which pMesh points
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE("OEMGradientFill entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)psoDest->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvGradientFill)(psoDest,
- pco,
- pxlo,
- pVertex,
- nVertex,
- pMesh,
- nMesh,
- prclExtents,
- pptlDitherOrg,
- ulMode);
-}
-
-BOOL APIENTRY
-OEMTransparentBlt(
- SURFOBJ *psoDst,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDst,
- RECTL *prclSrc,
- ULONG iTransColor,
- ULONG ulReserved
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvTransparentBlt.
-
- DrvTransparentBlt provides bit-block transfer capabilities with
- transparency.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- psoDst - Defines the surface on which to draw
- psoSrc - Defines the source
- pco - Limits the area to be modified on the Destination
- pxlo - Specifies how color dwIndexes are to be translated
- between the source and target surfaces
- prclDst - Defines the area to be modified on the Destination surface
- prclSrc - Defines the area to be copied from the source surface
- iTransColor - Specifies the transparent color
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE("OEMTransparentBlt entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvTransparentBlt)(psoDst,
- psoSrc,
- pco,
- pxlo,
- prclDst,
- prclSrc,
- iTransColor,
- ulReserved);
-}
-
-BOOL APIENTRY
-OEMTextOut(
- SURFOBJ *pso,
- STROBJ *pstro,
- FONTOBJ *pfo,
- CLIPOBJ *pco,
- RECTL *prclExtra,
- RECTL *prclOpaque,
- BRUSHOBJ *pboFore,
- BRUSHOBJ *pboOpaque,
- POINTL *pptlOrg,
- MIX mix
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvTextOut.
-
- DrvTextOut is the entry point from GDI that calls for the
- driver to render a set of glyphs at specified positions.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface on which to be written.
- pstro - Defines the glyphs to be rendered and their positions
- pfo - Specifies the font to be used
- pco - Defines the clipping path
- prclExtra - A NULL-terminated array of rectangles to be filled
- prclOpaque - Specifies an opaque rectangle
- pboFore - Defines the foreground brush
- pboOpaque - Defines the opaque brush
- pptlOrg - Pointer to POINT struct , defining th origin
- mix - Specifies the foreground and background ROPs for pboFore
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE("OEMTextOut entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvTextOut)(pso,
- pstro,
- pfo,
- pco,
- prclExtra,
- prclOpaque,
- pboFore,
- pboOpaque,
- pptlOrg,
- mix);
-}
-
-PIFIMETRICS APIENTRY
-OEMQueryFont(
- DHPDEV dhpdev,
- ULONG_PTR iFile,
- ULONG iFace,
- ULONG_PTR *pid
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvQueryFont.
-
- DrvQueryFont is used by GDI to get the IFIMETRICS structure
- for a given font.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dhpdev - Driver device handle
- iFile - Identifies the driver font file
- iFace - One-based index of the driver font
- pid - Points to a LONG variable for returning an identifier
- which GDI will pass to DrvFree
-
-Return Value:
-
- Pointer to an IFIMETRICS structure for the given font.
- NULL if there is an error
-
---*/
-
-{
- VERBOSE("OEMQueryFont entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvQueryFont)(dhpdev,
- iFile,
- iFace,
- pid);
-}
-
-PVOID APIENTRY
-OEMQueryFontTree(
- DHPDEV dhpdev,
- ULONG_PTR iFile,
- ULONG iFace,
- ULONG iMode,
- ULONG_PTR *pid
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvQueryFontTree.
-
- DrvQueryFontTree provides GDI with a pointer to a structure that
- defines one of the following:
- - A mapping from Unicode to glyph handles, including glyph variants
- - A mapping of kerning pairs to kerning handles
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dhpdev - Driver device handle
- iFile - Identifies the driver font file
- iFace - One-based index of the driver font
- iMode - Specifies the type of information to be provided
- pid - Points to a LONG variable for returning an identifier
- which GDI will pass to DrvFree
-
-Return Value:
-
- Pointer to the structure requested based on iMode.
- NULL if there is an error
-
---*/
-
-{
- VERBOSE("OEMQueryFontTree entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvQueryFontTree)(dhpdev,
- iFile,
- iFace,
- iMode,
- pid);
-}
-
-LONG APIENTRY
-OEMQueryFontData(
- DHPDEV dhpdev,
- FONTOBJ *pfo,
- ULONG iMode,
- HGLYPH hg,
- GLYPHDATA *pgd,
- _Out_writes_bytes_(cjSize) PVOID pv,
- ULONG cjSize
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvQueryFontData.
-
- DrvQueryFontData retrieves information about a realized font.
- GDI provides a pointer to an array of glyph or kerning handles,
- and the driver returns information about the glyphs or kerning
- pairs. The driver can assume that all handles in the array are valid.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dhpdev - Driver device handle
- pfo - Points to a FONTOBJ structure
- iMode - Type of information requested
- hg - A glyph handle
- pgd - Points to a GLYPHDATA structure
- pv - Points to output buffer
- cjSize - Size of output buffer
-
-Return Value:
-
- Depends on iMode. FD_ERROR if there is an error
-
---*/
-
-{
- VERBOSE("OEMQueryFontData entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvQueryFontData)(dhpdev,
- pfo,
- iMode,
- hg,
- pgd,
- pv,
- cjSize);
-}
-
-ULONG APIENTRY
-OEMFontManagement(
- SURFOBJ *pso,
- FONTOBJ *pfo,
- ULONG iMode,
- ULONG cjIn,
- _In_reads_bytes_(cjIn) PVOID pvIn,
- ULONG cjOut,
- _Out_writes_bytes_(cjOut) PVOID pvOut
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvFontManagement.
-
- Is this function valid for Unidrv drivers?
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Points to a SURFOBJ structure
- pfo - Points to a FONTOBJ structure
- iMode - Escape number
- cjIn - Size of input buffer
- pvIn - Points to input buffer
- cjOut - Size of output buffer
- pvOut - Points to output buffer
-
-Return Value:
-
- 0x00000001 to 0x7fffffff for success
- 0x80000000 to 0xffffffff for failure
- 0 if the specified escape number if not supported
-
---*/
-
-{
- VERBOSE("OEMFontManagement entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvFontManagement)(pso,
- pfo,
- iMode,
- cjIn,
- pvIn,
- cjOut,
- pvOut);
-}
-
-BOOL APIENTRY
-OEMQueryAdvanceWidths(
- DHPDEV dhpdev,
- FONTOBJ *pfo,
- ULONG iMode,
- _In_reads_(cGlyphs) HGLYPH *phg,
- _Out_writes_bytes_(cGlyphs*sizeof(USHORT)) PVOID pvWidths,
- ULONG cGlyphs
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvQueryAdvanceWidths.
-
- DrvQueryAdvanceWidths returns character advance widths
- for a specified set of glyphs.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dhpdev - Driver device handle
- pfo - Points to a FONTOBJ structure
- iMode - Type of information to be provided
- phg - Points to an array of HGLYPHs for which the driver will
- provide character advance widths
- pvWidths - Points to a buffer for returning width data
- cGlyphs - Number of glyphs in the phg array
-
-Return Value:
-
- Depends on iMode
-
---*/
-
-{
- VERBOSE("OEMQueryAdvanceWidths entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvQueryAdvanceWidths)(dhpdev,
- pfo,
- iMode,
- phg,
- pvWidths,
- cGlyphs);
-}
-
-ULONG APIENTRY
-OEMGetGlyphMode(
- DHPDEV dhpdev,
- FONTOBJ *pfo
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvGetGlyphMode.
-
- DrvGetGlyphMode tells GDI how to cache glyph information.
- GDI calls a driver's DrvGetGlyphMode routine to determine the
- range of font information that should be cached for a particular
- font; that is, DrvGetGlyphMode determines what GDI stores in
- its font cache. A device that caches fonts on its own should return
- FO_HGLYPHS to minimize the storage requirements for the font.
- GDI calls DrvGetGlyphMode for each font realization. For example,
- a driver might want to download outlines for point sizes larger than
- 12 point, but raster images for smaller fonts. However, GDI reserves
- the right to refuse this request.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dhpdev - Driver device handle
- pfo - Points to a FONTOBJ structure
-
-Return Value:
-
- The glyph mode or FO_GLYPHMODE, which is the default.
-
---*/
-
-{
- VERBOSE("OEMGetGlyphMode entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvGetGlyphMode)(dhpdev,
- pfo);
-}
-
-BOOL APIENTRY
-OEMStartDoc(
- SURFOBJ *pso,
- _In_ PWSTR pwszDocName,
- DWORD dwJobId
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvStartDoc.
-
- DrvStartDoc is called by GDI when it is ready to
- start sending a document to the driver for rendering.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface object
- pDocName - Specifies a Unicode document name
- jobId - Identifies the print job
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE("OEMStartDoc entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvStartDoc)(pso,
- pwszDocName,
- dwJobId);
-}
-
-BOOL APIENTRY
-OEMEndDoc(
- SURFOBJ *pso,
- FLONG fl
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvEndDoc.
-
- DrvEndDoc is called by GDI when it has finished
- sending a document to the driver for rendering.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface object
- flags - A set of flag bits
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE("OEMEndDoc entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvEndDoc)(pso,
- fl);
-}
-
-BOOL APIENTRY
-OEMStartPage(
- SURFOBJ *pso
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvStartPage.
-
- DrvStartPage is called by GDI when it is ready to
- start sending the contents of a physical page to the
- driver for rendering.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface object
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE("OEMStartPage entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvStartPage)(pso);
-}
-
-BOOL APIENTRY
-OEMSendPage(
- SURFOBJ *pso
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvSendPage.
-
- DrvSendPage is called by GDI when it has finished
- drawing a physical page, so the driver can send
- the page to the printer.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface object
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE("OEMSendPage entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvSendPage)(pso);
-}
-
-BOOL APIENTRY
-OEMStartBanding(
- SURFOBJ *pso,
- POINTL *pptl
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvStartBanding.
-
- DrvStartBanding is called by GDI when it is ready to start
- sending bands of a physical page to the driver for rendering.
- Note: DrvStartBanding is called to prepare the driver
- for banding, call only once per page (not at everyband!!)
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface object
- pptl - Pointer to origin of next band (to return to GDI)
-
-Return Value:
-
- Fill out pptl to contain the origin of the first band
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE("OEMStartBanding entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvStartBanding)(pso,
- pptl);
-}
-
-BOOL APIENTRY
-OEMNextBand(
- SURFOBJ *pso,
- POINTL *pptl
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI hook for DrvNextBand.
-
- DrvNextBand is called by GDI when it has finished
- drawing a band for a physical page, so the driver
- can send the band to the printer.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface object
- pptl - Pointer to origin of next band (to return to GDI)
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE("OEMNextBand entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvNextBand)(pso,
- pptl);
-}
-
-ULONG APIENTRY
-OEMEscape(
- SURFOBJ *pso,
- ULONG iEsc,
- ULONG cjIn,
- _In_reads_bytes_(cjIn) PVOID pvIn,
- ULONG cjOut,
- _Out_writes_bytes_(cjOut) PVOID pvOut
- )
-
-/*++
-
-Routine Description:
-
- Implementation of DDI entry point DrvEscape.
-
- DrvEscape is used for retrieving information from a device
- that is not available in a device-independent device driver
- interface; the particular query depends on the value of the
- iEsc parameter.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Describes the surface the call is directed to
- iEsc - Specifies a query
- cjIn - Specifies the size in bytes of the buffer pointed to by pvIn
- pvIn - Points to input data buffer
- cjOut - Specifies the size in bytes of the buffer pointed to by pvOut
- pvOut - Points to the output buffer
-
-Return Value:
-
- Depends on the query specified by iEsc parameter.
-
- Zero if the function specified by the query is not supported.
-
---*/
-
-{
- VERBOSE("OEMEscape entry.");
-
- PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
- POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
-
- // Punt call back to UNIDRV.
- //
- return (pOemPDEV->m_pfnDrvEscape)(pso,
- iEsc,
- cjIn,
- pvIn,
- cjOut,
- pvOut);
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/debug.h
deleted file mode 100644
index 0414569c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/debug.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Debug.H
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debugging functions. Also defines the various debug macros.
-//
-//
-
-#pragma once
-
-/////////////////////////////////////////////////////////
-// Macros
-/////////////////////////////////////////////////////////
-//
-// These macros are used for debugging purposes. They expand
-// to white spaces on a free build. Here is a brief description
-// of what they do and how they are used:
-//
-// giDebugLevel
-// Global variable which set the current debug level to control
-// the amount of debug messages emitted.
-//
-// WARNING(msg)
-// Display a message if the current debug level is <= DBG_WARNING.
-// The message format is: WRN filename (linenumber): message
-//
-// ERR(msg)
-// Similiar to WARNING macro above - displays a message
-// if the current debug level is <= DBG_ERROR.
-//
-// ASSERT(cond)
-// Verify a condition is true. If not, force a breakpoint.
-//
-// RIP(msg)
-// Display a message and force a breakpoint.
-//
-// Usage:
-// WARNING("App passed NULL pointer, ignoring...\n");
-//
-
-#define DBG_VERBOSE 0
-#define DBG_WARNING 1
-#define DBG_ERROR 2
-#define DBG_NONE 3
-
-// VC and Build use different debug defines.
-#if defined (DBG) || defined (_DEBUG)
-
- // __declspec(selectany) ensures that even if this is defined in multiple compilation
- // modules, they will all resolve to the same symbol in the linked DLL
- __declspec(selectany) INT giDebugLevel = 2;
-
- #define STRINGIZE(x) #x
- #define QUOTE(x) STRINGIZE(x)
- #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__)
-
- #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); }
- #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); }
- #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); }
- #define ASSERT(cond) { if (!(cond)) RIP("\n"); }
- #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); }
-
-#else // !DBG
-
- #define VERBOSE(msg)
- #define WARNING(msg)
- #define ERR(msg)
- #define ASSERT(cond)
- #define RIP(msg)
-
-#endif
-
-
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/devmode.cpp
deleted file mode 100644
index 6196a054..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/devmode.cpp
+++ /dev/null
@@ -1,222 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.cpp
-//
-// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules.
-//
-
-#include "precomp.h"
-
-#include "resource.h"
-#include "devmode.h"
-#include "debug.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-HRESULT hrOEMDevMode(
- DWORD dwMode,
- POEMDMPARAM pOemDMParam
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DevMode.
- hrOEMDevMode is called by IPrintOemUni::DevMode
- which is defined in intrface.cpp.
-
- The IPrintOemUni::DevMode method, provided by
- rendering plug-ins for Unidrv, performs operations
- on private DEVMODE members.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dwMode - caller-supplied constant. Refer to the docs
- for more information.
- pOemDMParam - pointer to an OEMDMPARAM structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
---*/
-
-{
- POEMDEV pOEMDevIn;
- POEMDEV pOEMDevOut;
-
- VERBOSE("hrOEMDevMode entry.");
-
- // Verify parameters.
- if( (NULL == pOemDMParam)
- ||
- ( (OEMDM_SIZE != dwMode)
- &&
- (OEMDM_DEFAULT != dwMode)
- &&
- (OEMDM_CONVERT != dwMode)
- &&
- (OEMDM_MERGE != dwMode)
- ))
- {
- ERR("DevMode() ERROR_INVALID_PARAMETER.\r\n");
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Cast generic (i.e. PVOID) to OEM private devmode pointer type.
- pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn;
- pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut;
-
- switch(dwMode)
- {
- case OEMDM_SIZE:
- pOemDMParam->cbBufSize = sizeof(OEMDEV);
- break;
-
- case OEMDM_DEFAULT:
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- pOEMDevOut->dwDriverData = 0;
- break;
-
- case OEMDM_CONVERT:
- bConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- break;
-
- case OEMDM_MERGE:
- bConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- bMakeOEMDevmodeValid(pOEMDevOut);
- break;
- }
-
- return S_OK;
-}
-
-
-BOOL bConvertOEMDevmode(
- PCOEMDEV pOEMDevIn,
- POEMDEV pOEMDevOut
- )
-
-/*++
-
-Routine Description:
-
- Converts private DEVMODE members to the
- current version.
-
-Arguments:
-
- pOEMDevIn - pointer to OEM private devmode
- pOEMDevOut - pointer to OEM private devmode
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- VERBOSE("bConvertOEMDevmode entry.");
-
- if( (NULL == pOEMDevIn)
- ||
- (NULL == pOEMDevOut)
- )
- {
- ERR("ConvertOEMDevmode() invalid parameters.\r\n");
- return FALSE;
- }
-
- // Check OEM Signature, if it doesn't match ours,
- // then just assume DMIn is bad and use defaults.
- if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature)
- {
- VERBOSE("Converting private OEM Devmode.\r\n");
-
- // Set the devmode defaults so that anything the isn't copied over will
- // be set to the default value.
- pOEMDevOut->dwDriverData = 0;
-
- // Copy the old structure in to the new using which ever size is the smaller.
- // Devmode maybe from newer Devmode (not likely since there is only one), or
- // Devmode maybe a newer Devmode, in which case it maybe larger,
- // but the first part of the structure should be the same.
-
- // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to;
- // the fields that are in the DEVMODE never change only new fields get added to the end.
-
- memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize));
-
- // Re-fill in the size and version fields to indicated
- // that the DEVMODE is the current private DEVMODE version.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- }
- else
- {
- VERBOSE("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n");
-
- // Don't know what the input DEVMODE is, so just use defaults.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- pOEMDevOut->dwDriverData = 0;
- }
-
- return TRUE;
-}
-
-
-BOOL bMakeOEMDevmodeValid(
- POEMDEV pOEMDevmode
- )
-
-/*++
-
-Routine Description:
-
- Ensures that private OEM devmode members are valid.
-
-Arguments:
-
- pOEMDevmode - pointer to OEM private devmode
-
-Return Value:
-
- TRUE if successful, FALSE if there is an error
-
---*/
-
-{
- if(NULL == pOEMDevmode)
- {
- return FALSE;
- }
-
- // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure.
-
- // Make sure that dmOEMExtra indicates the current OEMDEV structure.
- pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION;
-
- // Set driver data.
- pOEMDevmode->dwDriverData = 0;
-
- return TRUE;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/devmode.h
deleted file mode 100644
index 02af4909..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/devmode.h
+++ /dev/null
@@ -1,43 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.h
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for devmode functions.
-//
-
-#pragma once
-
-////////////////////////////////////////////////////////
-// OEM Devmode Defines
-////////////////////////////////////////////////////////
-
-#define OEM_SIGNATURE 'MSFT'
-#define OEM_VERSION 0x00000001L
-
-////////////////////////////////////////////////////////
-// OEM Devmode Type Definitions
-////////////////////////////////////////////////////////
-
-typedef struct tagOEMDEV
-{
- OEM_DMEXTRAHEADER dmOEMExtra;
- BOOL dwDriverData;
-} OEMDEV, *POEMDEV;
-
-typedef const OEMDEV *PCOEMDEV;
-
-
-/////////////////////////////////////////////////////////
-// ProtoTypes
-/////////////////////////////////////////////////////////
-
-HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam);
-BOOL bConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut);
-BOOL bMakeOEMDevmodeValid(POEMDEV pOEMDevmode);
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/dllentry.cpp
deleted file mode 100644
index 8ed3e0e7..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/dllentry.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: dllentry.cpp
-//
-// PURPOSE: Source module for DLL entry function(s).
-//
-
-#include "precomp.h"
-
-#include "debug.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-///////////////////////////////////////////////////////////
-//
-// DLL entry point
-//
-
-// DllMain isn't called/used for kernel mode version.
-//
-BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved)
-{
- VERBOSE("DllMain entry.");
-
- UNREFERENCED_PARAMETER(hInst);
- UNREFERENCED_PARAMETER(lpReserved);
-
- switch(wReason)
- {
- case DLL_PROCESS_ATTACH:
- VERBOSE("Process attach.\r\n");
- break;
-
- case DLL_THREAD_ATTACH:
- VERBOSE("Thread attach.\r\n");
- break;
-
- case DLL_PROCESS_DETACH:
- VERBOSE("Process detach.\r\n");
- break;
-
- case DLL_THREAD_DETACH:
- VERBOSE("Thread detach.\r\n");
- break;
- }
-
- return TRUE;
-}
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/intrface.cpp
deleted file mode 100644
index 8d87053f..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/intrface.cpp
+++ /dev/null
@@ -1,1797 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.cpp
-//
-// PURPOSE: Interface for User Mode COM Customization DLL.
-//
-
-#include "precomp.h"
-#include "resource.h"
-#include "devmode.h"
-#include "debug.h"
-#include "oemuni.h"
-#include "intrface.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-// ==================================================================
-// Internal Globals
-//
-static long g_cComponents; // Count of active components
-static long g_cServerLocks; // Count of locks
-//
-// ==================================================================
-
-// ==================================================================
-// The purpose of this array is to inform UNIDRV of the callbacks
-// that are implemented in this driver.
-//
-// Note that there is *NO* order dependency in this array. New
-// index values and their corresponding callbacks can be placed
-// anywhere within the list as needed.
-//
-static const DRVFN s_aOemHookFuncs[] =
-{
- // The following are declared in printoem.h and defined in ddihook.cpp.
- {INDEX_DrvAlphaBlend, (PFN)OEMAlphaBlend},
- {INDEX_DrvBitBlt, (PFN)OEMBitBlt},
- {INDEX_DrvCopyBits, (PFN)OEMCopyBits},
- {INDEX_DrvDitherColor, (PFN)OEMDitherColor},
- {INDEX_DrvFillPath, (PFN)OEMFillPath},
- {INDEX_DrvFontManagement, (PFN)OEMFontManagement},
- {INDEX_DrvGetGlyphMode, (PFN)OEMGetGlyphMode},
- {INDEX_DrvGradientFill, (PFN)OEMGradientFill},
- {INDEX_DrvLineTo, (PFN)OEMLineTo},
- {INDEX_DrvPaint, (PFN)OEMPaint},
- {INDEX_DrvPlgBlt, (PFN)OEMPlgBlt},
- {INDEX_DrvQueryAdvanceWidths, (PFN)OEMQueryAdvanceWidths},
- {INDEX_DrvQueryFont, (PFN)OEMQueryFont},
- {INDEX_DrvQueryFontData, (PFN)OEMQueryFontData},
- {INDEX_DrvQueryFontTree, (PFN)OEMQueryFontTree},
- {INDEX_DrvRealizeBrush, (PFN)OEMRealizeBrush},
- {INDEX_DrvStretchBlt, (PFN)OEMStretchBlt},
- {INDEX_DrvStretchBltROP, (PFN)OEMStretchBltROP},
- {INDEX_DrvStrokeAndFillPath, (PFN)OEMStrokeAndFillPath},
- {INDEX_DrvStrokePath, (PFN)OEMStrokePath},
- {INDEX_DrvTextOut, (PFN)OEMTextOut},
- {INDEX_DrvTransparentBlt, (PFN)OEMTransparentBlt},
- {INDEX_DrvStartDoc, (PFN)OEMStartDoc},
- {INDEX_DrvEndDoc, (PFN)OEMEndDoc},
- {INDEX_DrvStartPage, (PFN)OEMStartPage},
- {INDEX_DrvSendPage, (PFN)OEMSendPage},
- {INDEX_DrvStartBanding, (PFN)OEMStartBanding},
- {INDEX_DrvNextBand, (PFN)OEMNextBand},
- {INDEX_DrvEscape, (PFN)OEMEscape}
-};
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// COemUni2 body
-//
-COemUni2::COemUni2()
-{
- m_cRef = 1;
-
- // Increment COM component count.
- InterlockedIncrement(&g_cComponents);
-
- m_pOEMHelp = NULL;
-}
-
-COemUni2::~COemUni2()
-{
- // Make sure that helper interface is released.
- if(NULL != m_pOEMHelp)
- {
- m_pOEMHelp->Release();
- m_pOEMHelp = NULL;
- }
-
- // If this instance of the object is being deleted, then the reference
- // count should be zero.
- assert(0 == m_cRef);
-}
-
-HRESULT __stdcall
-COemUni2::
-QueryInterface(
- const IID& iid,
- void** ppv
- )
-{
- VERBOSE("COemUni2::QueryInterface() entry.");
-
- if (iid == IID_IUnknown)
- {
- *ppv = static_cast<IUnknown*>(this);
- VERBOSE("COemUni2::QueryInterface IUnknown.\r\n");
- }
- else if (iid == IID_IPrintOemUni2)
- {
- VERBOSE("COemUni2::QueryInterface IPrintOemUni2.\r\n");
-
- *ppv = static_cast<IPrintOemUni2*>(this);
- }
- else
- {
- WARNING("COemUni2::QueryInterface NULL. Returning E_NOINTERFACE.\r\n");
-
- *ppv = NULL;
- return E_NOINTERFACE;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef();
- return S_OK;
-}
-
-ULONG __stdcall
-COemUni2::
-AddRef(
- VOID
- )
-{
- VERBOSE("COemUni2::AddRef() entry.");
-
- return InterlockedIncrement(&m_cRef);
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall
-COemUni2::
-Release(
- VOID
- )
-{
- VERBOSE("COemUni2::Release() entry.");
- ULONG cRef = InterlockedDecrement(&m_cRef);
-
- if (cRef == 0)
- {
- delete this;
- return 0;
- }
- return cRef;
-}
-
-HRESULT __stdcall
-COemUni2::
-CommandCallback(
- PDEVOBJ pdevobj,
- DWORD dwCallbackID,
- DWORD dwCount,
- PDWORD pdwParams,
- OUT INT *piResult
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::CommandCallback
-
- The IPrintOemUni::CommandCallback method is used
- to provide dynamically generated printer commands
- for Unidrv-supported printers.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- dwCallbackID - value representing the printer command's
- *CallbackID attribute in the printer's generic printer
- description (GPD) file.
- dwCount - value representing the number of elements
- in the array pointed to by pdwParams. Can be 0.
- pdwParams - pointer to an array of DWORD-sized parameters
- containing values specified by the printer commands
- *Params attribute in the printer's GPD file. Can be NULL.
- piResult - Receives a method-supplied result value.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE("COemUni2::CommandCallback() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(dwCallbackID);
- UNREFERENCED_PARAMETER(dwCount);
- UNREFERENCED_PARAMETER(pdwParams);
-
- *piResult = 0;
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-Compression(
- PDEVOBJ pdevobj,
- PBYTE pInBuf,
- PBYTE pOutBuf,
- DWORD dwInLen,
- DWORD dwOutLen,
- OUT INT *piResult
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::Compression
-
- The IPrintOemUni::Compression method can be used
- with Unidrv-supported printers to provide a customized
- bitmap compression method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pInBuf - pointer to input scan line data.
- pOutBuf - pointer to an output buffer to receive
- compressed scan line data.
- dwInLen - length of the input data.
- dwOutLen - length of the output buffer.
- piResult - Receives a method-supplied result value. If the
- operation succeeds, this value should be the number
- of compressed bytes, which must not be larger than
- the value received for dwOutLen. If an error occurs,
- or if the method cannot compress, the result value
- should be -1.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE("COemUni2::Compression() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pInBuf);
- UNREFERENCED_PARAMETER(pOutBuf);
- UNREFERENCED_PARAMETER(dwInLen);
- UNREFERENCED_PARAMETER(dwOutLen);
- UNREFERENCED_PARAMETER(piResult);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-DevMode(
- DWORD dwMode,
- POEMDMPARAM pOemDMParam
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DevMode
-
- The IPrintOemUni::DevMode method, provided by
- rendering plug-ins for Unidrv, performs operations
- on private DEVMODE members.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::DevMode method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dwMode - caller-supplied constant. Refer to the docs
- for more information.
- pOemDMParam - pointer to an OEMDMPARAM structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- VERBOSE("COemUni2:DevMode entry.");
-
- return hrOEMDevMode(dwMode, pOemDMParam);
-}
-
-HRESULT __stdcall
-COemUni2::
-DisableDriver(
- VOID
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DisableDriver
-
- The IPrintOemUni::DisableDriver method allows a rendering
- plug-in for Unidrv to free resources that were allocated by the
- plug-in's IPrintOemUni::EnableDriver method. This is the last
- IPrintOemUni interface method that is called before the rendering
- plug-in is unloaded.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::DisableDriver method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- VOID
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- VERBOSE("COemUni2::DisableDriver() entry.");
-
- // Release reference to Printer Driver's interface.
- //
- if (this->m_pOEMHelp)
- {
- this->m_pOEMHelp->Release();
- this->m_pOEMHelp = NULL;
- }
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-DisablePDEV(
- PDEVOBJ pdevobj
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DisablePDEV
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::DisablePDEV method.
-
- The IPrintOemUni::DisablePDEV method performs the same types of
- operations as the DrvDisablePDEV function. Its purpose is to allow a
- rendering plug-in to delete the private PDEV structure that is pointed
- to by the DEVOBJ structure's pdevOEM member. This PDEV structure
- is one that was allocated by the plug-in's IPrintOemUni::EnablePDEV method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- VERBOSE("COemUni2::DisablePDEV() entry.");
-
- POEMPDEV pOemPDEV = (POEMPDEV)pdevobj->pdevOEM;
- delete pOemPDEV;
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-DownloadCharGlyph(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- HGLYPH hGlyph,
- PDWORD pdwWidth,
- OUT DWORD *pdwResult
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DownloadCharGlyph
-
- The IPrintOemUni::DownloadCharGlyph method enables a
- rendering plug-in for Unidrv to send a character glyph for
- a specified soft font to the printer.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pUFObj - pointer to a UNIFONTOBJ structure.
- hGlyph - glyph handle.
- pdwWidth - pointer to receive the method-supplied width of the character.
- pdwResult - Receives a method-supplied value representing the amount
- of printer memory, in bytes, required to store the character glyph.
- If the operation fails, the returned value should be zero.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE("COemUni2::DownloadCharGlyph() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(hGlyph);
- UNREFERENCED_PARAMETER(pdwWidth);
- UNREFERENCED_PARAMETER(pdwResult);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-DownloadFontHeader(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- OUT DWORD *pdwResult
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DownloadFontHeader
-
- The IPrintOemUni::DownloadFontHeader method allows a
- rendering plug-in for Unidrv to send a font's header
- information to a printer.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pUFObj - pointer to a UNIFONTOBJ structure.
- pdwResult - Receives a method-supplied value representing the amount
- of printer memory, in bytes, required to store the font header
- information. If the operation fails, the returned value should be zero.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE("COemUni2::DownloadFontHeader() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(pdwResult);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-DriverDMS(
- PVOID pDevObj,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::DriverDMS
-
- The IPrintOemUni::DriverDMS method allows a rendering
- plug-in for Unidrv to indicate that it uses a device-managed
- drawing surface instead of the default GDI-managed surface.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::DriverDMS method.
-
- Please refer to DDK documentation for more details. For general info
- on device managed surfaces and how to handle them, please refer to
- the section titled "Handling Device-Managed Surfaces".
-
-Arguments:
-
- pDevObj - pointer to a DEVOBJ structure.
- pBuffer - pointer to a buffer to receive method-specified flags.
- cbSize - size, in bytes, of the buffer pointed to by pBuffer.
- pcbNeeded - pointer to a location to receive the required
- minimum pBuffer size.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- VERBOSE("COemUni2::DriverDMS() entry.");
-
- UNREFERENCED_PARAMETER(pDevObj);
- UNREFERENCED_PARAMETER(pBuffer);
- UNREFERENCED_PARAMETER(cbSize);
- UNREFERENCED_PARAMETER(pcbNeeded);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-EnableDriver(
- DWORD dwDriverVersion,
- DWORD cbSize,
- PDRVENABLEDATA pded
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::EnableDriver
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::EnableDriver method.
-
- The IPrintOemUni::EnableDriver method allows a rendering
- plug-in to perform the same types of operations as the
- DrvEnableDriver function. Like the DrvEnableDriver function,
- the IPrintOemUni::EnableDriver method is responsible for
- providing addresses of internally supported graphics DDI functions,
- or DDI hook functions.
-
- The method should fill the supplied DRVENABLEDATA structure
- and allocate an array of DRVFN structures. It should fill the
- array with pointers to hooking functions, along with winddi.h-defined
- index values that identify the hooked out graphics DDI functions.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- DriverVersion - interface version number. This value is
- defined by PRINTER_OEMINTF_VERSION, in printoem.h.
- cbSize - size, in bytes, of the structure pointed to by pded.
- pded - pointer to a DRVENABLEDATA structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- VERBOSE("COemUni2::EnableDriver() entry.");
-
- UNREFERENCED_PARAMETER(dwDriverVersion);
- UNREFERENCED_PARAMETER(cbSize);
-
- // We need to return the DDI functions that have been hooked
- // in pded. Here we fill out the fields in pded.
- //
- pded->iDriverVersion = PRINTER_OEMINTF_VERSION;
- pded->c = sizeof(s_aOemHookFuncs) / sizeof(DRVFN);
- pded->pdrvfn = (DRVFN *) s_aOemHookFuncs;
-
- // Even if nothing is done, need to return S_OK so
- // that DisableDriver() will be called, which releases
- // the reference to the Printer Driver's interface.
- //
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-EnablePDEV(
- PDEVOBJ pdevobj,
- _In_ PWSTR pPrinterName,
- ULONG cPatterns,
- HSURF *phsurfPatterns,
- ULONG cjGdiInfo,
- GDIINFO *pGdiInfo,
- ULONG cjDevInfo,
- DEVINFO *pDevInfo,
- DRVENABLEDATA *pded,
- OUT PDEVOEM *pDevOem
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::EnablePDEV
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::EnablePDEV method.
-
- The IPrintOemUni::EnablePDEV method performs the same types
- of operations as the DrvEnablePDEV function that is exported
- by a printer graphics DLL. Its purpose is to allow a rendering
- plug-in to create its own PDEV structure. For more information
- about PDEV structures, see "Customized PDEV Structures" in the DDK docs.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pPrinterName - pointer to a text string representing the
- logical address of the printer.
- cPatterns - value representing the number of HSURF-typed
- surface handles contained in the buffer pointed to by
- phsurfPatterns.
- phsurfPatterns - pointer to a buffer that is large enough to
- contain cPatterns number of HSURF-typed surface handles.
- The handles represent surface fill patterns.
- cjGdiInfo - value representing the size of the structure pointed
- to by pGdiInfo.
- pGdiInfo - pointer to a GDIINFO structure.
- cjDevInfo - value representing the size of the structure pointed
- to by pDevInfo.
- pDevInfo - pointer to a DEVINFO structure.
- pded - pointer to a DRVENABLEDATA structure containing the
- addresses of the printer driver's graphics DDI hooking functions.
- pDevOem - Receives a method-supplied pointer to a private PDEV structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
- If the operation fails, the method should call SetLastError to set an error code.
-
-
---*/
-
-{
- VERBOSE("COemUni2::EnablePDEV() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pPrinterName);
- UNREFERENCED_PARAMETER(cPatterns);
- UNREFERENCED_PARAMETER(phsurfPatterns);
- UNREFERENCED_PARAMETER(cjGdiInfo);
- UNREFERENCED_PARAMETER(cjDevInfo);
- UNREFERENCED_PARAMETER(pDevInfo);
- UNREFERENCED_PARAMETER(pGdiInfo);
-
- // Allocate an instance of our private PDEV.
- //
- POEMPDEV pOemPDEV = new COemPDEV();
-
- if (NULL == pOemPDEV)
- {
- return NULL;
- }
-
- pOemPDEV->InitializeDDITable(pded);
-
- *pDevOem = pOemPDEV;
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-FilterGraphics(
- PDEVOBJ pdevobj,
- PBYTE pBuf,
- DWORD dwLen
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::FilterGraphics
-
- The IPrintOemUni::FilterGraphics method can be used with
- Unidrv-supported printers to modify scan line data and send
- it to the spooler.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pBuf - pointer to a buffer containing scan line data to be printed.
- dwLen - value representing the length, in bytes, of the data
- pointed to by pBuf.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- DWORD dwResult;
-
- VERBOSE("COemUni2::FilterGraphics() entry.");
-
- m_pOEMHelp->DrvWriteSpoolBuf(pdevobj, pBuf, dwLen, &dwResult);
-
- if (dwResult == dwLen)
- return S_OK;
- else
- return S_FALSE;
-}
-
-HRESULT __stdcall
-COemUni2::
-GetImplementedMethod(
- _In_ PSTR pMethodName
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::GetImplementedMethod
-
- The IPrintOemUni::GetImplementedMethod method is used by
- Unidrv to determine which IPrintOemUni interface methods
- have been implemented by a rendering plug-in.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::GetImplemented method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pMethodName - pointer to a string representing the name of an
- IPrintOemUni interface method, such as "ImageProcessing"
- for IPrintOemUni::ImageProcessing or "FilterGraphics" for
- IPrintOemUni::FilterGraphics.
-
-Return Value:
-
- S_OK The operation succeeded (the specified method is implemented).
- S_FALSE The operation failed (the specified method is not implemented).
-
-
---*/
-
-{
- HRESULT Result = S_FALSE;
-
- VERBOSE("COemUni2::GetImplementedMethod() entry.");
-
- // Unidrv only calls GetImplementedMethod for optional
- // methods. The required methods are assumed to be
- // supported.
-
- // Return S_OK for supported function (i.e. implemented),
- // and S_FALSE for functions that aren't supported (i.e. not implemented).
- switch (*pMethodName)
- {
- case 'C':
- if (!strcmp(NAME_CommandCallback, pMethodName))
- {
- Result = S_OK;
- }
- break;
- case 'F':
- if (!strcmp(NAME_FilterGraphics, pMethodName))
- {
- Result = S_OK;
- }
- break;
- }
-
- return Result;
-}
-
-HRESULT __stdcall
-COemUni2::
-GetInfo(
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::GetInfo
-
- A rendering plug-in's IPrintOemUni::GetInfo method returns
- identification information.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::GetInfo method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- dwMode - Contains one of the following caller-supplied integer constants.
- OEMGI_GETSIGNATURE - The method must return a unique four-byte
- identification signature. The plug-in must also place this signature
- in OPTITEM structures, as described in the description of the
- OEMCUIPPARAM. structure's pOEMOptItems member.
- OEMGI_GETVERSION - The method must return the user interface
- plug-in's version number as a DWORD. The version format is
- developer-defined.
- pBuffer - pointer to memory allocated to receive the information specified
- by dwInfo.
- cbSize - size of the buffer pointed to by pBuffer.
- pcbNeeded - pointer to a location to receive the number of bytes written
- into the buffer pointed to by pBuffer.
-
-Return Value:
-
- S_OK The operation succeeded (the specified method is implemented).
- S_FALSE The operation failed (the specified method is not implemented).
-
-
---*/
-
-{
- PWSTR pszTag = L"COemUni2::GetInfo entry.";
- switch(dwMode)
- {
- case OEMGI_GETSIGNATURE:
- pszTag = L"COemUni2::GetInfo entry. [OEMGI_GETSIGNATURE]";
- break;
- case OEMGI_GETVERSION:
- pszTag = L"COemUni2::GetInfo entry. [OEMGI_GETVERSION]";
- break;
-
- }
-
- // Validate parameters.
- if( (NULL == pcbNeeded)
- ||
- ( (OEMGI_GETSIGNATURE != dwMode)
- &&
- (OEMGI_GETVERSION != dwMode) ) )
- {
- WARNING("COemUni2::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER.\r\n");
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Set expected buffer size.
- *pcbNeeded = sizeof(DWORD);
-
- // Check buffer size is sufficient.
- if((cbSize < *pcbNeeded) || (NULL == pBuffer))
- {
- VERBOSE("COemUni2::GetInfo() exit insufficient buffer!\r\n");
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- // OEM DLL Signature
- case OEMGI_GETSIGNATURE:
- *(PDWORD)pBuffer = OEM_SIGNATURE;
- break;
-
- // OEM DLL version
- case OEMGI_GETVERSION:
- *(PDWORD)pBuffer = OEM_VERSION;
- break;
-
- // dwMode not supported.
- default:
- // Set written bytes to zero since nothing was written.
- WARNING("COemUni2::GetInfo() exit mode not supported.\r\n");
- *pcbNeeded = 0;
- SetLastError(ERROR_NOT_SUPPORTED);
- return E_FAIL;
- }
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-HalftonePattern(
- PDEVOBJ pdevobj,
- PBYTE pHTPattern,
- DWORD dwHTPatternX,
- DWORD dwHTPatternY,
- DWORD dwHTNumPatterns,
- DWORD dwCallbackID,
- PBYTE pResource,
- DWORD dwResourceSize
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::HalftonePattern
-
- The IPrintOemUni::HalftonePattern method can be used with
- Unidrv-supported printers to create or modify a halftone
- pattern before it is used in a halftoning operation.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pHTPattern - pointer to a buffer to receive the method-supplied
- halftone pattern. Buffer size, in bytes, is:
- (((dwHTPatternX * dwHTPatternY) + 3)/4) * 4 * dwHTNumPatterns.
- dwHTPatternX - length, in pixels, of the halftone pattern, as specified
- by the GPD file's *HTPatternSize attribute.
- dwHTPatternY - height, in pixels, of the halftone pattern, as specified
- by the GPD file's *HTPatternSize attribute.
- dwHTNumPatterns - number of patterns, as specified by the GPD file's
- *HTNumPatterns attribute. This can be 1 or 3.
- dwCallbackID - value identifying the halftone method, as specified by
- the GPD file's *HTCallbackID attribute.
- pResource - pointer to a buffer containing a halftone pattern, as
- specified by the GPD file's *rcHTPatternID attribute. This can be NULL.
- dwResourceSize - size of the halftone pattern contained in the buffer
- pointed to by pResource. This is zero if pResource is NULL.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE("COemUni2::HalftonePattern() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pHTPattern);
- UNREFERENCED_PARAMETER(dwHTPatternX);
- UNREFERENCED_PARAMETER(dwHTPatternY);
- UNREFERENCED_PARAMETER(dwHTNumPatterns);
- UNREFERENCED_PARAMETER(dwCallbackID);
- UNREFERENCED_PARAMETER(pResource);
- UNREFERENCED_PARAMETER(dwResourceSize);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-ImageProcessing(
- PDEVOBJ pdevobj,
- PBYTE pSrcBitmap,
- PBITMAPINFOHEADER pBitmapInfoHeader,
- PBYTE pColorTable,
- DWORD dwCallbackID,
- PIPPARAMS pIPParams,
- OUT PBYTE *ppbResult
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::ImageProcessing
-
- The IPrintOemUni::ImageProcessing method can be used with
- Unidrv-supported printers to modify image bitmap data, in order
- to perform color formatting or halftoning. The method can return
- the modified bitmap to Unidrv or send it directly to the print spooler.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pSrcBitmap - pointer to an input device-independent bitmap (DIB).
- pBitmapInfoHeader - pointer to a BITMAPINFOHEADER structure
- that describes the bitmap pointed to by pSrcBitmap.
- pColorTable - pointer to a color table. Used only if the output format is
- eight bits per pixel.
- dwCallbackID - value assigned to the *IPCallbackID attribute of the
- currently selected option for the ColorMode feature.
- pIPParams - pointer to an IPPARAMS structure.
- ppbResult -
- If the method returns the converted DIB to Unidrv:
- If the conversion succeeds, the method should return a
- pointer to a buffer containing the converted DIB.
- Otherwise it should return NULL.
- If the method sends the converted DIB to the print spooler:
- If the operation succeeds, the method should return TRUE.
- Otherwise it should return FALSE.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE("COemUni2::ImageProcessing() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pSrcBitmap);
- UNREFERENCED_PARAMETER(pBitmapInfoHeader);
- UNREFERENCED_PARAMETER(pColorTable);
- UNREFERENCED_PARAMETER(dwCallbackID);
- UNREFERENCED_PARAMETER(pIPParams);
- UNREFERENCED_PARAMETER(ppbResult);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-MemoryUsage(
- PDEVOBJ pdevobj,
- POEMMEMORYUSAGE pMemoryUsage
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::MemoryUsage
-
- The IPrintOemUni::MemoryUsage method can be used with
- Unidrv-supported printers to specify the amount of memory
- required for use by a rendering plug-in's IPrintOemUni::ImageProcessing
- method.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pMemoryUsage - pointer to an OEMMEMORYUSAGE structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE("COemUni2::MemoryUsage() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pMemoryUsage);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-OutputCharStr(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- DWORD dwType,
- DWORD dwCount,
- PVOID pGlyph
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::OutputCharStr
-
- The IPrintOemUni::OutputCharStr method enables a rendering
- plug-in to control the printing of font glyphs.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pUFObj - pointer to a UNIFONTOBJ structure.
- dwType - value indicating the type of glyph specifier array
- pointed to by pGlyph. Valid values are as follows:
- TYPE_GLYPHHANDLE The pGlyph array elements are glyph
- handles of type HGLYPH.
- TYPE_GLYPHID The pGlyph array elements are glyph
- identifiers of type DWORD.
- dwCount - value representing the number of glyph specifiers in
- the array pointed to by pGlyph.
- pGlyph - pointer to an array of glyph specifiers, where the array
- element type is indicated by dwType.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE("COemUni2::OutputCharStr() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(dwType);
- UNREFERENCED_PARAMETER(dwCount);
- UNREFERENCED_PARAMETER(pGlyph);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-PublishDriverInterface(
- IUnknown *pIUnknown
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::PublishDriverInterface
-
- The IPrintOemUni::PublishDriverInterface method allows a
- rendering plug-in for Unidrv to obtain the Unidrv driver's
- IPrintOemDriverUni interface.
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::PublishDriverInterface method and the method
- must return S_OK, or the driver will not call the plug-in's other
- IPrintOemUni interface methods.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pIUnknown - pointer to the IUnknown interface of the driver's
- IPrintOemDriverUni COM interface.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- VERBOSE("COemUni2::PublishDriverInterface() entry.");
-
- // Need to store pointer to Driver Helper functions, if we already haven't.
- if (this->m_pOEMHelp == NULL)
- {
- HRESULT hResult;
-
- // Get Interface to Helper Functions.
- hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverUni, (void** ) &(this->m_pOEMHelp));
-
- if(!SUCCEEDED(hResult))
- {
- // Make sure that interface pointer reflects interface query failure.
- this->m_pOEMHelp = NULL;
-
- return E_FAIL;
- }
- }
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-ResetPDEV(
- PDEVOBJ pdevobjOld,
- PDEVOBJ pdevobjNew
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::ResetPDEV
-
- A rendering plug-in for Unidrv MUST implement the
- IPrintOemUni::ResetPDEV method.
-
- A rendering plug-in's IPrintOemUni::ResetPDEV method performs
- the same types of operations as the DrvResetPDEV function. During
- the processing of an application's call to the Platform SDK ResetDC
- function, the IPrintOemUni::ResetPDEV method is called by Unidrv's
- DrvResetPDEV function. For more information about when DrvResetPDEV
- is called, see its description in the DDK docs.
-
- The rendering plug-in's private PDEV structure's address is contained
- in the pdevOEM member of the DEVOBJ structure pointed to by pdevobjOld.
- The IPrintOemUni::ResetPDEV method should use relevant members of this
- old structure to fill in the new structure, which is referenced through pdevobjNew.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobjOld - pointer to a DEVOBJ structure containing current PDEV information.
- pdevobjNew - pointer to a DEVOBJ structure into which the method should place
- new PDEV information.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
-
-
---*/
-
-{
- VERBOSE("COemUni2::ResetPDEV() entry.");
-
- UNREFERENCED_PARAMETER(pdevobjOld);
- UNREFERENCED_PARAMETER(pdevobjNew);
-
- return S_OK;
-}
-
-HRESULT __stdcall
-COemUni2::
-SendFontCmd(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- PFINVOCATION pFInv
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::SendFontCmd
-
- The IPrintOemUni::SendFontCmd method enables a rendering
- plug-in to modify a printer's font selection command and then
- send it to the printer.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pUFObj - pointer to a UNIFONTOBJ structure.
- pFInv - pointer to an FINVOCATION structure.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE("COemUni2::SendFontCmd() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(pFInv);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-TextOutAsBitmap(
- SURFOBJ *pso,
- STROBJ *pstro,
- FONTOBJ *pfo,
- CLIPOBJ *pco,
- RECTL *prclExtra,
- RECTL *prclOpaque,
- BRUSHOBJ *pboFore,
- BRUSHOBJ *pboOpaque,
- POINTL *pptlOrg,
- MIX mix
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::TextOutAsBitmap
-
- The IPrintOemUni::TextOutAsBitmap method allows a rendering
- plug-in to create a bitmap image of a text string, in case a
- downloadable font is not available.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pso - Defines the surface on which to be written.
- pstro - Defines the glyphs to be rendered and their positions
- pfo - Specifies the font to be used
- pco - Defines the clipping path
- prclExtra - A NULL-terminated array of rectangles to be filled
- prclOpaque - Specifies an opaque rectangle
- pboFore - Defines the foreground brush
- pboOpaque - Defines the opaque brush
- pptlOrg - Pointer to POINT struct , defining th origin
- mix - Specifies the foreground and background ROPs for pboFore
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE("COemUni2::TextOutAsBitmap() entry.");
-
- UNREFERENCED_PARAMETER(pso);
- UNREFERENCED_PARAMETER(pstro);
- UNREFERENCED_PARAMETER(pfo);
- UNREFERENCED_PARAMETER(pco);
- UNREFERENCED_PARAMETER(prclExtra);
- UNREFERENCED_PARAMETER(prclOpaque);
- UNREFERENCED_PARAMETER(pboFore);
- UNREFERENCED_PARAMETER(pboOpaque);
- UNREFERENCED_PARAMETER(pptlOrg);
- UNREFERENCED_PARAMETER(mix);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-TTDownloadMethod(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- OUT DWORD *pdwResult
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::TTDownloadMethod
-
- The IPrintOemUni::TTDownloadMethod method enables a rendering
- plug-in to indicate the format that Unidrv should use for a specified
- TrueType soft font.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pUFObj - pointer to a UNIFONTOBJ structure.
- pdwResult - Receives one of the following method-supplied constant values:
- TTDOWNLOAD_BITMAP Unidrv should download the specified font as bitmaps.
- TTDOWNLOAD_DONTCARE Unidrv can select the font format.
- TTDOWNLOAD_GRAPHICS Unidrv should print TrueType fonts as graphics,
- instead of downloading the font.
- TTDOWNLOAD_TTOUTLINE Unidrv should download the specified font as outlines.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE("COemUni2::TTDownloadMethod() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(pdwResult);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-TTYGetInfo(
- PDEVOBJ pdevobj,
- DWORD dwInfoIndex,
- PVOID pOutputBuf,
- DWORD dwSize,
- DWORD *pcbcNeeded
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni::TTYGetInfo
-
- The IPrintOemUni::TTYGetInfo method enables a rendering plug-in
- to supply Unidrv with information relevant to text-only printers.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- dwInfoIndex - constant identifying the type of information being requested.
- The following constant values are defined:
- OEMTTY_INFO_CODEPAGE - The pOutputBuf parameter points to a
- DWORD in which the method should return the number of the
- code page to be used.
- OEMTTY_INFO_MARGINS - The pOutputBuf parameter points to a
- RECT structure in which the method should return page margin
- widths, in tenths of millimeters (for example, 20 represents 2 mm).
- If the entire page is printable, all margin values must be 0.
- OEMTTY_INFO_NUM_UFMS - The pOutputBuf parameter points to a
- DWORD in which the method should return the number of resource
- IDs of the UFMs for 10, 12, and 17 CPI fonts. To actually obtain
- these resource IDs, perform a query using OEMTTY_INFO_UFM_IDS.
- OEMTTY_INFO_UFM_IDS - The pOutputBuf parameter points to an array
- of DWORDs of sufficient size to hold the number of resource IDs of
- the UFMs for 10, 12, and 17 CPI fonts. (This number is obtained by
- using OEMTTY_INFO_NUM_UFMS in a query.) The method should
- return the resource IDs of the UFMs for 10,12, and 17 CPI fonts.
- pOutputBuf - pointer to a buffer to receive the requested information.
- dwSize - size, in bytes, of the buffer pointed to by pOutputBuf.
- pcbcNeeded - pointer to a location to receive the number of bytes written into
- the buffer pointed to by pOutputBuf. If the number of bytes required is
- smaller than the number specified by dwSize, the method should supply
- the required size and return E_FAIL.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE("COemUni2::TTYGetInfo() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(dwInfoIndex);
- UNREFERENCED_PARAMETER(pOutputBuf);
- UNREFERENCED_PARAMETER(dwSize);
- UNREFERENCED_PARAMETER(pcbcNeeded);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall
-COemUni2::
-WritePrinter(
- PDEVOBJ pdevobj,
- PVOID pBuf,
- DWORD cbBuffer,
- PDWORD pcbWritten
- )
-
-/*++
-
-Routine Description:
-
- Implementation of IPrintOemUni2::WritePrinter
-
- The IPrintOemUni2::WritePrinter method, if supported, enables a
- rendering plug-in to capture all output data generated by a Unidrv
- driver. If this method is not supported, the output data would
- otherwise be sent to the spooler in a call to the spooler's WritePrinter API.
-
- Please refer to DDK documentation for more details.
-
-Arguments:
-
- pdevobj - pointer to a DEVOBJ structure.
- pBuf - pointer to the first byte of an array of bytes that contains
- the output data generated by the Unidrv driver.
- cbBuffer - size, in bytes, of the array pointed to by pBuf.
- pcbWritten - pointer to a DWORD value that receives the number
- of bytes of data that were successfully sent to the plug-in.
-
-Return Value:
-
- S_OK The operation succeeded.
- E_FAIL The operation failed.
- E_NOTIMPL The method is not implemented.
-
-
---*/
-
-{
- VERBOSE("COemUni2::WritePrinter() entry.");
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pBuf);
- UNREFERENCED_PARAMETER(cbBuffer);
- UNREFERENCED_PARAMETER(pcbWritten);
-
- return E_NOTIMPL;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// oem class factory
-//
-class COemCF : public IClassFactory
-{
-public:
- // *** IUnknown methods ***
- //
-
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef)(THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release)(THIS);
-
- // *** IClassFactory methods ***
- //
- STDMETHOD(CreateInstance)(THIS_
- LPUNKNOWN pUnkOuter,
- REFIID riid,
- LPVOID FAR* ppvObject);
- STDMETHOD(LockServer)(THIS_ BOOL bLock);
-
-
- // Constructor
- //
- COemCF(): m_cRef(1) { };
-
- // Destructor
- //
- ~COemCF() { };
-
-protected:
- LONG m_cRef;
-
-};
-
-///////////////////////////////////////////////////////////
-//
-// Class factory body
-//
-HRESULT __stdcall
-COemCF::
-QueryInterface(
- const IID& iid,
- void** ppv)
-{
- VERBOSE("COemCF::QueryInterface entry.");
- if ((iid == IID_IUnknown) || (iid == IID_IClassFactory))
- {
- *ppv = static_cast<COemCF*>(this);
- }
- else
- {
- *ppv = NULL;
- VERBOSE("COemCF::QueryInterface IID not supported.\r\n");
- return E_NOINTERFACE;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef();
- return S_OK;
-}
-
-ULONG __stdcall
-COemCF::
-AddRef()
-{
- return InterlockedIncrement(&m_cRef);
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall
-COemCF::
-Release()
-{
- assert(0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
- }
- return cRef;
-}
-
-// IClassFactory implementation
-//
-HRESULT __stdcall
-COemCF::
-CreateInstance(
- IUnknown* pUnknownOuter,
- const IID& iid,
- void** ppv)
-{
- VERBOSE("Class factory:Create component.");
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Cannot aggregate.
- //
- if (pUnknownOuter != NULL)
- {
- return CLASS_E_NOAGGREGATION;
- }
-
- // Create component.
- //
- COemUni2* pOemCP = new COemUni2;
- if (pOemCP == NULL)
- {
- return E_OUTOFMEMORY;
- }
-
- // Get the requested interface.
- //
- HRESULT hr = pOemCP->QueryInterface(iid, ppv);
-
- // Release the IUnknown pointer.
- // (If QueryInterface failed, component will delete itself.)
- //
- pOemCP->Release();
- return hr;
-}
-
-// LockServer
-//
-HRESULT __stdcall
-COemCF::
-LockServer(
- BOOL bLock
- )
-{
- if (bLock)
- {
- InterlockedIncrement(&g_cServerLocks);
- }
- else
- {
- InterlockedDecrement(&g_cServerLocks);
- }
- return S_OK;
-}
-
-
-//
-// Registration functions
-//
-
-//
-// Can DLL unload now?
-//
-STDAPI DllCanUnloadNow(void)
-{
- VERBOSE("DllCanUnloadNow entry.");
-
- //
- // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers
- // are unloaded, Unidrv and Pscript driver ignore the return value of
- // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL.
- //
- // If OEM DLL spins off a working thread that also uses the OEM DLL, the
- // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise
- // it may crash after Unidrv or Pscript calls FreeLibrary.
- //
-
- if ((g_cComponents == 0) && (g_cServerLocks == 0))
- {
- return S_OK;
- }
- else
- {
- return S_FALSE;
- }
-}
-
-//
-// Get class factory
-//
-STDAPI DllGetClassObject(
- _In_ REFCLSID clsid,
- _In_ REFIID iid,
- _Outptr_ LPVOID* ppv)
-{
- VERBOSE("DllGetClassObject:\tCreate class factory.");
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Can we create this component?
- //
- if (clsid != CLSID_OEMRENDER)
- {
- ERR("DllGetClassObject:\tClass not available!\r\n");
- return CLASS_E_CLASSNOTAVAILABLE;
- }
-
- // Create class factory.
- //
- COemCF* pFontCF = new COemCF; // Reference count set to 1 in constructor
- if (pFontCF == NULL)
- {
- ERR("DllGetClassObject:\tOut of Memory!\r\n");
- return E_OUTOFMEMORY;
- }
-
- // Get requested interface.
- //
- HRESULT hrResult = pFontCF->QueryInterface(iid, ppv);
- pFontCF->Release();
-
- return hrResult;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/intrface.h
deleted file mode 100644
index 771a42c7..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/intrface.h
+++ /dev/null
@@ -1,283 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.H
-//
-//
-// PURPOSE: Define COM interface for User Mode Printer Customization DLL.
-//
-
-#pragma once
-
-/////////////////////////////////////////////////////////
-// String Literals
-/////////////////////////////////////////////////////////
-
-CONST CHAR NAME_CommandCallback[] = "CommandCallback";
-CONST CHAR NAME_FilterGraphics[] = "FilterGraphics";
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// COemUni2
-//
-// Interface for Unidrv OEM sample rendering module
-//
-class COemUni2 : public IPrintOemUni2
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- //
- // Method for publishing Driver interface.
- //
- STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown);
-
- //
- // Method for getting the implemented methods.
- // Returns S_OK if the given method is implemneted.
- // Returns S_FALSE if the given method is notimplemneted.
- //
-
- STDMETHOD(GetImplementedMethod)(THIS_ _In_ PSTR pMethodName);
-
- //
- // Method for OEM to specify DDIs that have been hooked
- //
-
- STDMETHOD(EnableDriver) (THIS_ DWORD DriverVersion,
- DWORD cbSize,
- PDRVENABLEDATA pded);
-
- //
- // Method to notify OEM plugin that it is no longer required
- //
-
- STDMETHOD(DisableDriver) (THIS);
-
- //
- // Method for OEM plugin to contruct its own PDEV
- //
-
- STDMETHOD(EnablePDEV)(THIS_ PDEVOBJ pdevobj,
- _In_ PWSTR pPrinterName,
- ULONG cPatterns,
- HSURF *phsurfPatterns,
- ULONG cjGdiInfo,
- GDIINFO *pGdiInfo,
- ULONG cjDevInfo,
- DEVINFO *pDevInfo,
- DRVENABLEDATA *pded,
- OUT PDEVOEM *pDevOem);
-
- //
- // Method for OEM to free any resource associated with its PDEV
- //
-
- STDMETHOD(DisablePDEV)(THIS_ PDEVOBJ pdevobj);
-
- //
- // Method for OEM to transfer from old PDEV to new PDEV
- //
-
- STDMETHOD(ResetPDEV)(THIS_ PDEVOBJ pdevobjOld,
- PDEVOBJ pdevobjNew);
-
- //
- // Get OEM dll related information
- //
-
- STDMETHOD(GetInfo)(THIS_ DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded);
-
- //
- // OEMDriverDMS - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(DriverDMS)(THIS_ PVOID pDevObj,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded);
-
- //
- // OEMDevMode
- //
-
- STDMETHOD(DevMode)(THIS_ DWORD dwMode,
- POEMDMPARAM pOemDMParam);
-
- //
- // OEMCommandCallback - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(CommandCallback)(THIS_ PDEVOBJ pdevobj,
- DWORD dwCallbackID,
- DWORD dwCount,
- PDWORD pdwParams,
- OUT INT *piResult);
-
- //
- // OEMImageProcessing - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(ImageProcessing)(THIS_ PDEVOBJ pdevobj,
- PBYTE pSrcBitmap,
- PBITMAPINFOHEADER pBitmapInfoHeader,
- PBYTE pColorTable,
- DWORD dwCallbackID,
- PIPPARAMS pIPParams,
- OUT PBYTE *ppbResult);
-
- //
- // OEMFilterGraphics - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(FilterGraphics)(THIS_ PDEVOBJ pdevobj,
- PBYTE pBuf,
- DWORD dwLen);
- //
- // OEMCompression - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(Compression)(THIS_ PDEVOBJ pdevobj,
- PBYTE pInBuf,
- PBYTE pOutBuf,
- DWORD dwInLen,
- DWORD dwOutLen,
- OUT INT *piResult);
-
- //
- // OEMHalftone - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(HalftonePattern)(THIS_ PDEVOBJ pdevobj,
- PBYTE pHTPattern,
- DWORD dwHTPatternX,
- DWORD dwHTPatternY,
- DWORD dwHTNumPatterns,
- DWORD dwCallbackID,
- PBYTE pResource,
- DWORD dwResourceSize);
-
- //
- // OEMMemoryUsage - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(MemoryUsage)(THIS_ PDEVOBJ pdevobj,
- POEMMEMORYUSAGE pMemoryUsage);
-
- //
- // OEMTTYGetInfo - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(TTYGetInfo)(THIS_ PDEVOBJ pdevobj,
- DWORD dwInfoIndex,
- PVOID pOutputBuf,
- DWORD dwSize,
- DWORD *pcbcNeeded);
-
- //
- // OEMDownloadFontheader - UNIDRV only
- //
-
- STDMETHOD(DownloadFontHeader)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- OUT DWORD *pdwResult);
-
- //
- // OEMDownloadCharGlyph - UNIDRV only
- //
-
- STDMETHOD(DownloadCharGlyph)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- HGLYPH hGlyph,
- PDWORD pdwWidth,
- OUT DWORD *pdwResult);
-
- //
- // OEMTTDownloadMethod - UNIDRV only
- //
-
- STDMETHOD(TTDownloadMethod)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- OUT DWORD *pdwResult);
-
- //
- // OEMOutputCharStr - UNIDRV only
- //
-
- STDMETHOD(OutputCharStr)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- DWORD dwType,
- DWORD dwCount,
- PVOID pGlyph);
-
- //
- // OEMSendFontCmd - UNIDRV only
- //
-
-
- STDMETHOD(SendFontCmd)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- PFINVOCATION pFInv);
-
- //
- // OEMTextOutAsBitmap - UNIDRV only
- //
-
- STDMETHOD(TextOutAsBitmap)(THIS_ SURFOBJ *pso,
- STROBJ *pstro,
- FONTOBJ *pfo,
- CLIPOBJ *pco,
- RECTL *prclExtra,
- RECTL *prclOpaque,
- BRUSHOBJ *pboFore,
- BRUSHOBJ *pboOpaque,
- POINTL *pptlOrg,
- MIX mix);
-
- //
- // IPrintOemUni2 methods
- //
-
- //
- // Method for plugin to hook out spooler's WritePrinter API so it
- // can get access to output data Universal driver is generating
- //
- // At DrvEnablePDEV time, Universal driver will call this function with
- // pdevobj = NULL, pBuf = NULL, cbBuffer = 0 to detect if the plugin
- // implements this function. Plugin should return S_OK to indicate it is
- // implementing this function, or return E_NOTIMPL otherwise.
- //
- // In pcbWritten, plugins should return the number of bytes written to the
- // spooler's WritePrinter function. Zero doesn't carry a special meaning,
- // errors must be reported through the returned HRESULT.
- //
-
- STDMETHOD(WritePrinter)(THIS_ PDEVOBJ pdevobj,
- PVOID pBuf,
- DWORD cbBuffer,
- PDWORD pcbWritten);
-
-
- COemUni2();
- ~COemUni2();
-
-protected:
- LONG m_cRef;
- IPrintOemDriverUni* m_pOEMHelp;
-};
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/precomp.h
deleted file mode 100644
index 89396205..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/precomp.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Precomp.h
-//
-// PURPOSE: Header files that should be in the precompiled header.
-//
-
-#pragma once
-
-#include <STDDEF.H>
-#include <STDLIB.H>
-#include <OBJBASE.H>
-#include <STDARG.H>
-#include <STDIO.H>
-#include <INITGUID.H>
-#include <WINDEF.H>
-#include <WINERROR.H>
-#include <WINBASE.H>
-#include <WINGDI.H>
-#include <WINDDI.H>
-#include <TCHAR.H>
-#include <EXCPT.H>
-#include <ASSERT.H>
-
-#include <PRINTOEM.H>
-#include <PRCOMOEM.H>
-
-// This should always be included last
-#include <STRSAFE.H>
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/precompsrc.cpp
deleted file mode 100644
index 5944cf51..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/precompsrc.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "precomp.h" \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/resource.h
deleted file mode 100644
index 8e941820..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/resource.h
+++ /dev/null
@@ -1,17 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by OEMUNI.rc
-//
-
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 103
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/psuirep.ini b/print/OEM Printer Customization Plug-in Samples/C++/psuirep.ini
deleted file mode 100644
index 74fbd433..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/psuirep.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[OEMFiles]
-OEMConfigFile1=PSUIREP.DLL
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/syncset.gpd b/print/OEM Printer Customization Plug-in Samples/C++/syncset.gpd
deleted file mode 100644
index 39f7a0e2..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/syncset.gpd
+++ /dev/null
@@ -1,654 +0,0 @@
-*GPDSpecVersion: "1.0"
-*Include: "StdNames.gpd"
-*ModelName: "OEM CUSTOM SAMPLE SYNC DATA IN UI"
-*MasterUnits: PAIR(1200, 1200)
-*ResourceDLL: "unires.dll"
-*PrinterType: PAGE
-*MaxCopies: 99
-
-*PrintRate: 8
-*PrintRateUnit: PPM
-*PrintRatePPM: 8
-
-*Feature: Orientation
-{
- *rcNameID: =ORIENTATION_DISPLAY
- *DefaultOption: PORTRAIT
- *Option: PORTRAIT
- {
- *rcNameID: =PORTRAIT_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.6
- *Cmd: "<1B>&l0O"
- }
- }
- *Option: LANDSCAPE_CC90
- {
- *rcNameID: =LANDSCAPE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.6
- *Cmd: "<1B>&l1O"
- }
- }
-}
-*Feature: InputBin
-{
- *rcNameID: =PAPER_SOURCE_DISPLAY
- *DefaultOption: UPPER
- *Option: UPPER
- {
- *rcNameID: =UPPER_TRAY_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.9
- *Cmd: "<1B>&l1H"
- }
- }
-}
-*Feature: Resolution
-{
- *rcNameID: =RESOLUTION_DISPLAY
- *DefaultOption: Option1
- *Option: Option1
- {
- *Name: "300 x 300 " =DOTS_PER_INCH
- *DPI: PAIR(300, 300)
- *TextDPI: PAIR(300, 300)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
- *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
- *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.4
- *Cmd: "<1B>%%-12345X"
-+ "@PJL COMMENT HP Color LaserJet 5/5M "
-+ "Version 0.56<0A>"
-+ "@PJL SET RESOLUTION=300<0A>"
-+ "@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R"
- }
- }
- *Option: Option2
- {
- *Name: "150 x 150 " =DOTS_PER_INCH
- *DPI: PAIR(150, 150)
- *TextDPI: PAIR(300, 300)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
- *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
- *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.4
- *Cmd: "<1B>%%-12345X"
-+ "@PJL COMMENT HP Color LaserJet 5/5M "
-+ "Version 0.56<0A>"
-+ "@PJL SET RESOLUTION=150<0A>"
-+ "@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R"
- }
- }
-}
-
-*Feature: PaperSize
-{
- *rcNameID: =PAPER_SIZE_DISPLAY
- *DefaultOption: LETTER
- *Option: LETTER
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *%(9600, 12648)
-*% *PrintableArea: PAIR(9600, 12648)
- *PrintableArea: PAIR(9564, 12600)
-*% *PrintableArea: PAIR(5000,5000)
- *PrintableOrigin: PAIR(300, 300)
-*% *PrintableOrigin: PAIR(300, 500)
- *switch: Resolution
- {
- *case: Option2
- {
-*% Warning: the following printable width is adjusted (9600->9592) so it is divisible by the resolution X scale.
-*% Warning: the following printable length is adjusted (12648->12640) so it is divisible by the resolution Y scale.
- *PrintableArea: PAIR(9592, 12640)
-*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale.
-*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale.
- *PrintableOrigin: PAIR(304, 304)
- }
- }
- *CursorOrigin: PAIR(300, 180)
- *Command: CmdSelect
- {
- *%5760 -- 7560
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t5760x7604Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *%(9720, 12648)
- *PrintableArea: PAIR(9760, 12688)
- *PrintableOrigin: PAIR(200, 272)
- *CursorOrigin: PAIR(200, 12960)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t7632x5880Y"
- }
- }
- }
- }
- *Option: LEGAL
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9540, 16248)
- *PrintableOrigin: PAIR(300, 300)
- *switch: Resolution
- {
- *case: Option2
- {
-*% Warning: the following printable width is adjusted (9600->9592) so it is divisible by the resolution X scale.
-*% Warning: the following printable length is adjusted (16248->16240) so it is divisible by the resolution Y scale.
- *PrintableArea: PAIR(9592, 16240)
-*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale.
-*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale.
- *PrintableOrigin: PAIR(304, 304)
- }
- }
- *CursorOrigin: PAIR(300, 180)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t5760x9864Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9760, 16288)
- *PrintableOrigin: PAIR(200, 272)
- *CursorOrigin: PAIR(200, 16560)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t9792x5880Y"
- }
- }
- }
- }
- *Option: EXECUTIVE
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(8100, 12000)
- *PrintableOrigin: PAIR(300, 300)
- *switch: Resolution
- {
- *case: Option2
- {
-*% Warning: the following printable width is adjusted (8100->8096) so it is divisible by the resolution X scale.
-*% Warning: the following printable length is adjusted (12000->11992) so it is divisible by the resolution Y scale.
- *PrintableArea: PAIR(8096, 11992)
-*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale.
-*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale.
- *PrintableOrigin: PAIR(304, 304)
- }
- }
- *CursorOrigin: PAIR(300, 180)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t4860x7344Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(8200, 12080)
- *PrintableOrigin: PAIR(240, 280)
- *CursorOrigin: PAIR(200, 12360)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t7272x4980Y"
- }
- }
- }
- }
- *Option: A4
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9324, 13476)
- *PrintableOrigin: PAIR(300, 300)
- *switch: Resolution
- {
- *case: Option2
- {
-*% Warning: the following printable width is adjusted (9324->9320) so it is divisible by the resolution X scale.
-*% Warning: the following printable length is adjusted (13476->13472) so it is divisible by the resolution Y scale.
- *PrintableArea: PAIR(9320, 13472)
-*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale.
-*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale.
- *PrintableOrigin: PAIR(304, 304)
- }
- }
- *CursorOrigin: PAIR(300, 180)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t5594x8201Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9464, 13516)
- *PrintableOrigin: PAIR(220, 272)
- *switch: Resolution
- {
- *case: Option2
- {
-*% Warning: the following printable width is adjusted (9464->9456) so it is divisible by the resolution X scale.
-*% Warning: the following printable length is adjusted (13516->13512) so it is divisible by the resolution Y scale.
- *PrintableArea: PAIR(9456, 13512)
-*% Warning: the following printable origin X is adjusted (220->224) so it is divisible by the resolution X scale.
- *PrintableOrigin: PAIR(224, 272)
- }
- }
- *CursorOrigin: PAIR(200, 13788)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t8129x5714Y"
- }
- }
- }
- }
- *Option: A3
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(13428, 19308)
- *PrintableOrigin: PAIR(300, 300)
- *switch: Resolution
- {
- *case: Option2
- {
-*% Warning: the following printable width is adjusted (13428->13424) so it is divisible by the resolution X scale.
-*% Warning: the following printable length is adjusted (19308->19304) so it is divisible by the resolution Y scale.
- *PrintableArea: PAIR(13424, 19304)
-*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale.
-*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale.
- *PrintableOrigin: PAIR(304, 304)
- }
- }
- *CursorOrigin: PAIR(300, 180)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l27a8c1E<1B>*p0x0Y<1B>*c0t8057x11693Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(13588, 19368)
- *PrintableOrigin: PAIR(200, 240)
- *switch: Resolution
- {
- *case: Option2
- {
-*% Warning: the following printable width is adjusted (13588->13584) so it is divisible by the resolution X scale.
- *PrintableArea: PAIR(13584, 19368)
- }
- }
- *CursorOrigin: PAIR(200, 19608)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l27a8c1E<1B>*p0x0Y<1B>*c0t11621x8177Y"
- }
- }
- }
- }
- *Option: TABLOID
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *switch: Orientation
- {
- *case: PORTRAIT
- {
-*% *PrintableArea: PAIR(12600, 19800)
- *PrintableArea: PAIR(12540, 19740)
- *PrintableOrigin: PAIR(300, 300)
- *switch: Resolution
- {
- *case: Option2
- {
-*% Warning: the following printable width is adjusted (12600->12592) so it is divisible by the resolution X scale.
-*% Warning: the following printable length is adjusted (19800->19792) so it is divisible by the resolution Y scale.
- *PrintableArea: PAIR(12592, 19792)
-*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale.
-*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale.
- *PrintableOrigin: PAIR(304, 304)
- }
- }
- *CursorOrigin: PAIR(300, 200)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l6a8c1E<1B>*p0x0Y<1B>*c0t7560x12000Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(12600, 19800)
- *PrintableOrigin: PAIR(300, 300)
- *switch: Resolution
- {
- *case: Option2
- {
-*% Warning: the following printable width is adjusted (12600->12592) so it is divisible by the resolution X scale.
-*% Warning: the following printable length is adjusted (19800->19792) so it is divisible by the resolution Y scale.
- *PrintableArea: PAIR(12592, 19792)
-*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale.
-*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale.
- *PrintableOrigin: PAIR(304, 304)
- }
- }
- *CursorOrigin: PAIR(200, 20100)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l6a8c1E<1B>*p0x0Y<1B>*c0t11880x7680Y"
- }
- }
- }
- }
-}
-*Feature: MediaType
-{
- *rcNameID: =MEDIA_TYPE_DISPLAY
- *DefaultOption: STANDARD
- *Option: STANDARD
- {
- *rcNameID: =PLAIN_PAPER_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.14
- *Cmd: "<1B>&l0M"
- }
- }
- *Option: TRANSPARENCY
- {
- *rcNameID: =TRANSPARENCY_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.14
- *Cmd: "<1B>&l4M"
- }
- }
-}
-*Feature: ColorMode
-{
- *rcNameID: =COLOR_PRINTING_MODE_DISPLAY
- *HelpIndex: 12004
- *DefaultOption: 24bpp
- *Option: 24bpp
- {
- *rcNameID: =24BPP_DISPLAY
- *DevNumOfPlanes: 1
- *DevBPP: 24
- *DrvBPP: 24
- *Command: CmdEnableDRC { *Cmd : "<1B>*b3M" }
- *PaletteSize: 256
- *PaletteProgrammable? : TRUE
- *Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" %d{PaletteIndexToProgram}
-+ "I" }
- *Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" }
- *Command: CmdSetSrcBmpWidth { *Cmd : "<1B>*r" %d{RasterDataWidthInBytes / 3}"S" }
- *Command: CmdSelect
- {
- *Order: PAGE_SETUP.16
- *Cmd: "<1B>*v1N<1B>*v1O<1B>*l184O<1B>*v6W<0003080808081B>*v0a0b0c7i255a255b255c0I<1B>*"
-+ "o3W<060400>"
- }
- }
-}
-*Feature: Halftone
-{
- *rcNameID: =HALFTONING_DISPLAY
- *HelpIndex: 12005
- *DefaultOption: HT_PATSIZE_AUTO
- *Option: HT_PATSIZE_AUTO
- {
- *rcNameID: =HT_AUTO_SELECT_DISPLAY
- }
- *Option: HT_PATSIZE_SUPERCELL_M
- {
- *rcNameID: =HT_SUPERCELL_DISPLAY
- }
- *Option: HT_PATSIZE_6x6_M
- {
- *rcNameID: =HT_DITHER6X6_DISPLAY
- }
- *Option: HT_PATSIZE_8x8_M
- {
- *rcNameID: =HT_DITHER8X8_DISPLAY
- }
-}
-
-*%-------------------------------------------------------------------------
-*% Duplex
-*%-------------------------------------------------------------------------
-*Feature: Duplex
-{
- *rcNameID: =TWO_SIDED_PRINTING_DISPLAY
- *DefaultOption: NONE
- *Option: NONE
- {
- *rcNameID: =NONE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.9
- *Cmd: "<1B>&l0S"
- }
- }
- *Option: VERTICAL
- {
- *rcNameID: =FLIP_ON_LONG_EDGE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l1S"
-
- }
- }
- *Option: HORIZONTAL
- {
- *rcNameID: =FLIP_ON_SHORT_EDGE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.10
- *Cmd: "<1B>&l2S"
- }
- }
-}
-
-*%-------------------------------------------------------------------------
-*% Installable Option - Duplex Unit
-*% IMPORTANT NOTE: The OEM extension assumes that this feature's keyname is
-*% "DuplexUnit" and the options are "TRUE" and "FALSE"
-*%-------------------------------------------------------------------------
-*Feature: DuplexUnit
-{
- *Name: "Optional Duplex Unit" *% Duplex Unit
- *HelpIndex: 12004
- *FeatureType: PRINTER_PROPERTY
- *DefaultOption: FALSE
- *Option: FALSE
- {
- *Name: "Not Installed"
- *DisabledFeatures: LIST(Duplex)
- }
- *Option: TRUE
- {
- *Name: "Installed"
- }
-}
-
-
-*%-------------------------------------------------------------------------
-*% Installable Option - Envelope Feeder
-*% IMPORTANT NOTE: The OEM extension assumes that this feature's keyname is
-*% "EnvFeeder" and the options are "TRUE" and "FALSE"
-*%-------------------------------------------------------------------------
-*Feature: EnvFeeder
-{
- *Name: "Envelope Feeder"
- *HelpIndex: 12000
- *FeatureType: PRINTER_PROPERTY
- *DefaultOption: FALSE
- *Option: FALSE
- {
- *Name: "Not Installed"
- }
- *Option: TRUE
- {
- *Name: "Installed"
- }
-}
-
-
-*%-------------------------------------------------------------------------
-*% Installable Option - PrinterHardDisk
-*% IMPORTANT NOTE: The OEM extension assumes that this feature's keyname is
-*% "PrinterHardDisk" and the options are "TRUE" and "FALSE"
-*%-------------------------------------------------------------------------
-*Feature: PrinterHardDisk
-{
- *Name: "Printer Hard-Disk" *% Printer Hard-Disk
- *HelpIndex: 12002
- *FeatureType: PRINTER_PROPERTY
- *DefaultOption: FALSE
- *Option: FALSE
- {
- *Name: "Not Installed"
- *%*Constraints: LIST(JobRetention.Option2, JobRetention.Option4)
- }
- *Option: TRUE
- {
- *Name: "Installed"
- }
-}
-
-
-
-*Command: CmdStartDoc
-{
- *Order: DOC_SETUP.5
- *Cmd: "<1B>&u300D<1B>*r0F"
-}
-*Command: CmdStartPage
-{
- *Order: PAGE_SETUP.1
- *Cmd: "<1B>*b0M<0D>"
-}
-*Command: CmdEndJob
-{
- *Order: JOB_FINISH.1
- *Cmd: "<1B>E<1B>%%-12345X"
-}
-*Command: CmdCopies
-{
- *Order: DOC_SETUP.11
- *Cmd: "<1B>&l" %d{NumOfCopies}"X"
-}
-*RotateCoordinate?: TRUE
-*RotateRaster?: TRUE
-*RotateFont?: TRUE
-*TextCaps: LIST(TC_CR_90,TC_UA_ABLE)
-*MemoryUsage: LIST(FONT)
-*CursorXAfterCR: AT_PRINTABLE_X_ORIGIN
-*BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE)
-*XMoveThreshold: 0
-*YMoveThreshold: 0
-*XMoveUnit: 300
-*YMoveUnit: 300
-*Command: CmdXMoveAbsolute { *Cmd : "<1B>*p" %d{(DestX / 4) }"X" }
-*Command: CmdXMoveRelRight { *Cmd : "<1B>*p+" %d[0,9600]{max_repeat((DestXRel / 4) )}"X" }
-*Command: CmdXMoveRelLeft { *Cmd : "<1B>*p-" %d[0,9600]{max_repeat((DestXRel / 4) )}"X" }
-*Command: CmdYMoveAbsolute { *Cmd : "<1B>*p" %d{(DestY / 4) }"Y" }
-*Command: CmdYMoveRelDown { *Cmd : "<1B>*p+" %d[1,12600]{max_repeat((DestYRel / 4) )}"Y" }
-*Command: CmdYMoveRelUp { *Cmd : "<1B>*p-" %d[1,12600]{max_repeat((DestYRel / 4) )}"Y" }
-*Command: CmdCR { *Cmd : "<0D>" }
-*Command: CmdLF { *Cmd : "<0A>" }
-*Command: CmdFF { *Cmd : "<0C>" }
-*Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" %d{PaletteIndexToProgram}
-+ "I" }
-*Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" }
-*Command: CmdBackSpace { *Cmd : "<08>" }
-*Command: CmdUniDirectionOn { *Cmd : "<00>" }
-*Command: CmdUniDirectionOff { *Cmd : "<00>" }
-*Command: CmdPushCursor { *Cmd : "<1B>&f0S" }
-*Command: CmdPopCursor { *Cmd : "<1B>&f1S" }
-*Command: CmdSetSimpleRotation { *Cmd : "<1B>&a" %d{PrintDirInCCDegrees}"P" }
-*EjectPageWithFF?: TRUE
-*Command: CmdEnableTIFF4 { *Cmd : "<1B>*b2M" }
-*Command: CmdDisableCompression { *Cmd : "<1B>*b0M" }
-*OutputDataFormat: H_BYTE
-*OptimizeLeftBound?: TRUE
-*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN
-*CursorYAfterSendBlockData: AUTO_INCREMENT
-
-*DefaultFont: 136
-*DefaultCTT: 0
-*CharPosition: BASELINE
-*TTFSEnabled?: TRUE
-*DeviceFonts: LIST(134,135,136,137,138,139,140,146,147,148,149,150,151,152,153,154,
-+ 155,156,157,164,165,166,196,197,198,199,200,201,202,203,209,210,
-+ 211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,
-+ 227,228,229,230)
-
-*MinFontID: 16534
-*MaxFontID: 32768
-*FontFormat: HPPCL_OUTLINE
-*% When the %f format is implemented we can remove the /100 part of
-*% CmdSelectFontHeight and CmdSelectFontWidth
-*% NOTE: MasterUnits.x is hardcoded here!
-*% NOTE: THIS dividing by 200 because I want to /100 and then /2 for now.
-*% The number 60000 may look strange, but it's 1200/2 * 100.
-*Command: CmdSelectFontHeight { *Cmd : "<1B>(s" %d{FontHeight}"V" }
-*Command: CmdSelectFontWidth { *Cmd : "<1B>(s" %f{1200 / FontWidth}"H" }
-*Command: CmdSetFontID { *Cmd : "<1B>*c" %d{NextFontID}"D" }
-*Command: CmdSelectFontID { *Cmd : "<1B>(" %d{CurrentFontID}"X" }
-*Command: CmdSetCharCode { *Cmd : "<1B>*c" %d{NextGlyph}"E" }
-*Command: CmdUnderlineOn { *Cmd : "<1B>&dD" }
-*Command: CmdUnderlineOff { *Cmd : "<1B>&d@" }
-*Command: CmdWhiteTextOn { *Cmd : "<1B>*v1o1T" }
-*Command: CmdWhiteTextOff { *Cmd : "<1B>*v0o0T" }
-*MinGrayFill: 1
-*MaxGrayFill: 100
-*Command: CmdSetRectWidth { *Cmd : "<1B>*c" %d{(RectXSize / 4) }"A" }
-*Command: CmdSetRectHeight { *Cmd : "<1B>*c" %d{(RectYSize / 4) }"B" }
-*Command: CmdRectGrayFill { *Cmd : "<1B>*c" %d{GrayPercentage }"g2P" }
-*Command: CmdRectWhiteFill { *Cmd : "<1B>*c1P" }
-*Command: CmdRectBlackFill { *Cmd : "<1B>*c0P" }
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/syncset.ini b/print/OEM Printer Customization Plug-in Samples/C++/syncset.ini
deleted file mode 100644
index 11e9f7b0..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/syncset.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[OEMFiles]
-OEMConfigFile1=SYNCSET.DLL
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/themeui.ini b/print/OEM Printer Customization Plug-in Samples/C++/themeui.ini
deleted file mode 100644
index c3c9d2c9..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/themeui.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[OEMFiles]
-OEMConfigFile1=ThemeUISmpl.DLL
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uisamples.inf b/print/OEM Printer Customization Plug-in Samples/C++/uisamples.inf
deleted file mode 100644
index 6c07b2c7..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uisamples.inf
+++ /dev/null
Binary files differ
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.gpd b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.gpd
deleted file mode 100644
index f376bfe7..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.gpd
+++ /dev/null
@@ -1,559 +0,0 @@
-*GPDFileName: "uniuirep.gpd"
-*GPDFileVersion: "1.0"
-*GPDSpecVersion: "1.0"
-*Include: "StdNames.gpd"
-*ModelName: "OEM Unidrv Full UI Replacement Sample"
-*MasterUnits: PAIR(1200, 1200)
-*ResourceDLL: "unires.dll"
-*PrinterType: PAGE
-*MaxCopies: 99
-*PrintRate: 16
-*PrintRateUnit: PPM
-*PrintRatePPM: 16
-
-*%******************************************************************************************
-*% Orientation
-*%******************************************************************************************
-*Feature: Orientation
-{
- *rcNameID: =ORIENTATION_DISPLAY
- *DefaultOption: PORTRAIT
- *Option: PORTRAIT
- {
- *rcNameID: =PORTRAIT_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.6
- *Cmd: "<1B>&l0O"
- }
- }
- *Option: LANDSCAPE_CC90
- {
- *rcNameID: =LANDSCAPE_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.8
- *Cmd: "<1B>&l1O"
- }
- }
-}
-
-*%******************************************************************************************
-*% Input Bin
-*%******************************************************************************************
-*Feature: InputBin
-{
- *rcNameID: =PAPER_SOURCE_DISPLAY
- *DefaultOption: AUTO
- *Option: AUTO
- {
- *rcNameID: =AUTO_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.11
- *Cmd: "<1B>&l0H"
- }
- }
- *Option: UPPER
- {
- *rcNameID: =UPPER_TRAY_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.11
- *Cmd: "<1B>&l1H"
- }
- }
-}
-
-*%******************************************************************************************
-*% Resolution
-*%******************************************************************************************
-*Feature: Resolution
-{
- *rcNameID: =RESOLUTION_DISPLAY
- *DefaultOption: 300dpi
- *Option: 600dpi
- {
- *Name: "600 x 600" =DOTS_PER_INCH
- *DPI: PAIR(600, 600)
- *TextDPI: PAIR(600, 600)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
- *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
- *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.7
- *Cmd: "@PJL SET RESOLUTION=600<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t600R"
- }
- }
- *Option: 300dpi
- {
- *Name: "300 x 300" =DOTS_PER_INCH
- *DPI: PAIR(300, 300)
- *TextDPI: PAIR(300, 300)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
- *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
- *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.7
- *Cmd: "@PJL SET RESOLUTION=300<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R"
- }
- }
- *Option: 150dpi
- {
- *Name: "150 x 150" =DOTS_PER_INCH
- *DPI: PAIR(150, 150)
- *TextDPI: PAIR(150, 150)
- *MinStripBlankPixels: 32
- EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING)
- *SpotDiameter: 100
- *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
- *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
- *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.7
- *Cmd: "@PJL SET RESOLUTION=150<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t150R"
- }
- }
-}
-
-*%******************************************************************************************
-*% HP-GL/2 Graphics Support
-*%******************************************************************************************
-*Ifdef: WINNT_51
-*Personality: =PERSONALITY_HPGL2
-*Feature: GraphicsMode
-{
- *rcNameID: =GRAPHICSMODE_DISPLAY
- *DefaultOption: HPGL2MODE
- *Option: HPGL2MODE
- {
- *rcNameID: =GRAPHICSMODE_HPGL2_DISPLAY
- }
- *Option: RASTERMODE
- {
- *rcNameID: =GRAPHICSMODE_RASTER_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.5
- *Cmd: "@PJL SET LIMAGEENHANCE=OFF<0A>"
- }
- }
-}
-*Endif:
-
-*%******************************************************************************************
-*% Paper Size
-*%******************************************************************************************
-*Feature: PaperSize
-{
- *rcNameID: =PAPER_SIZE_DISPLAY
- *DefaultOption: LETTER
- *Option: LETTER
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 1028
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9500, 12500)
- *PrintableOrigin: PAIR(400, 400)
- *CursorOrigin: PAIR(300, 300)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t5260x7704Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9500, 12200)
- *PrintableOrigin: PAIR(450, 300)
- *CursorOrigin: PAIR(200, 12900)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t7332x5880Y"
- }
- }
- }
- }
- *Option: LEGAL
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 1692
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9000, 15500)
- *PrintableOrigin: PAIR(400, 600)
- *CursorOrigin: PAIR(180, 300)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t5880x8900Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9000, 15500)
- *PrintableOrigin: PAIR(400, 900)
- *CursorOrigin: PAIR(180, 16500)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t8900x5880Y"
- }
- }
- }
- }
- *Option: EXECUTIVE
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 4109
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(8100, 11500)
- *PrintableOrigin: PAIR(300, 300)
- *CursorOrigin: PAIR(300, 200)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t4860x7344Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(8300, 11500)
- *PrintableOrigin: PAIR(200, 300)
- *CursorOrigin: PAIR(200, 12300)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t7272x4980Y"
- }
- }
- }
- }
- *Option: A4
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 4249
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(9100, 13200)
- *PrintableOrigin: PAIR(400, 300)
- *CursorOrigin: PAIR(288, 180)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t5594x8201Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(9100, 13200)
- *PrintableOrigin: PAIR(400, 300)
- *CursorOrigin: PAIR(204, 13824)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t8129x5714Y"
- }
- }
- }
- }
- *Option: B5
- {
- *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
- *PageProtectMem: 3198
- *switch: Orientation
- {
- *case: PORTRAIT
- {
- *PrintableArea: PAIR(7900, 11140)
- *PrintableOrigin: PAIR(352, 300)
- *CursorOrigin: PAIR(300, 100)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t4970x7040Y"
- }
- }
- *case: LANDSCAPE_CC90
- {
- *PrintableArea: PAIR(7760, 11140)
- *PrintableOrigin: PAIR(300, 400)
- *CursorOrigin: PAIR(100, 11940)
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.12
- *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t6780x4970Y"
- }
- }
- }
- }
-}
-
-*%******************************************************************************************
-*% Outputbin
-*%******************************************************************************************
-
-
-*Feature: OutputBin
-{
- *rcNameID: =OUTPUTBIN_DISPLAY
- *HelpIndex: 12006
- *DefaultOption: Option1
- *Option: Option1
- {
- *% Auto Select
- *Name: "default"
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.4
- *Cmd: "@PJL SET OUTBIN=OPTIONALOUTBIN2<0A>@PJL SET FINISH=NONE<0A>"
- }
- }
- *Option: Option14
- {
- *% Stacker
- *Name: "stacker" *% Stacker
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.4
- *Cmd: "@PJL SET OUTBIN=OPTIONALOUTBIN2<0A>@PJL SET FINISH=NONE<0A>"
- }
- }
-}
-
-
-*%******************************************************************************************
-*% Media Type
-*%******************************************************************************************
-*Feature: MediaType
-{
- *rcNameID: =MEDIA_TYPE_DISPLAY
- *DefaultOption: PLAIN
- *Option: PLAIN
- {
- *rcNameID: =PLAIN_PAPER_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.15
- *Cmd: "<1B>&n6WdPlain"
- }
- }
- *Option: TRANSPARENCY
- {
- *rcNameID: =TRANSPARENCY_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.15
- *Cmd: "<1B>&n13WdTransparency"
- }
- }
-}
-
-
-
-*%******************************************************************************************
-*% HalfTone
-*%******************************************************************************************
-*Feature: Halftone
-{
- *rcNameID: =HALFTONING_DISPLAY
- *DefaultOption: HT_PATSIZE_AUTO
- *Option: HT_PATSIZE_AUTO
- {
- *rcNameID: =HT_AUTO_SELECT_DISPLAY
- }
- *Option: HT_PATSIZE_SUPERCELL_M
- {
- *rcNameID: =HT_SUPERCELL_DISPLAY
- }
- *Option: HT_PATSIZE_6x6_M
- {
- *rcNameID: =HT_DITHER6X6_DISPLAY
- }
- *Option: HT_PATSIZE_8x8_M
- {
- *rcNameID: =HT_DITHER8X8_DISPLAY
- }
-}
-
-*%******************************************************************************************
-*% Memory
-*%
-*% Note: Unidrv uses the font memory information to estimate when it needs to stop
-*% downloading fonts for a page, and thus driver writers should err on the conservative
-*% side. Otherwise, printers will generate "out of memory" device errors for pages with
-*% a large number of fonts / unique glyphs.
-*%******************************************************************************************
-*Feature: Memory
-{
- *rcNameID: =PRINTER_MEMORY_DISPLAY
- *DefaultOption: 32768KB
- *Option: 16384KB
- {
- *Name: "16MB"
- *MemoryConfigKB: PAIR(16384, 13950)
- }
- *Option: 32768KB
- {
- *Name: "32MB"
- *MemoryConfigKB: PAIR(32768, 28350)
- }
-}
-
-*%******************************************************************************************
-*% Page Protect
-*%******************************************************************************************
-*Feature: PageProtect
-{
- *rcNameID: =PAGE_PROTECTION_DISPLAY
- *DefaultOption: OFF
- *Option: ON
- {
- *rcNameID: =ON_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.1
- *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=LETTER<0A>"
- }
- }
- *Option: OFF
- {
- *rcNameID: =OFF_DISPLAY
- *Command: CmdSelect
- {
- *Order: DOC_SETUP.1
- *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=OFF<0A>"
- }
- }
-}
-
-*%******************************************************************************************
-*% Doc setup commands
-*%******************************************************************************************
-*Command: CmdStartDoc
-{
- *Order: DOC_SETUP.7
- *Cmd: "<1B>&u1200D<1B>*r0F"
-}
-*Command: CmdStartPage
-{
- *Order: PAGE_SETUP.1
- *Cmd: "<1B>*b0M<0D>"
-}
-*Command: CmdEndJob
-{
- *Order: JOB_FINISH.1
- *Cmd: "<1B>E<1B>%%-12345X@PJL<20>LPORTROTATE<0A><1B>%%-12345X"
-}
-*Command: CmdCopies
-{
- *Order: DOC_SETUP.13
- *Cmd: "<1B>&l" %d{NumOfCopies}"X"
-}
-
-*%******************************************************************************************
-*% Cursor, Page and Color Commands
-*%******************************************************************************************
-*RotateCoordinate?: TRUE
-*RotateRaster?: TRUE
-*RotateFont?: TRUE
-*TextCaps: LIST(TC_CR_90,TC_UA_ABLE)
-*MemoryUsage: LIST(FONT, RASTER, VECTOR)
-*CursorXAfterCR: AT_PRINTABLE_X_ORIGIN
-*BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE)
-*XMoveThreshold: 0
-*YMoveThreshold: 0
-*XMoveUnit: 300
-*YMoveUnit: 300
-*Command: CmdXMoveAbsolute { *Cmd : "<1B>*p" %d{(DestX) }"X" }
-*Command: CmdXMoveRelRight { *Cmd : "<1B>*p+" %d[0,9600]{max_repeat((DestXRel) )}"X" }
-*Command: CmdXMoveRelLeft { *Cmd : "<1B>*p-" %d[0,9600]{max_repeat((DestXRel) )}"X" }
-*Command: CmdYMoveAbsolute { *Cmd : "<1B>*p" %d{(DestY) }"Y" }
-*Command: CmdYMoveRelDown { *Cmd : "<1B>*p+" %d{(DestYRel) }"Y" }
-*Command: CmdYMoveRelUp { *Cmd : "<1B>*p-" %d{(DestYRel) }"Y" }
-*Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c"
-+ %d{PaletteIndexToProgram} "I" }
-*Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" }
-*Command: CmdCR { *Cmd : "<0D>" }
-*Command: CmdLF { *Cmd : "<0A>" }
-*Command: CmdFF { *Cmd : "<0C>" }
-*Command: CmdBackSpace { *Cmd : "<08>" }
-*Command: CmdUniDirectionOn { *Cmd : "<00>" }
-*Command: CmdUniDirectionOff { *Cmd : "<00>" }
-*Command: CmdPushCursor { *Cmd : "<1B>&f0S" }
-*Command: CmdPopCursor { *Cmd : "<1B>&f1S" }
-*Command: CmdSetSimpleRotation { *Cmd : "<1B>&a" %d{PrintDirInCCDegrees}"P" }
-*EjectPageWithFF?: TRUE
-*Command: CmdEnableTIFF4 { *Cmd : "<1B>*b2M" }
-*Command: CmdDisableCompression { *Cmd : "<1B>*b0M" }
-*OutputDataFormat: H_BYTE
-*OptimizeLeftBound?: TRUE
-*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN
-*CursorYAfterSendBlockData: AUTO_INCREMENT
-
-*%******************************************************************************************
-*% Font Descriptions and Commands
-*%******************************************************************************************
-*DefaultFont: 136
-*DefaultCTT: 0
-*CharPosition: BASELINE
-*DeviceFonts: LIST(136,138,146,147,148,149,150,151,152,153,154,155,156,157,
-+ 163,164,165,166,196,197,198,199,200,201,202,203,209,210,
-+ 211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,
-+ 227,228,229,230)
-*MinFontID: 16534
-*MaxFontID: 32768
-*switch: Resolution
-{
- *case: 600dpi
- {
- *FontFormat: HPPCL_OUTLINE
- }
- *case: 300dpi
- {
- *FontFormat: HPPCL_OUTLINE
- }
- *case: 150dpi
- {
- *FontFormat: HPPCL_RES
- }
-}
-*Command: CmdSetFontID { *Cmd : "<1B>*c" %d{NextFontID}"D" }
-*Command: CmdSelectFontID { *Cmd : "<1B>(" %d{CurrentFontID}"X" }
-*Command: CmdSetCharCode { *Cmd : "<1B>*c" %d{NextGlyph}"E" }
-*Command: CmdUnderlineOn { *Cmd : "<1B>&dD" }
-*Command: CmdUnderlineOff { *Cmd : "<1B>&d@" }
-*Command: CmdWhiteTextOn { *Cmd : "<1B>*v1o1T" }
-*Command: CmdWhiteTextOff { *Cmd : "<1B>*v0o0T" }
-
-
-*%********************************************************************************************
-*%* Vector Commands.
-*%********************************************************************************************
-*MinGrayFill: 1
-*MaxGrayFill: 100
-*Command: CmdSetRectWidth { *Cmd : "<1B>*c" %d{(RectXSize) }"A" }
-*Command: CmdSetRectHeight { *Cmd : "<1B>*c" %d{(RectYSize) }"B" }
-*Command: CmdRectGrayFill { *Cmd : "<1B>*c" %d{GrayPercentage }"g2P" }
-*Command: CmdRectWhiteFill { *Cmd : "<1B>*c1P" }
-*Command: CmdRectBlackFill { *Cmd : "<1B>*c0P" }
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.inf b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.inf
deleted file mode 100644
index 2dba999f..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.inf
+++ /dev/null
Binary files differ
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.ini b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.ini
deleted file mode 100644
index 55701ada..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[OEMFiles]
-OEMConfigFile1=UNIUIREP.DLL
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/Features.cpp b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/Features.cpp
deleted file mode 100644
index f2663bc0..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/Features.cpp
+++ /dev/null
@@ -1,1991 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Features.cpp
-//
-// PURPOSE: Implements wrapper classes for managing the features &
-// options supported by the driver.
-//
-//--------------------------------------------------------------------------
-
-#include "precomp.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-////////////////////////////////////////////////////////
-// Internal Defines and Macros
-////////////////////////////////////////////////////////
-
-//
-// TAG the identifies feature OPTITEM data stuct.
-//
-#define FEATURE_OPTITEM_TAG 'FETR'
-
-
-////////////////////////////////////////////////////////
-// Type Definitions
-////////////////////////////////////////////////////////
-//
-// Struct used to identify OPTITEM as feature OPTITEM and to map back
-// from an OPTITEM to the feature.
-//
-typedef struct _tagFeatureOptItemData
-{
- DWORD dwSize;
- DWORD dwTag;
- PCSTR pszFeatureKeyword;
- CFeature *pFeature;
-
-} FEATUREOPTITEMDATA, *PFEATUREOPTITEMDATA;
-
-//
-// Mapping of feature names to keywords
-//
-static CONST KEYWORDMAP gkmFeatureMap[] =
-{
- {"RESDLL", NULL, IDS_RESDLL, OEMCUIP_PRNPROP},
- {"InputBin", TEXT("COMPSTUI.DLL"), IDS_CPSUI_SOURCE, OEMCUIP_DOCPROP},
- {"Orientation", TEXT("COMPSTUI.DLL"), IDS_CPSUI_ORIENTATION, OEMCUIP_DOCPROP},
- {"Resolution", TEXT("COMPSTUI.DLL"), IDS_CPSUI_RESOLUTION, OEMCUIP_DOCPROP},
- {"GraphicsMode", NULL, IDS_GRAPHICS_MODE, OEMCUIP_DOCPROP},
- {"PaperSize", TEXT("COMPSTUI.DLL"), IDS_CPSUI_FORMNAME, OEMCUIP_DOCPROP},
- {"MediaType", TEXT("COMPSTUI.DLL"), IDS_CPSUI_MEDIA, OEMCUIP_DOCPROP},
- {"ColorMode", TEXT("COMPSTUI.DLL"), IDS_CPSUI_COLOR_APPERANCE, OEMCUIP_DOCPROP},
- {"Halftone", TEXT("COMPSTUI.DLL"), IDS_CPSUI_HALFTONE, OEMCUIP_DOCPROP},
- {"DuplexUnit", NULL, IDS_DUPLEX_UNIT, OEMCUIP_PRNPROP},
- {"Duplex", TEXT("COMPSTUI.DLL"), IDS_CPSUI_DUPLEX, OEMCUIP_DOCPROP},
- {"Memory", NULL, IDS_INSTALLED_MEMORY, OEMCUIP_PRNPROP},
- {"OutputBin", TEXT("COMPSTUI.DLL"), IDS_CPSUI_OUTPUTBIN, OEMCUIP_DOCPROP},
- {"PageProtect", TEXT("COMPSTUI.DLL"), IDS_CPSUI_PAGEPROTECT, OEMCUIP_PRNPROP},
- {"%PagePerSheet", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP, OEMCUIP_DOCPROP},
- {"%PageOrder", TEXT("COMPSTUI.DLL"), IDS_CPSUI_PAGEORDER, OEMCUIP_DOCPROP},
- {"%PagesPerSheetOrdering", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_DIRECTION, OEMCUIP_DOCPROP},
- {"%PagesPerSheetBorder", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_BORDER, OEMCUIP_DOCPROP},
- {"%TextAsGraphics", NULL, IDS_TEXT_ASGRX, OEMCUIP_DOCPROP},
- {"%MetafileSpooling", NULL, IDS_METAFILE_SPOOLING, OEMCUIP_DOCPROP}
-};
-
-//
-// Number of elements in the feature map table.
-//
-static const NUM_FEATURE_MAP = (sizeof(gkmFeatureMap)/sizeof(gkmFeatureMap[0]));
-
-//
-// Mapping of option names to resources. A more complete driver would parse
-// this mapping from the GDL file, rather than use hard-coded mappings.
-//
-static CONST KEYWORDMAP gkmOptionMap[] =
-{
- {"ON", TEXT("COMPSTUI.DLL"), IDS_CPSUI_ON, 0},
- {"OFF", TEXT("COMPSTUI.DLL"), IDS_CPSUI_OFF, 0},
- {"NONE", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NONE, 0},
- {"None", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NONE, 0},
- {"True", TEXT("COMPSTUI.DLL"), IDS_CPSUI_TRUE, 0},
- {"False", TEXT("COMPSTUI.DLL"), IDS_CPSUI_FALSE, 0,},
- {"PORTRAIT", TEXT("COMPSTUI.DLL"), IDS_CPSUI_PORTRAIT, 0},
- {"LANDSCAPE", TEXT("COMPSTUI.DLL"), IDS_CPSUI_LANDSCAPE, 0},
- {"LANDSCAPE_CC90", TEXT("COMPSTUI.DLL"), IDS_CPSUI_ROT_LAND, 0},
- {"FORMSOURCE", TEXT("COMPSTUI.DLL"), IDS_CPSUI_FORMSOURCE, 0},
- {"UPPER", TEXT("COMPSTUI.DLL"), IDS_CPSUI_UPPER_TRAY, 0},
- {"AUTO", TEXT("COMPSTUI.DLL"), IDS_CPSUI_PRINTFLDSETTING, 0},
- {"Auto", TEXT("COMPSTUI.DLL"), IDS_CPSUI_PRINTFLDSETTING, 0},
- {"PLAIN", TEXT("COMPSTUI.DLL"), IDS_CPSUI_STANDARD, 0},
- {"TRANSPARENCY", TEXT("COMPSTUI.DLL"), IDS_CPSUI_TRANSPARENCY, 0},
- {"HORIZONTAL", TEXT("COMPSTUI.DLL"), IDS_CPSUI_HORIZONTAL, 0},
- {"VERTICAL", TEXT("COMPSTUI.DLL"), IDS_CPSUI_VERTICAL, 0},
- {"FrontToBack", TEXT("COMPSTUI.DLL"), IDS_CPSUI_FRONTTOBACK, 0},
- {"BackToFront", TEXT("COMPSTUI.DLL"), IDS_CPSUI_BACKTOFRONT, 0},
- {"1", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_NORMAL, 0},
- {"2", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_TWOUP, 0},
- {"4", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_FOURUP, 0},
- {"6", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_SIXUP, 0},
- {"9", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_NINEUP, 0},
- {"16", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_SIXTEENUP, 0},
- {"Booklet", TEXT("COMPSTUI.DLL"), IDS_CPSUI_BOOKLET, 0},
- {"RightThenDown", TEXT("COMPSTUI.DLL"), IDS_CPSUI_RIGHT_THEN_DOWN, 0},
- {"DownThenRight", TEXT("COMPSTUI.DLL"), IDS_CPSUI_DOWN_THEN_RIGHT, 0},
- {"LeftThenDown", TEXT("COMPSTUI.DLL"), IDS_CPSUI_LEFT_THEN_DOWN, 0},
- {"DownThenLeft", TEXT("COMPSTUI.DLL"), IDS_CPSUI_DOWN_THEN_LEFT, 0},
- {"UniresDLL", NULL, IDS_UNIRESDLL, 0},
- {"600dpi", NULL, IDS_RESOLUTION_600_DPI, 0},
- {"300dpi", NULL, IDS_RESOLUTION_300_DPI, 0},
- {"150dpi", NULL, IDS_RESOLUTION_150_DPI, 0},
- {"RASTERMODE", NULL, IDS_RASTERMODE, 0},
- {"HPGL2MODE", NULL, IDS_HPGL2MODE, 0},
- {"LETTER", NULL, IDS_PAPERSIZE_LETTER, 0},
- {"LEGAL", NULL, IDS_PAPERSIZE_LEGAL, 0},
- {"EXECUTIVE", NULL, IDS_PAPERSIZE_EXECUTIVE, 0},
- {"A4", NULL, IDS_PAPERSIZE_A4, 0},
- {"B5", NULL, IDS_PAPERSIZE_B5, 0},
- {"Mono", NULL, IDS_COLORMODE_MONO, 0},
- {"Color", TEXT("COMPSTUI.DLL"), IDS_CPSUI_COLOR_APPERANCE, 0},
- {"24bpp", NULL, IDS_COLORMODE_24BPP, 0},
- {"8bpp", NULL, IDS_COLORMODE_8BPP, 0},
- {"HT_PATSIZE_AUTO", NULL, IDS_HALFTONE_AUTO, 0},
- {"HT_PATSIZE_SUPERCELL_M", NULL, IDS_HALFTONE_SUPERCELL_M, 0},
- {"HT_PATSIZE_6x6_M", NULL, IDS_HALFTONE_6x6_M, 0},
- {"HT_PATSIZE_8x8_M", NULL, IDS_HALFTONE_8x8_M, 0},
- {"Option1", NULL, IDS_OUTBIN_DEFAULT, 0},
- {"Option14", NULL, IDS_OUTBIN_STACKER, 0},
- {"EnvTray", NULL, IDS_UIREP_ENVTRAY, 0},
- {"Automatic", NULL, IDS_TTDL_DEFAULT, 0},
- {"Outline", NULL, IDS_TTDL_TYPE1, 0},
- {"Bitmap", NULL, IDS_TTDL_TYPE3, 0},
- {"NativeTrueType", NULL, IDS_TTDL_TYPE42, 0},
- {"16384KB", NULL, IDS_MEMORY_STD, 0},
- {"32768KB", NULL, IDS_MEMORY_UPGRADE, 0}
-};
-
-//
-// Number of elements in the option map table.
-//
-static const NUM_OPTION_MAP = (sizeof(gkmOptionMap)/sizeof(gkmOptionMap[0]));
-
-//
-// Fall-back mapping for any feature or option that doesn't
-// have a pre-defined display name.
-//
-KEYWORDMAP gDefaultMapping = {"", NULL, IDS_MISSINGNAME, OEMCUIP_DOCPROP};
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COption::Acquire
-//
-// Synopsis:
-// Load the option information as described in the mapping.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT
-COption::Acquire(
- HANDLE hHeap,
- PCKEYWORDMAP pMapping
- )
-{
- m_pMapping = pMapping;
- m_hHeap = hHeap;
-
- return GetDisplayNameFromMapping(hHeap, m_pMapping, &m_pszDisplayName);
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CFeaturePairs::ClearPair(
-//
-// Synopsis:
-// Remove a feature-option pair entry from the set of feature / option
-// pairs.
-//
-//
-//----------------------------------------------------------------------------
-VOID
-CFeaturePairs::ClearPair(
- size_t iIndex
- // Index of the feature-option pair to be removed.
- )
-{
- if (m_pData[iIndex].pszFeature)
- {
- free((VOID*)m_pData[iIndex].pszFeature);
- m_pData[iIndex].pszFeature = NULL;
- }
-
- if (m_pData[iIndex].pszOption)
- {
- free((VOID*)m_pData[iIndex].pszOption);
- m_pData[iIndex].pszOption = NULL;
- }
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CFeaturePairs Constructor
-//
-// Synopsis:
-// Create a feature-pairs object containing cElements entries, and
-// initialize them all to NULL.
-//
-//
-//----------------------------------------------------------------------------
-CFeaturePairs::CFeaturePairs(
- size_t cElements
- // number of elements to remove.
- )
-{
- m_pData = NULL;
- size_t cbFeatureOptions = 0;
- m_cElements = 0;
-
- if (SUCCEEDED(SizeTMult(cElements, sizeof(PRINT_FEATURE_OPTION), &cbFeatureOptions)))
- {
- m_pData = new PRINT_FEATURE_OPTION[cElements];
-
- if (m_pData)
- {
- m_cElements = cElements;
- memset(m_pData, 0, cbFeatureOptions);
- }
- }
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CFeaturePairs destructor
-//
-// Synopsis:
-// Release any memory used by this object
-//
-//
-//----------------------------------------------------------------------------
-CFeaturePairs::~CFeaturePairs()
-{
- if (m_pData)
- {
- for (size_t iPair = 0; iPair < m_cElements; iPair++)
- {
- ClearPair(iPair);
- }
-
- delete m_pData;
- }
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CFeaturePairs::SetPair
-//
-// Synopsis:
-// Set the pair at the specified index to the specified value. Each
-// pair represents a feature and a currently selected option for that
-// feature.
-//
-// Returns:
-// S_OK
-// E_OUTOFMEMORY
-// E_INVALIDARG if the index is out of of bounds.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT
-CFeaturePairs::SetPair(
- size_t iIndex,
- // Index of the entry to set.
- PCSTR pcszFeature,
- // The name of the feature. This doesn't
- // hold a pointer to the string passed in.
- PCSTR pcszOption
- // The name of the option. This doesn't
- // hold a pointer to the string passed in.
- )
-{
-
- if (iIndex > m_cElements || !pcszFeature || !pcszOption)
- {
- return E_INVALIDARG;
- }
-
- //
- // Deferred error result from failed constructor...
- //
- if (!m_pData)
- {
- return E_OUTOFMEMORY;
- }
-
- //
- // Configure the data elements
- //
- m_pData[iIndex].pszFeature = new CHAR[strlen(pcszFeature)+1];
- m_pData[iIndex].pszOption = new CHAR[strlen(pcszOption)+1];
-
- if (m_pData[iIndex].pszFeature && m_pData[iIndex].pszOption)
- {
- memcpy((PSTR)m_pData[iIndex].pszFeature, pcszFeature, (strlen(pcszFeature)+1));
- memcpy((PSTR)m_pData[iIndex].pszOption, pcszOption, (strlen(pcszOption)+1));
- return S_OK;
- }
- else
- {
- return E_OUTOFMEMORY;
- }
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CFeature::Clear
-//
-// Synopsis:
-// Reset the option collection information to it's state before otions
-// were acquired.
-//
-//
-//----------------------------------------------------------------------------
-
-VOID
-CFeature::Clear()
-{
- if (m_pOptions != NULL)
- {
- delete [] m_pOptions;
- m_pOptions = NULL;
- }
-
- if (m_pszDisplayName != NULL && !IS_INTRESOURCE(m_pszDisplayName))
- {
- HeapFree(m_hHeap, 0, m_pszDisplayName);
- }
-
- m_dwOptions = 0;
- m_Sel = 0;
- m_pszFeature = NULL;
- m_hHeap = NULL;
- m_pOptions = NULL;
- m_pMapping = &gDefaultMapping;
- m_pszDisplayName = NULL;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CFeature (constructor)
-//
-// Synopsis:
-// Initialize the option collection to a default state. Does
-// not acquire the options from the GPD / helper.
-//
-//
-//----------------------------------------------------------------------------
-CFeature::CFeature() :
- m_dwOptions(0),
- m_Sel(0),
- m_pszFeature(NULL),
- m_hHeap(NULL),
- m_pOptions(NULL),
- m_pMapping(&gDefaultMapping),
- m_pszDisplayName(NULL)
-{
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CFeature (destructor)
-//
-// Synopsis:
-// Clean up any memory we're holding.
-//
-//
-//----------------------------------------------------------------------------
-CFeature::~CFeature()
-{
- Clear();
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CFeature::Acquire
-//
-// Synopsis:
-// Populate the options in the collection using the
-// supplied helper to acquire options for the specified
-// feature.
-//
-// Returns:
-// S_OK on success, else E_*
-//
-//
-//----------------------------------------------------------------------------
-HRESULT
-CFeature::Acquire(
- _In_ HANDLE hHeap,
- // The heap to make allocations from
- _In_ IPrintCoreHelper* pHelper,
- // Pointer to the Unidrv supplied helper object
- _In_ PCSTR pszFeature
- // The name of the feature to read settings for.
- )
-{
- VERBOSE(DLLTEXT("CFeature::Acquire entry."));
-
- HRESULT hrResult = S_OK;
- PCSTR *ppszOptions = NULL;
-
- //
- // Don't retreive the Options again if we already got them.
- //
- if ((m_dwOptions > 0) &&
- (m_pszFeature != NULL) &&
- !lstrcmpA(m_pszFeature, pszFeature))
- {
- WARNING(DLLTEXT("CFeature::Acquire: Already have options for feature %hs. Returning S_OK.\r\n"), m_pszFeature);
- return S_OK;
- }
-
- //
- // Save the heap handle for use later, such as freeing memory at destruction.
- //
- m_hHeap = hHeap;
-
- //
- // Store Keyword string.
- //
- m_pszFeature = pszFeature;
-
- //
- // Get or build a keyword mapping entry that
- // maps from keyword to info such as display name &
- // whether the feature is a device setting or document
- // setting.
- //
- m_pMapping = GetKeywordMapping(gkmFeatureMap, NUM_FEATURE_MAP, pszFeature);
-
- //
- // Get the display name for this feature
- //
- hrResult = GetDisplayNameFromMapping(hHeap, m_pMapping, &m_pszDisplayName);
-
- if (!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("CFeature::Acquire: Failed to get display name for feature %hs with error code 0x%x!\r\n"),
- pszFeature,
- hrResult);
- goto Exit;
- }
-
- //
- // Enumerate Options.
- //
- hrResult = pHelper->EnumOptions(m_pszFeature,
- &ppszOptions,
- &m_dwOptions
- );
-
- //
- // Make sure we got the option list.
- // Can't do anything more with out it.
- //
- if (!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("CFeature::Acquire: Failed to enumerate options for feature %hs. (hrResult = 0x%x)\r\n"), m_pszFeature, hrResult);
- goto Exit;
- }
-
- //
- // Build COption
- //
- m_pOptions = new COption[m_dwOptions];
-
- if (m_pOptions == NULL)
- {
- ERR(ERRORTEXT("COption::Acquire: Failed to allocate memory for option info array!\r\n"));
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- //
- // For each option, build and/or get useful info like display name etc.
- //
- for (DWORD dwIndex = 0; dwIndex < m_dwOptions; dwIndex++)
- {
- PCKEYWORDMAP pMapping =
- GetKeywordMapping(gkmOptionMap, NUM_OPTION_MAP, ppszOptions[dwIndex]);
-
- //
- // Get or build a keyword mapping entry that
- // maps from keyword to info such as display name,
- // icon, option type etc. which we can't get from
- // the helper interface
- //
- hrResult = m_pOptions[dwIndex].Acquire(m_hHeap,
- pMapping);
-
- if (!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("CFeature::Acquire: Failed to load information for option %hs of feature %hs with error code 0x%x!\r\n"),
- ppszOptions[dwIndex],
- m_pszFeature,
- hrResult);
- goto Exit;
- }
- }
-
- //
- // Get current option selection.
- //
- if(SUCCEEDED(hrResult) && m_dwOptions > 0)
- {
- hrResult = RefreshSelection(pHelper);
- }
-
-Exit:
-
- //
- // Cleanup if weren't successful
- //
- if (!SUCCEEDED(hrResult))
- {
- Clear();
- }
-
- return hrResult;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CFeature::GetOption
-//
-// Synopsis:
-// Get a reference to the description of the option at the specified index.
-//
-// Returns:
-// A pointer to the requested option if available, otherwise NULL.
-//
-//
-//----------------------------------------------------------------------------
-CONST COption *
-CFeature::GetOption(
- DWORD dwIndex
- // Index of the option for which the display name is requested.
- ) const
-{
- VERBOSE(DLLTEXT("CFeature::GetOption entry."));
-
- if ((dwIndex >= m_dwOptions) || (m_pOptions == NULL))
- {
- ERR(ERRORTEXT("CFeature::GetOption: Invalid parameters!\r\n"));
- return NULL;
- }
-
- return &(m_pOptions[dwIndex]);
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CFeature::FindOption
-//
-// Synopsis:
-// Find the index of the option with the specified keyword. If no such
-// option exists, this routine returns the specified result instead.
-//
-//
-//----------------------------------------------------------------------------
-_Success_(return != FALSE) BOOL
-CFeature::FindOption(
- _In_ PCSTR pszOption,
- // The name of the option to look for
- _Out_ DWORD *pdwOption
- // The index of the default option to use if the name isn't found
- ) const
-{
- VERBOSE(DLLTEXT("CFeature::FindOption entry."));
-
- BOOL bFound = FALSE;
-
- //
- // Validate parameters
- //
- if (pszOption == NULL ||
- pdwOption == NULL)
- {
- return FALSE;
- }
-
- //
- // Walk the option keyword looking for a match.
- //
- for(DWORD dwIndex = 0; !bFound && (dwIndex < m_dwOptions); dwIndex++)
- {
- bFound = !lstrcmpA(pszOption, m_pOptions[dwIndex].GetKeyword());
-
- if(bFound)
- {
- *pdwOption = dwIndex;
- }
- }
-
- return bFound;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CFeature::InitOptItem
-//
-// Synopsis:
-// Configure the provided OPTITEM with the options in this collection.
-//
-// Returns:
-//
-// Notes:
-//
-//
-//----------------------------------------------------------------------------
-HRESULT
-CFeature::InitOptItem(
- _In_ HANDLE hHeap,
- // The heap to allocate memory from.
- _Inout_ POPTITEM pOptItem
- // The optitem struct being initialized.
- )
-{
- VERBOSE(DLLTEXT("CFeature::InitOptItem entry."));
-
- HRESULT hrResult = S_OK;
-
- //
- // Add feature OPTITEM data to OPTITEM to facilitate saving
- // selection changes
- //
- PFEATUREOPTITEMDATA pData =
- (PFEATUREOPTITEMDATA)HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(FEATUREOPTITEMDATA));
-
- if (pData == NULL)
- {
- ERR(ERRORTEXT("CFeatureCollection::InitOptItem: Failed to allocated memory for feature OPTITEM data."));
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- //
- // Configure the callback data structure
- //
- pData->dwSize = sizeof(FEATUREOPTITEMDATA);
- pData->dwTag = FEATURE_OPTITEM_TAG;
- pData->pszFeatureKeyword = this->GetKeyword();
- pData->pFeature = this;
-
- //
- // Configure the optitem
- //
- pOptItem->UserData = (ULONG_PTR)pData;
- pOptItem->pName = const_cast<PWSTR>(this->GetDisplayName());
- pOptItem->Sel = m_Sel;
-
- //
- // If there's only 1 option, mark the feature as disabled.
- //
- if (GetCount() > 1)
- {
- pOptItem->Flags = 0;
- }
- else
- {
- pOptItem->Flags |= OPTIF_DISABLED;
- }
-
- //
- // Only create options if there are options defined
- // for this feature.
- //
- if (GetCount() > 0)
- {
- //
- // Allocate memory for feature options.
- //
- pOptItem->pOptType = CreateOptType(hHeap, (WORD)GetCount());
-
- if (pOptItem->pOptType == NULL)
- {
- ERR(ERRORTEXT("CFeature::InitOptItem: Failed to allocate OPTTYPEs for OPTITEM %hs!\r\n"),
- this->GetKeyword());
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- //
- // Set OPTTYPE type & display string for each OPTPARAM in the ot
- //
- pOptItem->pOptType->Type = TVOT_COMBOBOX;
-
- for (DWORD dwIndex = 0; dwIndex < GetCount(); dwIndex++)
- {
- pOptItem->pOptType->pOptParam[dwIndex].pData = const_cast<PWSTR>(this->GetOption(dwIndex)->GetDisplayName());
- }
- }
-
-Exit:
-
- return hrResult;
-
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CFeature::RefreshSelection
-//
-// Synopsis:
-// Synchronize the currently selected option with the option
-// that Unidrvui recognizes as being selected.
-//
-// Returns:
-// S_OK on success, else E_*
-//
-//
-//----------------------------------------------------------------------------
-HRESULT
-CFeature::RefreshSelection(
- _In_ IPrintCoreHelper *pHelper
- // Pointer to the Unidrv supplied helper object
- )
-{
- VERBOSE(DLLTEXT("CFeature::RefreshSelection entry."));
-
- PCSTR pszSel = NULL;
- HRESULT hrResult = S_OK;
-
- //
- // Get current option selection.
- //
- hrResult = pHelper->GetOption(NULL, 0, m_pszFeature, &pszSel);
-
- if(SUCCEEDED(hrResult))
- {
- if (!FindOption(pszSel, &m_Sel))
- {
- //
- // The option name should always match something in the option
- // array. If for some reason that's not the case, default
- // back to option 0.
- //
- WARNING(ERRORTEXT("CFeature::RefreshSelection: Failed to find selected option!\r\n"));
- m_Sel = 0;
- }
- }
- else if(hrResult == E_FAIL)
- {
- //
- // GetOption fails with E_FAIL when trying to read document-
- // sticky options if the printer preferences is being shown.
- // Hide the error & default the selection. The feature won't
- // be shown in the UI.
- //
- m_Sel = 0;
- hrResult = S_OK;
- }
-
- return hrResult;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CFeatureCollection::Clear
-//
-// Synopsis:
-// Release any memory associated with this feature collection and reset
-// values to defaults.
-//
-//
-//----------------------------------------------------------------------------
-VOID
-CFeatureCollection::Clear()
-{
- //
- // feature info array allocated with new so
- // that each of the constructors for CFeature
- // will be called.
- //
- if (m_pFeatures)
- {
- delete [] m_pFeatures;
- }
-
- //
- // Re-initialize
- //
- m_dwFeatures = 0;
- m_dwDocFeatures = 0;
- m_dwPrintFeatures = 0;
- m_hHeap = NULL;
- m_pFeatures = NULL;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CFeatureCollection::GetModelessIndex
-//
-// Synopsis:
-// Get the absolute index of the feature, assuming the index provided is
-// for the specified mode. This if there are three features,
-//
-// DocFeature1
-// DocFeature2
-// PrinterFeature1
-//
-// If this routine is called with index 0, and mode OEMCUIP_PRNPROP,
-// it will return the absolute index of the first printer-sticky feature,
-// which in this case would be 2 (remember, the first index is 0).
-//
-//
-//----------------------------------------------------------------------------
-DWORD
-CFeatureCollection::GetModelessIndex(
- DWORD dwIndex,
- // The index relative to the specified mode.
- DWORD dwMode
- // The mode for which the index applies. See synopsis above for
- // a more detailed explanation of mode.
- ) const
-{
- DWORD dwCount = 0;
-
- switch(dwMode)
- {
- //
- // Number of features, all modes
- //
- case 0:
- dwCount = dwIndex;
- break;
-
- case OEMCUIP_DOCPROP:
- case OEMCUIP_PRNPROP:
- //
- // Walk the feature list looking for the nth feature
- // with matching mode
- //
- for (dwCount = 0; dwCount < m_dwFeatures; dwCount++)
- {
- //
- // Count down to the feature we want
- // Only countdown for matching modes
- //
- if (dwMode == m_pFeatures[dwCount].GetMode())
- {
- if (dwIndex == 0)
- {
- break;
- }
- else
- {
- --dwIndex;
- }
- }
- }
- break;
- }
-
- return dwCount;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CFeatureCollection (constructor)
-//
-// Synopsis:
-//
-//
-//----------------------------------------------------------------------------
-CFeatureCollection::CFeatureCollection() :
- m_dwFeatures(0),
- m_dwDocFeatures(0),
- m_dwPrintFeatures(0),
- m_hHeap(NULL),
- m_pFeatures(NULL)
-{
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CFeatureCollection (destructor)
-//
-// Synopsis:
-// Release all resources held by this object
-//
-//
-//----------------------------------------------------------------------------
-CFeatureCollection::~CFeatureCollection()
-{
- //
- // Clean up class.
- //
- Clear();
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CFeatureCollection::Acquire
-//
-// Synopsis:
-// Load all of the features supported by unidrv as well as those specified
-// in the GPD using the provided helper object
-//
-// Returns:
-// S_OK on success else E_*
-//
-//
-//----------------------------------------------------------------------------
-HRESULT
-CFeatureCollection::Acquire(
- HANDLE hHeap,
- // The heap from which any allocations should be made
- IPrintCoreHelper *pHelper
- // The helper object that provides access to the core driver features.
- )
-{
- VERBOSE(DLLTEXT("CFeatureCollection::Acquire entry."));
-
- HRESULT hrResult = S_OK;
-
- PCSTR *ppszKeywords = NULL;
- // String list that points to each feature keyword
-
- //
- // Don't retreive the Features again if we already got them.
- //
- if (m_dwFeatures > 0)
- {
- WARNING(DLLTEXT("CFeatureCollection::Acquire: Features have already been enumerated. Returning S_OK.\r\n"));
- return S_OK;
- }
-
- // Save the heap handle for use later, such as freeing memory at destruction.
- m_hHeap = hHeap;
-
- // Enumerate features.
- hrResult = pHelper->EnumFeatures(&ppszKeywords, &m_dwFeatures);
-
- if (FAILED(hrResult))
- {
- ERR(ERRORTEXT("CFeatureCollection::Acquire() failed to enumerate features. (hrResult = 0x%x)\r\n"), hrResult);
- }
- else
- {
- //
- // Build Feature information
- //
- m_pFeatures = new CFeature[m_dwFeatures];
-
- if (m_pFeatures == NULL)
- {
- ERR(ERRORTEXT("CFeatureCollection::Acquire: Failed to allocate feature info array!\r\n"));
- hrResult = E_OUTOFMEMORY;
- }
-
- //
- // For each feature, build/get feature info
- //
- for (DWORD dwIndex = 0; SUCCEEDED(hrResult) && dwIndex < m_dwFeatures ; dwIndex++)
- {
- //
- // Get options for each feature
- // Note: Some features don't have options, the HRESULT will be E_NOTIMPL for these
- //
- hrResult = m_pFeatures[dwIndex].Acquire(hHeap,
- pHelper,
- ppszKeywords[dwIndex]);
-
- if (!SUCCEEDED(hrResult) && (hrResult != E_NOTIMPL))
- {
- ERR(ERRORTEXT("CFeatureCollection::Acquire: Failed to get options for feature %hs with error code 0x%x!\r\n"),
- ppszKeywords[dwIndex],
- hrResult);
- }
-
- //
- // Keep track of mode counts
- //
- if (SUCCEEDED(hrResult))
- {
- switch(m_pFeatures[dwIndex].GetMode())
- {
- case OEMCUIP_DOCPROP:
- ++m_dwDocFeatures;
- break;
-
- case OEMCUIP_PRNPROP:
- ++m_dwPrintFeatures;
- break;
-
- default:
- ERR(ERRORTEXT("CFeatureCollection::Acquire: Unknown stickiness for feature %hs!\r\n"),
- ppszKeywords[dwIndex]);
- break;
- }
- }
- }
- }
-
- //
- // Clean up if we weren't successful
- //
- if (FAILED(hrResult))
- {
- Clear();
- }
-
- return hrResult;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CFeatureCollection::GetCount
-//
-// Synopsis:
-// Get the number of features in the collection.
-//
-//
-//----------------------------------------------------------------------------
-DWORD
-CFeatureCollection::GetCount(
- DWORD dwMode
- // Should this routine count the doc-sticky features, printer sticky
- // features, or both?
- ) CONST
-{
- DWORD dwCount = 0;
-
- switch(dwMode)
- {
- case 0:
- dwCount = m_dwFeatures;
- break;
-
- case OEMCUIP_DOCPROP:
- dwCount = m_dwDocFeatures;
- break;
-
- case OEMCUIP_PRNPROP:
- dwCount = m_dwPrintFeatures;
- break;
- }
-
- return dwCount;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CFeatureCollection::GetFeature
-//
-// Synopsis:
-// Get the options for the feature at the specified index.
-//
-//
-//----------------------------------------------------------------------------
-CFeature*
-CFeatureCollection::GetFeature(
- DWORD dwIndex,
- // The index of the feature to look up.
- DWORD dwMode
- // The mode associated with the feature index.
- ) const
-{
- //
- // Validate parameters
- //
- if ((dwIndex >= GetCount(dwMode)) || (m_pFeatures == NULL))
- {
- return NULL;
- }
-
- //
- // Get internal index
- //
- dwIndex = GetModelessIndex(dwIndex, dwMode);
-
- //
- // Return options pointer
- //
- return &(m_pFeatures[dwIndex]);
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::GetDisplayNameFromMapping
-//
-// Synopsis:
-// Load the string resource associated with the specified mapping entry.
-//
-// Returns:
-// S_OK on success, else E_*
-//
-//
-//----------------------------------------------------------------------------
-HRESULT
-GetDisplayNameFromMapping(
- _In_ HANDLE hHeap,
- // The heap to perform allocations from
- _In_ PCKEYWORDMAP pMapping,
- // The mapping element for the element. Could be a feature or option.
- _Out_ PWSTR *ppszDisplayName
- // The location where this routine supplies the display name to the
- // caller.
- )
-{
- HMODULE hModule = NULL;
- HRESULT hrResult = S_OK;
-
- VERBOSE(DLLTEXT("GetDisplayNameFromMapping entry."));
-
- if ((hHeap == NULL) || (pMapping == NULL) || (ppszDisplayName == NULL))
- {
- return E_INVALIDARG;
- }
-
- //
- // Check for simple case of returning INT resource
- //
- if (pMapping->pwszModule == NULL)
- {
- //
- // Just need to do MAKEINTRESOURCE on the resource ID and return
- //
- *ppszDisplayName = MAKEINTRESOURCE(pMapping->uDisplayNameID);
- }
- else
- {
- //
- // We need to get the module name if we aren't loading the
- // resource from this module (pwszModule != NULL). As an
- // optimization, we assume that the module has already been loaded,
- // since the only cases currently are this module, driver ui and compstui.dll.
- //
- hModule = GetModuleHandle(pMapping->pwszModule);
-
- if (hModule == NULL)
- {
- DWORD dwError = GetLastError();
-
- ERR(ERRORTEXT("GetDisplayNameFromMapping: Failed to load module %s with error code %d!\r\n"),
- pMapping->pwszModule,
- dwError);
-
- hrResult = HRESULT_FROM_WIN32(dwError);
-
- //
- // In case last error wasn't set correctly, force it to an error value.
- //
- if (SUCCEEDED(hrResult))
- {
- hrResult = E_FAIL;
- }
- }
-
- //
- // Get the string resource
- //
- if (SUCCEEDED(hrResult))
- {
- hrResult = GetStringResource(hHeap, hModule, pMapping->uDisplayNameID, ppszDisplayName);
- if (FAILED(hrResult))
- {
- ERR(ERRORTEXT("GetDisplayNameFromMapping: Failed to load string with error code 0x%x!\r\n"), hrResult);
- }
- }
- }
-
- return hrResult;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::GetKeywordMapping
-//
-// Synopsis:
-// Find the mapping in the provided table associated with the specified
-// keyword. This routine can be used to look up both feature & option
-// mappings.
-//
-// Returns:
-// The requested mapping on success, otherwise NULL.
-//
-//
-//----------------------------------------------------------------------------
-PCKEYWORDMAP
-GetKeywordMapping(
- _In_reads_(dwMapSize) PCKEYWORDMAP pKeywordMap,
- // The mapping table to search in
- DWORD dwMapSize,
- // Number of elements in the mapping table.
- PCSTR pszKeyword
- // Keyword to look for in the table.
- )
-{
- BOOL bFound = FALSE;
- PCKEYWORDMAP pMapping = &gDefaultMapping;
-
- if ((pKeywordMap != NULL) && (pszKeyword != NULL))
- {
- //
- // Walk mapping array for matching keyword
- //
- for (DWORD dwIndex = 0; !bFound && (dwIndex < dwMapSize); dwIndex++)
- {
- bFound = !lstrcmpA(pszKeyword, pKeywordMap[dwIndex].pszKeyword);
-
- if (bFound)
- {
- pMapping = pKeywordMap + dwIndex;
- }
- }
- }
-
- return pMapping;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::IsFeatureOptItem
-//
-// Synopsis:
-// Test if an OPTITEM is an OPTITEM for a feature.
-//
-// Returns:
-// TRUE if the OPTITEM represents a feature, else FALSE.
-//
-//
-//----------------------------------------------------------------------------
-BOOL
-IsFeatureOptItem(
- POPTITEM pOptItem
- // The otitem to check
- )
-{
- BOOL bRet = FALSE;
- PFEATUREOPTITEMDATA pData = NULL;
-
-
- // Make sure pointers are NULL.
- if( (NULL == pOptItem)
- ||
- (NULL == pOptItem->UserData)
- )
- {
- //
- // INVARIANT: can't be feature OPTITEM, since one of
- // the necessary pointer are NULL.
- //
-
- return FALSE;
- }
-
- // For convienience, assign to pointer to feature OPTITEM data.
- pData = (PFEATUREOPTITEMDATA)(pOptItem->UserData);
-
- // Check size and tag.
- bRet = (sizeof(FEATUREOPTITEMDATA) == pData->dwSize)
- &&
- (FEATURE_OPTITEM_TAG == pData->dwTag);
-
- return bRet;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::SaveFeatureOptItems
-//
-// Synopsis:
-// Walks array of OPTITEMs saving each feature OPTITEM
-// that has changed.
-//
-// Returns:
-// S_OK on success, else E_*
-//
-//
-//----------------------------------------------------------------------------
-HRESULT
-SaveFeatureOptItems(
- HANDLE hHeap,
- // The heap to perform allocations from
- IPrintCoreHelper* pHelper,
- // Pointer to the Unidrv supplied helper object
- HWND hWnd,
- // The current window object. Used as the parent of any model dialogs /
- // message boxes displayed from this routine.
- _In_reads_(dwItems) POPTITEM pOptItem,
- // The option items to save
- DWORD dwItems
- // The number of optitems in the array
- )
-{
- VERBOSE(DLLTEXT("SaveFeatureOptItems entry."));
-
- DWORD dwPairsWritten = 0;
- DWORD dwResult = 0;
- HRESULT hrResult = S_OK;
- CFeaturePairs *pPairs = NULL;
-
- //
- // Validate parameters
- //
- if (!(hHeap && pHelper && pOptItem))
- {
- ERR(ERRORTEXT("SaveFeatureOptItems: Invalid arguments!\r\n"));
- return E_INVALIDARG;
- }
-
- //
- // Get feature option pairs to save
- //
- hrResult = GetChangedFeatureOptions(pOptItem, dwItems, &pPairs);
-
- if(FAILED(hrResult))
- {
- ERR(ERRORTEXT("SaveFeatureOptItems: Failed to get changed feature option pairs! (error code 0x%x)\r\n"),
- hrResult);
- }
-
- //
- // Only update options if something changed.
- //
- if (SUCCEEDED(hrResult) &&
- pPairs &&
- pPairs->GetElementCount() > 0)
- {
-
- //
- // Set the change feature options.
- // For the first SetOptions() call, don't have the
- // core driver UI resolve conflicts, so we can
- // prompt user for automatic resolution or let
- // them do the conflict resolving.
- //
- hrResult = pHelper->SetOptions(NULL,
- 0,
- FALSE,
- pPairs->GetData(),
- (DWORD)pPairs->GetElementCount(),
- &dwPairsWritten,
- &dwResult);
-
- if(FAILED(hrResult))
- {
- ERR(ERRORTEXT("SaveFeatureOptItems: SetOptions failed with dwResult = %d! (hrResult = 0x%x)\r\n"),
- dwResult,
- hrResult);
- }
- else if(SETOPTIONS_RESULT_CONFLICT_REMAINED == dwResult)
- {
- //
- // SetOptions succeeded, but there was a conflict in the selected
- // options that was not resolved. Ask the user if they'd like the
- // plug-in to resolve the conflict for them.
- //
- int nRet;
- CONST PRINT_FEATURE_OPTION *pConflicts;
- DWORD dwConflicts;
- PWSTR pszMessage = NULL;
-
- hrResult = GetStringResource(hHeap, ghInstance, IDS_CONSTRAINT_CONFLICT, &pszMessage);
- if(FAILED(hrResult))
- {
- ERR(ERRORTEXT("SaveFeatureOptItems: Failed to load conflict resource string (error code 0x%x)\r\n"),
- hrResult);
- }
-
- //
- // INVARIANT: constraint conflict, options weren't saved.
- //
- // Get list of all features that have conflict.
- //
- if (SUCCEEDED(hrResult))
- {
- hrResult = GetFirstConflictingFeature(pHelper,
- pOptItem,
- dwItems,
- &pConflicts,
- &dwConflicts);
-
- if (SUCCEEDED(hrResult) && dwConflicts == 0)
- {
- hrResult = E_FAIL;
- ERR(ERRORTEXT("SaveFeatureOptItems: Driver indicated conflict, but didn't provide conflicting options!\r\n"));
- }
-
- if(FAILED(hrResult))
- {
- ERR(ERRORTEXT("GetFirstConflictingFeature failed!"));
- }
- }
-
- if (SUCCEEDED(hrResult))
- {
- //
- // Display simple message box with prompt
- //
- nRet = MessageBox(hWnd,
- pszMessage,
- L"UI Replacement Test",
- MB_YESNO | MB_ICONWARNING);
-
- //
- // Check to see how user wants to resolve conflict
- //
- if(nRet == IDYES)
- {
- //
- // Let core driver resolve conflict resolution
- //
- hrResult = pHelper->SetOptions(NULL,
- 0,
- TRUE,
- pPairs->GetData(),
- (DWORD)pPairs->GetElementCount(),
- &dwPairsWritten,
- &dwResult);
-
- //
- // Conflict resolution requires refreshing current option
- // selection for each feature, since selection may have
- // changed because of conflict resolution.
- //
- if (SUCCEEDED(hrResult))
- {
- RefreshOptItemSelection(pHelper, pOptItem, dwItems);
- }
- }
-
- //
- // Return failure if there are still conflicts
- //
- if(dwResult == SETOPTIONS_RESULT_CONFLICT_REMAINED)
- {
- ERR(ERRORTEXT("SaveFeatureOptItems: Conflicts still exist even after calling core driver to resolve them!"));
- hrResult = E_FAIL;
- }
- }
-
- if(pszMessage != NULL)
- {
- HeapFree(hHeap, 0, pszMessage);
- }
- }
- }
-
- //
- // Clean up
- //
-
- if (pPairs)
- {
- delete pPairs;
- }
-
- return hrResult;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// GetChangedFeatureOptions
-//
-// Synopsis:
-// Creates a collection of all of the features that have changed in the
-// provided collection of OPTITEMs
-//
-// Returns:
-// S_OK on success, else E_*.
-//
-// Notes:
-// if no settings have been changed, the routine may return S_OK
-// and *ppPairs == NULL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT
-GetChangedFeatureOptions(
- _In_reads_(dwItems) POPTITEM pOptItem,
- // The array of optitems to search through
- DWORD dwItems,
- // The number of optitems in the provided array
- _Outptr_result_maybenull_ CFeaturePairs **ppPairs
- // feature / option keyword pairs describing the options that
- // have changed.
- )
-{
- VERBOSE(DLLTEXT("GetChangedFeatureOptions entry."));
-
- DWORD dwCount = 0;
- DWORD dwChanged = 0;
- HRESULT hrResult = S_OK;
- CFeaturePairs *pPairs;
-
- *ppPairs = NULL;
-
- //
- // Walk OPTITEM array looking or changed options,
- // and calculating size needed for multi-sz buffer.
- //
- for (dwCount = 0; dwCount < dwItems; dwCount++)
- {
- //
- // Just go to next item if this OPTITEM hasn't
- // changed or isn't a feature OPTITEM
- //
- if ((OPTIF_CHANGEONCE & pOptItem[dwCount].Flags) &&
- IsFeatureOptItem(&(pOptItem[dwCount]))
- )
- {
- ++dwChanged;
- }
- }
-
- //
- // Don't need to do anything more if no feature options changed.
- //
- if(dwChanged != 0)
- {
- pPairs = new CFeaturePairs(dwChanged);
-
- if (pPairs == NULL ||
- pPairs->GetElementCount() == 0
- )
- {
- ERR(ERRORTEXT("GetChangedFeatureOptions: Failed to allocate feature-option array!\r\n"));
- hrResult = E_OUTOFMEMORY;
-
- if ( pPairs )
- {
- delete pPairs;
- pPairs = NULL;
- }
-
- }
-
- //
- // Build array of feature option pairs that changed
- //
- for (dwCount = 0;
- SUCCEEDED(hrResult) && (dwCount < dwItems) && dwChanged;
- dwCount++)
- {
- //
- // Just go to next item if this OPTITEM hasn't
- // changed or isn't a feature OPTITEM
- //
- if((OPTIF_CHANGEONCE & pOptItem[dwCount].Flags) &&
- IsFeatureOptItem(&(pOptItem[dwCount]))
- )
- {
- //
- // For convienience, assign to pointer to feature OPTITEM data
- //
- PFEATUREOPTITEMDATA pData = (PFEATUREOPTITEMDATA)(pOptItem[dwCount].UserData);
-
- //
- // Add feature option pair
- //
- PCSTR pszOption = GetOptionKeywordFromOptItem(&pOptItem[dwCount]);
-
- if (pszOption != NULL)
- {
- --dwChanged;
- hrResult = pPairs->SetPair(dwChanged, pData->pszFeatureKeyword, pszOption);
- }
- }
- }
-
- if(SUCCEEDED(hrResult))
- {
- *ppPairs = pPairs;
- }
- else if (pPairs)
- {
- delete pPairs;
- }
- }
-
- return hrResult;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::GetOptionKeywordFromOptItem
-//
-// Synopsis:
-// Returns pointer to option keyword for a feature OPTITEM
-//
-// Returns:
-// The requested string on success, otherwise NULL
-//
-//
-//----------------------------------------------------------------------------
-PCSTR
-GetOptionKeywordFromOptItem(
- POPTITEM pOptItem
- // The opt item from which the keyword shoudl be read
- )
-{
- VERBOSE(DLLTEXT("GetOptionKeywordFromOptItem entry."));
-
- PCSTR pszOption = NULL;
-
- //
- // Validate parameters
- //
- if(!IsFeatureOptItem(pOptItem))
- {
- ERR(ERRORTEXT("GetOptionKeywordFromOptItem: Invalid parameter!\r\n"));
- }
- else if(pOptItem->pOptType->Type != TVOT_COMBOBOX)
- {
- ERR(ERRORTEXT("GetOptionKeywordFromOptItem: OPTTYPE type %d number of OPTPARAMS not handled!\r\n"),
- pOptItem->pOptType->Type);
- }
- else
- {
- //
- // Option selection is based on type of OPTTYPE
- //
- PFEATUREOPTITEMDATA pData = ((PFEATUREOPTITEMDATA)(pOptItem->UserData));
- CONST COption *pOption = pData->pFeature->GetOption((DWORD)pOptItem->Sel);
-
- if (pOption)
- {
- pszOption = pOption->GetKeyword();
- }
- else
- {
- ERR(ERRORTEXT("GetOptionKeywordFromOptItem: Invalid option index %d!\r\n"), (DWORD)pOptItem->Sel);
- }
- }
-
- return pszOption;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::RefreshOptItemSelection
-//
-// Synopsis:
-// For each feature update the currently selected option with the value
-// that the core driver has selected. This is useful for updating the
-// UI after resolving constraints.
-//
-// Returns:
-// S_OK on success, else E_*
-//
-//
-//----------------------------------------------------------------------------
-HRESULT
-RefreshOptItemSelection(
- IPrintCoreHelper *pHelper,
- // Pointer to the Unidrv supplied helper object
- _In_reads_(dwItems) POPTITEM pOptItems,
- // An array of options to update
- DWORD dwItems
- // The number of options in the provided array
- )
-{
- HRESULT hrResult = S_OK;
- PFEATUREOPTITEMDATA pData = NULL;
-
- //
- // Walk OPTITEM array refreshing feature OPTITEMs
- //
- for (DWORD dwCount = 0; dwCount < dwItems; dwCount++)
- {
- //
- // Just go to next item if this OPTITEM isn't a feature OPTITEM
- //
- if (!IsFeatureOptItem(pOptItems + dwCount))
- {
- continue;
- }
-
- //
- // For convienience, assign to pointer to feature OPTITEM data
- //
- pData = (PFEATUREOPTITEMDATA)(pOptItems[dwCount].UserData);
-
- //
- // Refresh COption selection
- //
- pData->pFeature->RefreshSelection(pHelper);
-
- //
- // Assign COption selection to OPTITEM selection
- //
- pOptItems[dwCount].Sel = pData->pFeature->GetSelection();
- }
-
- return hrResult;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::GetFirstConflictingFeature
-//
-// Synopsis:
-// Finds the first features that it finds to be in conflict with one
-// another and supplies those features in the ppConstraints parameter
-//
-// Returns:
-// S_OK on success, else E_*. Note that this routine can succeed even
-// if no features are in conflict. In that case, *ppConstraints will
-// be NULL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT
-GetFirstConflictingFeature(
- IPrintCoreHelper *pHelper,
- // Pointer to the Unidrv supplied helper object
- _In_reads_(dwItems) POPTITEM pOptItem,
- // The array of options to look for a conflict in
- DWORD dwItems,
- // The number of options in the array
- CONST PRINT_FEATURE_OPTION **ppConstraints,
- // If any constraints are found, supplies pairs of
- // feature / option keywords to the caller indicating
- // which options cannot be used together.
- DWORD *pdwConstraints
- // The number of constrained options
- )
-{
- VERBOSE(DLLTEXT("GetFirstConflictingFeature entry."));
-
- DWORD dwCount = 0;
- HRESULT hrResult = S_OK;
- PCSTR pszOptionKeyword = NULL;
-
- *ppConstraints = NULL;
-
- //
- // Walk OPTITEM array looking for changed options that are in conflict
- //
- for (dwCount = 0; dwCount < dwItems; dwCount++)
- {
- //
- // Just go to next item if this OPTITEM hasn't
- // changed or isn't a feature OPTITEM
- //
- if(!(OPTIF_CHANGEONCE & pOptItem[dwCount].Flags) ||
- !IsFeatureOptItem(&(pOptItem[dwCount]))
- )
- {
- continue;
- }
-
- PFEATUREOPTITEMDATA pData = (PFEATUREOPTITEMDATA)(pOptItem[dwCount].UserData);
-
- //
- // Init conflict record if this feature is in conflict
- //
- pszOptionKeyword = GetOptionKeywordFromOptItem(&pOptItem[dwCount]);
-
- if (pszOptionKeyword != NULL)
- {
- //
- // Get reason for conflict
- //
- hrResult = pHelper->WhyConstrained(NULL,
- 0,
- pData->pszFeatureKeyword,
- pszOptionKeyword,
- ppConstraints,
- pdwConstraints);
-
- if (FAILED(hrResult))
- {
- ERR(ERRORTEXT("GetConflictingFeatures: Failed to get reason for feature %hs option %hs constraint! (hrResult = 0x%x)\r\n"),
- pData->pszFeatureKeyword,
- pszOptionKeyword,
- hrResult);
- break;
- }
-
- if (*pdwConstraints > 0)
- {
- break;
- }
- }
- }
-
- return hrResult;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// CreateOptType
-//
-// Synopsis:
-// Allocates and initializes OptType for OptItem & OPTPARAMs for the
-// options under that struct.
-//
-// Returns:
-// A newly allocated POPTYPE from the specified heap on success, else
-// NULL.
-//
-//
-//----------------------------------------------------------------------------
-POPTTYPE
-CreateOptType(
- HANDLE hHeap,
- // heap to allocate the type from.
- WORD wOptParams
- // The number of options available for this feature.
- )
-{
- VERBOSE(DLLTEXT("CreateOptType entry."));
-
- POPTTYPE pOptType = NULL;
- // out parameter containing the allocated type struct & array of options.
-
- //
- // Allocate memory from the heap for the OPTTYPE; the driver will take
- // care of clean up.
- //
- pOptType = (POPTTYPE) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OPTTYPE));
-
- if(NULL != pOptType)
- {
- // Initialize OPTTYPE.
- pOptType->cbSize = sizeof(OPTTYPE);
- pOptType->Count = wOptParams;
-
- // Allocate memory from the heap for the OPTPARAMs for the OPTTYPE.
- pOptType->pOptParam = (POPTPARAM) HeapAlloc(hHeap,
- HEAP_ZERO_MEMORY,
- wOptParams * sizeof(OPTPARAM));
-
- if(NULL != pOptType->pOptParam)
- {
- // Initialize the OPTPARAMs.
- for(WORD wCount = 0; wCount < wOptParams; wCount++)
- {
- pOptType->pOptParam[wCount].cbSize = sizeof(OPTPARAM);
- }
- }
- else
- {
- // Free allocated memory and return NULL.
- ERR(ERRORTEXT("CreateOptType() failed to allocated memory for OPTPARAMs!\r\n"));
- HeapFree(hHeap, 0, pOptType);
- pOptType = NULL;
- }
- }
- else
- {
- ERR(ERRORTEXT("CreateOptType() failed to allocated memory for OPTTYPE!\r\n"));
- }
-
- return pOptType;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::GetStringResource
-//
-// Synopsis:
-// Load a string from the resource section of hte specied module.
-//
-// Returns:
-// S_OK on failure, else E_*
-//
-//
-//----------------------------------------------------------------------------
-HRESULT
-GetStringResource(
- _In_ HANDLE hHeap,
- // Heap to allocate space for the resource from.
- _In_ HMODULE hModule,
- // Module to load the resource from
- UINT uResource,
- // resource ID
- _Out_ PWSTR *ppszString
- // out pointer to string resource loaded.
- )
-{
- VERBOSE(DLLTEXT("GetStringResource entry."));
-
- HRESULT hr = S_OK;
-
- //
- // Allocate buffer for string resource from heap;
- // let the driver clean it up.
- //
- *ppszString = NULL;
- *ppszString = (PTSTR) HeapAlloc(hHeap,
- HEAP_ZERO_MEMORY,
- MAX_PATH * sizeof(TCHAR));
-
- if(NULL != *ppszString)
- {
- //
- // Load string resource; resize after loading so
- // as not to waste memory.
- //
- INT nResult = LoadString(hModule,
- uResource,
- *ppszString,
- MAX_PATH);
-
- if( nResult > 0)
- {
- PWSTR pszTemp = (PWSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, *ppszString, (nResult + 1) * sizeof(WCHAR));
-
- if (NULL != pszTemp)
- {
- *ppszString = pszTemp;
- }
- else
- {
- //
- // a realloc failure doesn't free the original string, so
- // re-alloc failing in this case is not critical.
- //
- VERBOSE(ERRORTEXT("GetStringResource() HeapReAlloc() of string retrieved failed! (Last Error was %d)\r\n"), GetLastError());
- }
- }
- else
- {
- ERR(ERRORTEXT("LoadString() returned %d! (Last Error was %d)\r\n"), nResult, GetLastError());
- ERR(ERRORTEXT("GetStringResource() failed to load string resource %d!\r\n"), uResource);
- HeapFree(hHeap, 0, *ppszString);
- *ppszString = NULL;
- hr = E_FAIL;
- }
- }
- else
- {
- ERR(ERRORTEXT("GetStringResource() failed to allocate string buffer!\r\n"));
- hr = E_OUTOFMEMORY;
- }
-
- return hr;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/Features.h b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/Features.h
deleted file mode 100644
index adab6eec..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/Features.h
+++ /dev/null
@@ -1,388 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Features.h
-//
-// PURPOSE: Defines wrapper class for WinXP PS Features and Options.
-//
-//--------------------------------------------------------------------------
-
-#pragma once
-
-////////////////////////////////////////////////////////
-// Type Definitions
-////////////////////////////////////////////////////////
-
-//
-// Struct used to map keyword to information
-// such as display name and stickiness.
-//
-typedef struct _tagKeywordMap
-{
- PCSTR pszKeyword;
- PCWSTR pwszModule;
- UINT uDisplayNameID;
- DWORD dwMode;
-
-} KEYWORDMAP, *PKEYWORDMAP;
-
-typedef CONST KEYWORDMAP *PCKEYWORDMAP;
-
-
-////////////////////////////////////////////////////////
-// Class Definitions
-////////////////////////////////////////////////////////
-
-
-//
-// Option Infomation
-//
-class COption
-{
-private:
- PCKEYWORDMAP m_pMapping;
- PWSTR m_pszDisplayName;
- HANDLE m_hHeap;
-
-public:
- COption()
- :
- m_pMapping(NULL),
- m_pszDisplayName(NULL),
- m_hHeap(NULL)
- {
- }
-
- virtual ~COption()
- {
- if (m_hHeap && m_pszDisplayName && !IS_INTRESOURCE(m_pszDisplayName))
- {
- HeapFree(m_hHeap, 0, m_pszDisplayName);
- }
- }
-
- HRESULT
- Acquire(
- HANDLE hHeap,
- PCKEYWORDMAP pMapping
- );
-
- CONST PCWSTR
- GetDisplayName() CONST
- {
- return m_pszDisplayName;
- }
-
- CONST PCSTR
- GetKeyword() CONST
- {
- if (m_pMapping)
- {
- return m_pMapping->pszKeyword;
- }
- else
- {
- return NULL;
- }
- }
-};
-
-
-//
-// Class wrapper and container for Core Driver Feature
-// Options.
-//
-class CFeature
-{
-private:
-
- PCKEYWORDMAP m_pMapping;
-
- PWSTR m_pszDisplayName;
-
- DWORD m_dwOptions;
- // Count of the number of options contained for an instance of the class.
-
- PCSTR m_pszFeature;
- // Pointer to the feature for which the enumerated options belong.
-
- HANDLE m_hHeap;
- // Heap to do allocations from.
-
- COption *m_pOptions;
- // Array of info about each option for a feature
-
- DWORD m_Sel;
- // An optitem selection is indicated either with a pointer or an
- // index. Since combo-boxes use indices, and this custom UI only
- // generates combo boxes, this class always uses an index to
- // indicate the current selection.
-
-public:
-
- CFeature();
-
- virtual ~CFeature();
-
- //
- // Populate Options list for specified keyword.
- //
- HRESULT
- Acquire(
- _In_ HANDLE hHeap,
- _In_ IPrintCoreHelper* pHelper,
- _In_ PCSTR pszFeature
- );
-
- //
- // Returns number of feature options contained in class instance.
- //
- DWORD
- GetCount() const {return m_dwOptions;}
-
- //
- // Return nth option.
- //
- CONST COption *
- GetOption(
- DWORD dwIndex
- ) const;
-
-
- //
- // Get the currently selected option index.
- //
- LONG
- GetSelection()
- {
- return m_Sel;
- }
-
- //
- // Find option with matching keyword string.
- //
- _Success_(return != FALSE) BOOL
- FindOption(
- _In_ PCSTR pszOption,
- _Out_ DWORD *pdwOption
- ) const;
-
- //
- // Initializes options portion of OPTITEM.
- //
- HRESULT
- InitOptItem(
- _In_ HANDLE hHeap,
- _Inout_ POPTITEM pOptItem
- );
-
- //
- // Refresh option selection.
- //
- HRESULT
- RefreshSelection(
- _In_ IPrintCoreHelper* pHelper
- );
-
- CONST PCWSTR
- GetDisplayName()
- {
- return m_pszDisplayName;
- }
-
- CONST PCSTR
- GetKeyword()
- {
- return m_pszFeature;
- }
-
- DWORD
- GetMode()
- {
- return m_pMapping->dwMode;
- }
-
-private:
-
- VOID
- Clear();
-};
-
-
-//
-// Class wrapper and container for Core Driver Features.
-//
-class CFeatureCollection
-{
-private:
-
- DWORD m_dwFeatures;
- // Count of the number of features.
-
- DWORD m_dwDocFeatures;
- // Count of the number of document sticky features
-
- DWORD m_dwPrintFeatures;
- // Count of the number of printer sticky features.
-
- HANDLE m_hHeap;
- // Heap to do allocations from.
-
- CFeature *m_pFeatures;
- // Array of feature information about each of the enumerate features.
-
-public:
-
- CFeatureCollection();
- virtual ~CFeatureCollection();
-
- //
- // Populates the Feature list
- //
- HRESULT Acquire(
- HANDLE hHeap,
- IPrintCoreHelper* pHelper
- );
-
- //
- // Returns number of features contained in class instance.
- //
- DWORD GetCount(
- DWORD dwMode = 0
- ) const;
-
- // Returns pointer to option class for nth feature.
- //
- CFeature* GetFeature(
- DWORD wIndex,
- DWORD dwMode = 0
- ) const;
-
-private:
-
- VOID Clear();
-
- DWORD GetModelessIndex(
- DWORD dwIndex,
- DWORD dwMode
- ) const;
-};
-
-
-class CFeaturePairs
-{
-private:
-
- PRINT_FEATURE_OPTION * m_pData;
- size_t m_cElements;
-
- VOID
- ClearPair(
- size_t iIndex
- );
-
-public:
-
- CFeaturePairs(size_t cElements);
-
- ~CFeaturePairs();
-
- HRESULT
- SetPair(
- size_t iIndex,
- PCSTR pcszFeature,
- PCSTR pcszOption
- );
-
- PRINT_FEATURE_OPTION *
- GetData()
- {
- return m_pData;
- }
-
- size_t
- GetElementCount()
- {
- return m_cElements;
- }
-};
-
-////////////////////////////////////////////////////////
-// Prototypes
-////////////////////////////////////////////////////////
-
-HRESULT
-GetDisplayNameFromMapping(
- _In_ HANDLE hHeap,
- _In_ PCKEYWORDMAP pMapping,
- _Out_ PWSTR *ppszDisplayName
- );
-
-PCKEYWORDMAP
-GetKeywordMapping(
- _In_reads_(dwMapSize) PCKEYWORDMAP pKeywordMap,
- DWORD dwMapSize,
- PCSTR pszKeyword
- );
-
-BOOL
-IsFeatureOptItem(
- POPTITEM pOptItem
- );
-
-HRESULT
-SaveFeatureOptItems(
- HANDLE hHeap,
- IPrintCoreHelper* pHelper,
- HWND hWnd,
- _In_reads_(dwItems) POPTITEM pOptItem,
- DWORD dwItems
- );
-
-HRESULT
-GetChangedFeatureOptions(
- _In_reads_(dwItems) POPTITEM pOptItem,
- DWORD dwItems,
- _Outptr_result_maybenull_ CFeaturePairs **ppPairs
- );
-
-PCSTR
-GetOptionKeywordFromOptItem(
- POPTITEM pOptItem
- );
-
-HRESULT
-RefreshOptItemSelection(
- IPrintCoreHelper* pHelper,
- _In_reads_(dwItems) POPTITEM pOptItems,
- DWORD dwItems
- );
-
-HRESULT
-GetFirstConflictingFeature(
- IPrintCoreHelper *pHelper,
- _In_reads_(dwItems) POPTITEM pOptItem,
- DWORD dwItems,
- CONST PRINT_FEATURE_OPTION **pConstraints,
- DWORD *pdwConstraints
- );
-
-POPTTYPE
-CreateOptType(
- HANDLE hHeap,
- WORD wOptParams
- );
-
-HRESULT
-GetStringResource(
- _In_ HANDLE hHeap,
- _In_ HMODULE hModule,
- UINT uResource,
- _Out_ PWSTR *ppszString
- );
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/UNIUIREP.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/UNIUIREP.vcxproj
deleted file mode 100644
index e7dfa837..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/UNIUIREP.vcxproj
+++ /dev/null
@@ -1,1066 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Win10 Debug|ARM64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|Win32">
- <Configuration>Win10 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|x64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|ARM64">
- <Configuration>Win10 Release</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|Win32">
- <Configuration>Win10 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|x64">
- <Configuration>Win10 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|Win32">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|Win32">
- <Configuration>Win8 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|Win32">
- <Configuration>Win7 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|Win32">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|Win32">
- <Configuration>Win8 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|Win32">
- <Configuration>Win7 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|x64">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|x64">
- <Configuration>Win8 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|x64">
- <Configuration>Win7 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|x64">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|x64">
- <Configuration>Win8 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|x64">
- <Configuration>Win7 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}</ProjectGuid>
- <RootNamespace>$(MSBuildProjectName)</RootNamespace>
- <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration>
- <Platform Condition="'$(Platform)' == ''">Win32</Platform>
- <SampleGuid>{B571A415-8077-4F31-891E-02760FE89ED2}</SampleGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <PropertyGroup>
- <OutDir>$(IntDir)</OutDir>
- </PropertyGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ItemGroup Label="WrappedTaskItems" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetName>UNIUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetName>UNIUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetName>UNIUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <TargetName>UNIUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <TargetName>UNIUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetName>UNIUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetName>UNIUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetName>UNIUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <TargetName>UNIUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <TargetName>UNIUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetName>UNIUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetName>UNIUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetName>UNIUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <TargetName>UNIUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetName>UNIUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetName>UNIUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetName>UNIUIREP</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <TargetName>UNIUIREP</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="debug.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="devmode.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="features.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Create</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="uniuirep.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ResourceCompile Include="uniuirep.rc" />
- </ItemGroup>
- <ItemGroup>
- <Inf Exclude="@(Inf)" Include="*.inf" />
- <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" />
- </ItemGroup>
- <ItemGroup>
- <None Exclude="@(None)" Include="*.txt;*.htm;*.html" />
- <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" />
- <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/UNIUIREP.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/UNIUIREP.vcxproj.Filters
deleted file mode 100644
index 359932e0..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/UNIUIREP.vcxproj.Filters
+++ /dev/null
@@ -1,223 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions>
- <UniqueIdentifier>{7212E25C-3AC4-4F4D-A600-63E91A451AD6}</UniqueIdentifier>
- </Filter>
- <Filter Include="Header Files">
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- <UniqueIdentifier>{72D49995-C0D7-4527-9A60-C2A300B80E2B}</UniqueIdentifier>
- </Filter>
- <Filter Include="Resource Files">
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions>
- <UniqueIdentifier>{B53D0C7F-CD45-4EC5-893D-05FBEE34246B}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="debug.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="devmode.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="features.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="uniuirep.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="uniuirep.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="uniuirep.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="uniuirep.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="uniuirep.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="uniuirep.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="uniuirep.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="uniuirep.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="uniuirep.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="uniuirep.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="uniuirep.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="uniuirep.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="uniuirep.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="uniuirep.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="uniuirep.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="uniuirep.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="uniuirep.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="uniuirep.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="uniuirep.h" />
- <ClInclude Include="debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="devmode.h" />
- <ClInclude Include="Features.h" />
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="uniuirep.h" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="uniuirep.rc">
- <Filter>Resource Files</Filter>
- </ResourceCompile>
- </ItemGroup>
- <ItemGroup>
- <None Include="uniuirep.def">
- <Filter>Source Files</Filter>
- </None>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/debug.cpp b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/debug.cpp
deleted file mode 100644
index f7a3d842..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/debug.cpp
+++ /dev/null
@@ -1,405 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Debug.cpp
-//
-// PURPOSE: Debug functions.
-//
-//
-
-#include "precomp.h"
-#include "debug.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-////////////////////////////////////////////////////////
-// INTERNAL DEFINES
-////////////////////////////////////////////////////////
-
-#define DEBUG_BUFFER_SIZE 1024
-#define PATH_SEPARATOR '\\'
-#define MAX_LOOP 10
-
-// Determine what level of debugging messages to eject.
-#ifdef VERBOSE_MSG
- #define DEBUG_LEVEL DBG_VERBOSE
-#elif TERSE_MSG
- #define DEBUG_LEVEL DBG_TERSE
-#elif WARNING_MSG
- #define DEBUG_LEVEL DBG_WARNING
-#elif ERROR_MSG
- #define DEBUG_LEVEL DBG_ERROR
-#elif RIP_MSG
- #define DEBUG_LEVEL DBG_RIP
-#elif NO_DBG_MSG
- #define DEBUG_LEVEL DBG_NONE
-#else
- #define DEBUG_LEVEL DBG_WARNING
-#endif
-
-
-
-////////////////////////////////////////////////////////
-// EXTERNAL GLOBALS
-////////////////////////////////////////////////////////
-
-INT giDebugLevel = DEBUG_LEVEL;
-
-
-
-
-////////////////////////////////////////////////////////
-// INTERNAL PROTOTYPES
-////////////////////////////////////////////////////////
-
-static BOOL DebugMessageV(LPCSTR lpszMessage, va_list arglist);
-static BOOL DebugMessageV(DWORD dwSize, LPCWSTR lpszMessage, va_list arglist);
-
-
-
-
-//////////////////////////////////////////////////////////////////////////
-// Function: DebugMessageV
-//
-// Description: Outputs variable argument debug string.
-//
-//
-// Parameters:
-//
-// dwSize Size of temp buffer to hold formated string.
-//
-// lpszMessage Format string.
-//
-// arglist Variable argument list..
-//
-//
-// Returns:
-//
-//
-// Comments:
-//
-//
-//////////////////////////////////////////////////////////////////////////
-
-static BOOL DebugMessageV(LPCSTR lpszMessage, va_list arglist)
-{
- DWORD dwSize = DEBUG_BUFFER_SIZE;
- DWORD dwLoop = 0;
- LPSTR lpszMsgBuf = NULL;
- HRESULT hr;
-
-
- // Parameter checking.
- if( (NULL == lpszMessage)
- ||
- (0 == dwSize)
- )
- {
- return FALSE;
- }
-
- do
- {
- // Allocate memory for message buffer.
- if(NULL != lpszMsgBuf)
- {
- delete[] lpszMsgBuf;
- dwSize *= 2;
- }
- lpszMsgBuf = new CHAR[dwSize + 1];
- if(NULL == lpszMsgBuf)
- {
- return FALSE;
- }
-
- hr = StringCbVPrintfA(lpszMsgBuf, (dwSize + 1) * sizeof(CHAR), lpszMessage, arglist);
-
- // Pass the variable parameters to wvsprintf to be formated.
- } while (FAILED(hr) && (STRSAFE_E_INSUFFICIENT_BUFFER == hr) && (++dwLoop < MAX_LOOP) );
-
- // Dump string to Debug output.
- OutputDebugStringA(lpszMsgBuf);
-
- // Cleanup.
- delete[] lpszMsgBuf;
-
- return SUCCEEDED(hr);
-}
-
-
-//////////////////////////////////////////////////////////////////////////
-// Function: DebugMessageV
-//
-// Description: Outputs variable argument debug string.
-//
-//
-// Parameters:
-//
-// dwSize Size of temp buffer to hold formated string.
-//
-// lpszMessage Format string.
-//
-// arglist Variable argument list..
-//
-//
-// Returns:
-//
-//
-// Comments:
-//
-//
-//////////////////////////////////////////////////////////////////////////
-
-static BOOL DebugMessageV(DWORD dwSize, LPCWSTR lpszMessage, va_list arglist)
-{
- LPWSTR lpszMsgBuf;
- HRESULT hResult;
-
-
- // Parameter checking.
- if( (NULL == lpszMessage)
- ||
- (0 == dwSize)
- )
- {
- return FALSE;
- }
-
- // Allocate memory for message buffer.
- lpszMsgBuf = new WCHAR[dwSize + 1];
- if(NULL == lpszMsgBuf)
- return FALSE;
-
- // Pass the variable parameters to wvsprintf to be formated.
- hResult = StringCbVPrintfW(lpszMsgBuf, (dwSize + 1) * sizeof(WCHAR), lpszMessage, arglist);
-
- // Dump string to debug output.
- OutputDebugStringW(lpszMsgBuf);
-
- // Clean up.
- delete[] lpszMsgBuf;
-
- return SUCCEEDED(hResult);
-}
-
-
-//////////////////////////////////////////////////////////////////////////
-// Function: DebugMessage
-//
-// Description: Outputs variable argument debug string.
-//
-//
-// Parameters:
-//
-// lpszMessage Format string.
-//
-//
-// Returns:
-//
-//
-// Comments:
-//
-//
-//////////////////////////////////////////////////////////////////////////
-
-BOOL DebugMessage(LPCSTR lpszMessage, ...)
-{
- BOOL bResult;
- va_list VAList;
-
-
- // Pass the variable parameters to DebugMessageV for processing.
- va_start(VAList, lpszMessage);
- bResult = DebugMessageV(lpszMessage, VAList);
- va_end(VAList);
-
- return bResult;
-}
-
-
-//////////////////////////////////////////////////////////////////////////
-// Function: DebugMessage
-//
-// Description: Outputs variable argument debug string.
-//
-//
-// Parameters:
-//
-// lpszMessage Format string.
-//
-//
-// Returns:
-//
-//
-// Comments:
-//
-//
-//////////////////////////////////////////////////////////////////////////
-
-BOOL DebugMessage(LPCWSTR lpszMessage, ...)
-{
- BOOL bResult;
- va_list VAList;
-
-
- // Pass the variable parameters to DebugMessageV to be processed.
- va_start(VAList, lpszMessage);
- bResult = DebugMessageV(MAX_PATH, lpszMessage, VAList);
- va_end(VAList);
-
- return bResult;
-}
-
-void Dump(PPUBLISHERINFO pPublisherInfo)
-{
- VERBOSE(TEXT("pPublisherInfo:\r\n"));
- if(NULL == pPublisherInfo)
- {
- VERBOSE(TEXT("\tpPublisherInfo is NULL!\r\n"));
- return;
- }
- VERBOSE(TEXT("\tdwMode = %#x\r\n"), pPublisherInfo->dwMode);
- VERBOSE(TEXT("\twMinoutlinePPEM = %d\r\n"), pPublisherInfo->wMinoutlinePPEM);
- VERBOSE(TEXT("\twMaxbitmapPPEM = %d\r\n"), pPublisherInfo->wMaxbitmapPPEM);
-}
-
-void Dump(POEMDMPARAM pOemDMParam)
-{
- VERBOSE(TEXT("pOemDMParam:\r\n"));
- if(NULL == pOemDMParam)
- {
- VERBOSE(TEXT("\tpOemDMParam is NULL!\r\n"));
- return;
- }
- VERBOSE(TEXT("\tcbSize = %d\r\n"), pOemDMParam->cbSize);
- VERBOSE(TEXT("\tpdriverobj = %#x\r\n"), pOemDMParam->pdriverobj);
- VERBOSE(TEXT("\thPrinter = %#x\r\n"), pOemDMParam->hPrinter);
- VERBOSE(TEXT("\thModule = %#x\r\n"), pOemDMParam->hModule);
- VERBOSE(TEXT("\tpPublicDMIn = %#x\r\n"), pOemDMParam->pPublicDMIn);
- VERBOSE(TEXT("\tpPublicDMOut = %#x\r\n"), pOemDMParam->pPublicDMOut);
- VERBOSE(TEXT("\tpOEMDMIn = %#x\r\n"), pOemDMParam->pOEMDMIn);
- VERBOSE(TEXT("\tpOEMDMOut = %#x\r\n"), pOemDMParam->pOEMDMOut);
- VERBOSE(TEXT("\tcbBufSize = %d\r\n"), pOemDMParam->cbBufSize);
-}
-
-void Dump(PPROPSHEETUI_INFO pPSUIInfo)
-{
- VERBOSE(TEXT("pPSUIInfo:\r\n"));
- if(NULL == pPSUIInfo)
- {
- VERBOSE(TEXT("\tpPSUIInfo is NULL!\r\n"));
- return;
- }
- VERBOSE(TEXT("\tcbSize = %d\r\n"), pPSUIInfo->cbSize);
- VERBOSE(TEXT("\tVersion = %#x\r\n"), pPSUIInfo->Version);
- VERBOSE(TEXT("\tFlags = %#x\r\n"), pPSUIInfo->Flags);
- VERBOSE(TEXT("\tReason = %d\r\n"), pPSUIInfo->Reason);
- VERBOSE(TEXT("\thComPropSheet = %#x\r\n"), pPSUIInfo->hComPropSheet);
- VERBOSE(TEXT("\tpfnComPropSheet = %#x\r\n"), pPSUIInfo->pfnComPropSheet);
- VERBOSE(TEXT("\tlParamInit = %#x\r\n"), pPSUIInfo->lParamInit);
- VERBOSE(TEXT("\tUserData = %#x\r\n"), pPSUIInfo->UserData);
- VERBOSE(TEXT("\tResult = %#x\r\n"), pPSUIInfo->Result);
-}
-
-void Dump(POPTITEM pOptItem)
-{
- VERBOSE(TEXT("pOptItem:\r\n"));
- if(NULL == pOptItem)
- {
- VERBOSE(TEXT("\tpOptItem is NULL!\r\n"));
- return;
- }
- VERBOSE(TEXT("\tcbSize = %d\r\n"), pOptItem->cbSize);
- VERBOSE(TEXT("\tLevel = %d\r\n"), pOptItem->Level);
- VERBOSE(TEXT("\tDlgPageIdx = %d\r\n"), pOptItem->DlgPageIdx);
- VERBOSE(TEXT("\tFlags = 0x%x\r\n"), pOptItem->Flags);
- VERBOSE(TEXT("\tUserData = 0x%p\r\n"), pOptItem->UserData);
- VERBOSE(TEXT("\tpName = %s\r\n"), pOptItem->pName ? pOptItem->pName : TEXT("<NULL>"));
- VERBOSE(TEXT("\tpSel = 0x%p\r\n"), pOptItem->pSel);
- VERBOSE(TEXT("\tpExtChkBox = 0x%p\r\n"), pOptItem->pExtChkBox);
- VERBOSE(TEXT("\tpExtChkBox = 0x%p\r\n"), pOptItem->pExtChkBox);
- VERBOSE(TEXT("\tHelpIndex = 0x%x\r\n"), pOptItem->HelpIndex);
- VERBOSE(TEXT("\tDMPubID = 0x%x\r\n"), pOptItem->DMPubID);
- VERBOSE(TEXT("\tUserItemID = 0x%x\r\n"), pOptItem->UserItemID);
- VERBOSE(TEXT("\twReserved = 0x%x\r\n"), pOptItem->wReserved);
- VERBOSE(TEXT("\tpOIExt = 0x%p\r\n"), pOptItem->pOIExt);
-
- Dump(pOptItem->pOptType);
-}
-
-void Dump(POPTTYPE pOptType)
-{
- VERBOSE(TEXT("\tpOptType:\r\n"));
- if(NULL == pOptType)
- {
- VERBOSE(TEXT("\t\tpOptType is NULL!\r\n"));
- return;
- }
- VERBOSE(TEXT("\t\tcbSize = %d\r\n"), pOptType->cbSize);
- VERBOSE(TEXT("\t\tType = 0x%x\r\n"), pOptType->Type);
- VERBOSE(TEXT("\t\tFlags = 0x%x\r\n"), pOptType->Flags);
- VERBOSE(TEXT("\t\tCount = %d\r\n"), pOptType->Count);
- VERBOSE(TEXT("\t\tCount = 0x%x\r\n"), pOptType->BegCtrlID);
- VERBOSE(TEXT("\t\tStyle = 0x%x\r\n"), pOptType->Style);
-
- Dump(pOptType->pOptParam, pOptType->Count);
-}
-
-void Dump(POPTPARAM pOptParam, WORD wCount)
-{
- if(NULL == pOptParam)
- {
- VERBOSE(TEXT("\t\tpOptParam is NULL!\r\n"));
- return;
- }
-
- for(WORD wIndex = 0; wIndex < wCount; ++wIndex)
- {
- VERBOSE(TEXT("\t\tpOptParam[wIndex]:\r\n"));
- VERBOSE(TEXT("\t\t\tcbSize = %d\r\n"), pOptParam[wIndex].cbSize);
- VERBOSE(TEXT("\t\t\tFlags = 0x%x\r\n"), pOptParam[wIndex].Flags);
- VERBOSE(TEXT("\t\t\tStyle = 0x%x\r\n"), pOptParam[wIndex].Style);
- VERBOSE(TEXT("\t\t\tpData = 0x%p\r\n"), pOptParam[wIndex].pData);
- VERBOSE(TEXT("\t\t\tIconID = 0x%p\r\n"), pOptParam[wIndex].IconID);
- VERBOSE(TEXT("\t\t\tlParam = 0x%p\r\n"), pOptParam[wIndex].lParam);
- }
-}
-
-
-PCSTR
-StripDirPrefixA(
- IN PCSTR pstrFilename
- )
-
-/*++
-
-Routine Description:
-
- Strip the directory prefix off a filename (ANSI version)
-
-Arguments:
-
- pstrFilename - Pointer to filename string
-
-Return Value:
-
- Pointer to the last component of a filename (without directory prefix)
-
---*/
-
-{
- PCSTR pstr;
-
- pstr = strrchr(pstrFilename, PATH_SEPARATOR);
- if (pstr)
- return pstr + 1;
-
- return pstrFilename;
-}
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/debug.h
deleted file mode 100644
index b4d57b0b..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/debug.h
+++ /dev/null
@@ -1,166 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Debug.H
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debugging functions.
-//
-//
-
-#pragma once
-
-// VC and Build use different debug defines.
-// The following makes it so either will
-// cause the inclusion of debugging code.
-#if !defined(_DEBUG) && defined(DBG)
- #define _DEBUG DBG
-#elif defined(_DEBUG) && !defined(DBG)
- #define DBG _DEBUG
-#endif
-
-
-
-/////////////////////////////////////////////////////////
-// Macros
-/////////////////////////////////////////////////////////
-
-//
-// These macros are used for debugging purposes. They expand
-// to white spaces on a free build. Here is a brief description
-// of what they do and how they are used:
-//
-// giDebugLevel
-// Global variable which set the current debug level to control
-// the amount of debug messages emitted.
-//
-// VERBOSE(msg)
-// Display a message if the current debug level is <= DBG_VERBOSE.
-//
-// TERSE(msg)
-// Display a message if the current debug level is <= DBG_TERSE.
-//
-// WARNING(msg)
-// Display a message if the current debug level is <= DBG_WARNING.
-// The message format is: WRN filename (linenumber): message
-//
-// ERR(msg)
-// Similiar to WARNING macro above - displays a message
-// if the current debug level is <= DBG_ERROR.
-//
-// ASSERT(cond)
-// Verify a condition is true. If not, force a breakpoint.
-//
-// ASSERTMSG(cond, msg)
-// Verify a condition is true. If not, display a message and
-// force a breakpoint.
-//
-// RIP(msg)
-// Display a message and force a breakpoint.
-//
-// Usage:
-// These macros require extra parantheses for the msg argument
-// example, ASSERTMSG(x > 0, ("x is less than 0\n"));
-// WARNING(("App passed NULL pointer, ignoring...\n"));
-//
-
-#define DBG_VERBOSE 1
-#define DBG_TERSE 2
-#define DBG_WARNING 3
-#define DBG_ERROR 4
-#define DBG_RIP 5
-#define DBG_NONE 6
-
-#if DBG
-
- #define DebugMsg DebugMessage
-
- //
- // Strip the directory prefix from a filename (ANSI version)
- //
-
- PCSTR
- StripDirPrefixA(
- IN PCSTR pstrFilename
- );
-
- extern INT giDebugLevel;
-
-
- #define DBGMSG(level, prefix, msg) { \
- if (giDebugLevel <= (level)) { \
- DebugMsg("%s %s (%d): ", prefix, StripDirPrefixA(__FILE__), __LINE__); \
- DebugMsg(msg); \
- } \
- }
-
- #define DBGPRINT(level, msg) { \
- if (giDebugLevel <= (level)) { \
- DebugMsg(msg); \
- } \
- }
-
- #define VERBOSE if(giDebugLevel <= DBG_VERBOSE) DebugMsg
- #define TERSE if(giDebugLevel <= DBG_TERSE) DebugMsg
- #define WARNING if(giDebugLevel <= DBG_WARNING) DebugMsg
- #define ERR if(giDebugLevel <= DBG_ERROR) DebugMsg
-
- #define ASSERT(cond) { \
- if (! (cond)) { \
- RIP(("\n")); \
- } \
- }
-
- #define ASSERTMSG(cond, msg) { \
- if (! (cond)) { \
- RIP(msg); \
- } \
- }
-
- #define RIP(msg) { \
- DBGMSG(DBG_RIP, "RIP", msg); \
- DebugBreak(); \
- }
-
-
-#else // !DBG
-
- #define DebugMsg NOP_FUNCTION
-
- #define VERBOSE NOP_FUNCTION
- #define TERSE NOP_FUNCTION
- #define WARNING NOP_FUNCTION
- #define ERR NOP_FUNCTION
-
- #define ASSERT(cond)
-
- #define ASSERTMSG(cond, msg)
- #define RIP(msg)
- #define DBGMSG(level, prefix, msg)
- #define DBGPRINT(level, msg)
-
-#endif
-
-
-
-
-/////////////////////////////////////////////////////////
-// ProtoTypes
-/////////////////////////////////////////////////////////
-
-BOOL DebugMessage(LPCSTR, ...);
-BOOL DebugMessage(LPCWSTR, ...);
-void Dump(PPUBLISHERINFO pPublisherInfo);
-void Dump(POEMDMPARAM pOemDMParam);
-void Dump(PPROPSHEETUI_INFO pPSUIInfo);
-void Dump(POPTITEM pOptItem);
-void Dump(POPTTYPE pOptType);
-void Dump(POPTPARAM pOptParam, WORD wCount);
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/devmode.cpp
deleted file mode 100644
index 1f872cde..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/devmode.cpp
+++ /dev/null
@@ -1,255 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: devmode.cpp
-//
-// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules.
-//
-//--------------------------------------------------------------------------
-
-#include "precomp.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-BOOL
-ConvertOEMDevmode(
- _In_ PCOEMDEV pOEMDevIn,
- _Inout_ POEMDEV pOEMDevOut
- );
-
-BOOL
-MakeOEMDevmodeValid(
- _Out_ POEMDEV pOEMDevmode
- );
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::hrOEMDevMode
-//
-// Synopsis:
-// Performs operation on UI Plugins Private DevMode Members.
-// Called via IOemUI::DevMode
-//
-// Returns:
-// S_OK or E_FAIL. For more detailed failure info,
-// check GetLastError
-//
-// Last error:
-// ERROR_INVALID_PARAMETER
-//
-//
-//----------------------------------------------------------------------------
-HRESULT
-hrOEMDevMode(
- DWORD dwMode,
- // Indicates which operation should be performed
- _Inout_ POEMDMPARAM pOemDMParam
- // contains various data structures needed by this
- // routine. The usage of this struct is determined by
- // the dwMode flag.
- )
-{
- VERBOSE(DLLTEXT("hrOEMDevMode entry."));
-
- HRESULT hr = S_OK;
- // Return value.
-
- //
- // Verify parameters.
- //
- if ((NULL == pOemDMParam) ||
- ((OEMDM_SIZE != dwMode) &&
- (OEMDM_DEFAULT != dwMode) &&
- (OEMDM_CONVERT != dwMode) &&
- (OEMDM_MERGE != dwMode)))
- {
- ERR(ERRORTEXT("DevMode() ERROR_INVALID_PARAMETER.\r\n"));
- ERR(DLLTEXT("\tdwMode = %d, pOemDMParam = %#lx.\r\n"), dwMode, pOemDMParam);
-
- SetLastError(ERROR_INVALID_PARAMETER);
- hr = E_FAIL;
- }
- else
- {
- POEMDEV pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn;;
- // Pointer to the supplied OEM devmode data, if applicable
- // based on dwMode.
-
- POEMDEV pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut;;
- // Pointer to the DEVMODE data that this routine is
- // expected to configure, if applicable based on dwMode.
-
- switch (dwMode)
- {
- //
- // The Method should return the size of the memory allocation
- // needed to store the UI plugin Private DEVMODE.
- //
- case OEMDM_SIZE:
- pOemDMParam->cbBufSize = sizeof(OEMDEV);
- break;
-
- //
- //Should fill the Private DEVMODE with the default values.
- //
- case OEMDM_DEFAULT:
- //
- //OEM_DMEXTRAHEADER Members
- //
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- break;
-
- //
- // The method should convert private DEVMODE members to
- // the current version, if necessary.
- //
- case OEMDM_CONVERT:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- break;
-
- //
- // The method should validate the information contained in private
- // DEVMODE members and merge validated values into a private
- // DEVMODE structure containing default values
- //
- case OEMDM_MERGE:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- MakeOEMDevmodeValid(pOEMDevOut);
- break;
- }
- }
-
- return hr;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::ConvertOEMDevmode
-//
-// Synopsis:
-// confirm that the private DEVMODE being passed in is data that
-// this driver recognizes, read the settings from the input
-// OEM DEVMODE data, and write them to pOEMDevOut.
-//
-// Returns:
-// True unless the routine was called with null pointers
-//
-//
-//----------------------------------------------------------------------------
-BOOL
-ConvertOEMDevmode(
- _In_ PCOEMDEV pOEMDevIn,
- // Caller supplied DEVMODE that we are attempting to read
- _Inout_ POEMDEV pOEMDevOut
- // OEM private DEVMODE configured by this routine based on the settings
- // in pOEMDevIn
- )
-{
- VERBOSE(DLLTEXT("ConvertOEMDevmode entry."));
-
- if ((NULL == pOEMDevIn) ||
- (NULL == pOEMDevOut))
- {
- ERR(ERRORTEXT("ConvertOEMDevmode() invalid parameters.\r\n"));
- return FALSE;
- }
-
- //
- // Check OEM Signature, if it doesn't match ours,
- // then just assume DMIn is bad and use defaults.
- //
- if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature)
- {
- VERBOSE(DLLTEXT("Converting private OEM Devmode.\r\n"));
-
- //
- // Copy the old structure in to the new using which ever size is the
- // smaller. Devmode maybe from newer Devmode (not likely since there
- // is only one), or Devmode maybe a newer Devmode, in which case it
- // maybe larger, but the first part of the structure should be the same.
- //
- // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to;
- // the fields that are in the DEVMODE never change only new fields get
- // added to the end.
- //
- memcpy(pOEMDevOut,
- pOEMDevIn,
- __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize));
-
- //
- // Re-fill in the size and version fields to indicated
- // that the DEVMODE is the current private DEVMODE version.
- //
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
-
- //
- // If the plug-in is capable of recognizing multiple versions of it's
- // private DEVMODE data add custom handling here to support it.
- //
- }
- else
- {
- WARNING(DLLTEXT("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n"));
-
- //
- // The private DEVMODE data is not something that this plug-in understands,
- // so use defaults.
- //
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- }
-
- return TRUE;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::MakeOEMDevmodeValid
-//
-// Synopsis:
-// Force the OEM devmode settings to valid values.
-//
-// Returns:
-// True if the OEMDEV was configured, else FALSE. Only return false if
-// the parameter is NULL.
-//
-//
-//----------------------------------------------------------------------------
-BOOL
-MakeOEMDevmodeValid(
- _Out_ POEMDEV pOEMDevmode
- // OEM DEVMODE data to modify
- )
-{
- if(NULL == pOEMDevmode)
- {
- return FALSE;
- }
-
- //
- // Assumption: pOEMDevmode is large enough to contain OEMDEV structure.
- //
- pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION;
-
- return TRUE;
-}
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/devmode.h
deleted file mode 100644
index 342ce190..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/devmode.h
+++ /dev/null
@@ -1,48 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: devmode.h
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for devmode functions.
-//--------------------------------------------------------------------------
-
-#pragma once
-
-//
-// OEM private DEVMODE data structure. This gets included in the DEVMODE
-// used by Unidrv.
-//
-typedef struct tagOEMDEV
-{
- OEM_DMEXTRAHEADER dmOEMExtra;
- // This structure MUST be prefixed by OEM_DMEXTRAHEADER
-
- //
- // Add private DevMode members here, after the standard header
- // information.
- //
-
-} OEMDEV, *POEMDEV;
-
-typedef const OEMDEV *PCOEMDEV;
-
-
-//
-// ProtoTypes
-//
-
-HRESULT
-hrOEMDevMode(
- DWORD dwMode,
- _Inout_ POEMDMPARAM pOemDMParam
- );
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/dllentry.cpp
deleted file mode 100644
index 3160dfb4..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/dllentry.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: dllentry.cpp
-//
-// PURPOSE: Source module for DLL entry function(s).
-//
-//--------------------------------------------------------------------------
-
-#include "precomp.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::DllMain
-//
-// Synopsis:
-// Dll's main routine, called when new
-// threads or processes reference the module
-//
-// Returns:
-// TRUE. Currently has no failure paths. Return false if the module
-// cannot be properly initialized.
-//
-// Notes:
-// The caller of this routine holds a process-wide lock preventing more
-// than one module from being initialized at a time. In general,
-// plug-ins should do as little as possible in this routine to avoid
-// stalling other threads that may need to load modules. Also, calling
-// any function that would, in-turn, cause another module to be loaded
-// could result in a deadlock.
-//
-//
-//----------------------------------------------------------------------------
-BOOL
-WINAPI DllMain(
- HINSTANCE hInst,
- WORD wReason,
- LPVOID lpReserved
- )
-{
- VERBOSE(DLLTEXT("DllMain entry."));
-
- UNREFERENCED_PARAMETER(hInst);
- UNREFERENCED_PARAMETER(lpReserved);
-
- switch(wReason)
- {
- case DLL_PROCESS_ATTACH:
- VERBOSE(DLLTEXT("Process attach.\r\n"));
- ghInstance = hInst;
- break;
-
- case DLL_THREAD_ATTACH:
- VERBOSE(DLLTEXT("Thread attach.\r\n"));
- break;
-
- case DLL_PROCESS_DETACH:
- VERBOSE(DLLTEXT("Process detach.\r\n"));
- break;
-
- case DLL_THREAD_DETACH:
- VERBOSE(DLLTEXT("Thread detach.\r\n"));
- break;
- }
-
- return TRUE;
-}
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/intrface.cpp
deleted file mode 100644
index 5513741e..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/intrface.cpp
+++ /dev/null
@@ -1,1151 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.cpp
-//
-// PURPOSE: Implementation of interface for PScript5, Unidrv5 UI plug-ins.
-//
-//--------------------------------------------------------------------------
-
-#include "precomp.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-//--------------------------------------------------------------------------
-// Globals
-//--------------------------------------------------------------------------
-
-HINSTANCE ghInstance = NULL;
- // Module's Instance handle from DLLEntry of process.
-
-
-//--------------------------------------------------------------------------
-// Internal Globals
-//--------------------------------------------------------------------------
-
-static long g_cComponents = 0;
- // Count of active components
-
-static long g_cServerLocks = 0;
- // Count of locks
-
-
-//--------------------------------------------------------------------------
-// Class factory for the Plug-In object
-//--------------------------------------------------------------------------
-class COemCF : public IClassFactory
-{
-public:
-
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_
- REFIID riid,
- _COM_Outptr_ LPVOID FAR* ppvObj
- );
-
- STDMETHOD_(ULONG,AddRef) (THIS);
- STDMETHOD_(ULONG,Release) (THIS);
-
- // IClassFactory methods
- STDMETHOD(CreateInstance) (THIS_
- _In_opt_ LPUNKNOWN pUnkOuter,
- _In_ REFIID riid,
- _COM_Outptr_ LPVOID FAR* ppvObject
- );
-
- STDMETHOD(LockServer) (THIS_
- BOOL bLock
- );
-
- // Class-specific methods.
- COemCF(): m_cRef(1) { };
-
- ~COemCF() { };
-
-protected:
- LONG m_cRef;
-
-};
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::DllCanUnloadNow
-//
-// Synopsis:
-// Can the DLL be unloaded from memory? Answers no if any objects are
-// still allocated, or if the server has been locked.
-//
-// To avoid leaving OEM DLL still in memory when Unidrv or Pscript
-// drivers are unloaded, Unidrv and Pscript driver ignore the return
-// value of DllCanUnloadNow of the OEM DLL, and always call FreeLibrary
-// on the OEMDLL.
-//
-// If the plug-in spins off a working thread that also uses this DLL,
-// the thread needs to call LoadLibrary and FreeLibraryAndExitThread,
-// otherwise it may crash after Unidrv or Pscript calls FreeLibrary.
-//
-// Returns:
-// S_OK if the DLL can be unloaded safely, otherwise S_FALSE
-//
-//
-//----------------------------------------------------------------------------
-STDAPI DllCanUnloadNow()
-{
- if ((g_cComponents == 0) && (g_cServerLocks == 0))
- {
- return S_OK;
- }
- else
- {
- return S_FALSE;
- }
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::DllGetClassObject
-//
-// Synopsis:
-// Retrieve the class factory object for the indicated class.
-//
-// Returns:
-// CLASS_E_CLASSNOTAVAILABLE, E_OUTOFMEMORY, or S_OK.
-//
-// Notes:
-//
-//
-//----------------------------------------------------------------------------
-STDAPI
-DllGetClassObject(
- _In_ CONST CLSID& clsid,
- // GUID of the class object that the caller wants a class factory
- // for
- _In_ CONST IID& iid,
- // Interface ID to provide in ppv
- _Outptr_ VOID** ppv
- // out pointer to the interface requested.
- )
-{
- VERBOSE(DLLTEXT("DllGetClassObject:Create class factory."));
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- //
- // Can we create this component?
- //
- if (clsid != CLSID_OEMUI)
- {
- return CLASS_E_CLASSNOTAVAILABLE;
- }
-
- //
- // Create class factory.
- // Reference count set to 1 in Constructor
- //
- COemCF* pUIReplacementCF = new COemCF;
- if (pUIReplacementCF == NULL)
- {
- return E_OUTOFMEMORY;
- }
-
- //
- // Get requested interface.
- //
- HRESULT hr = pUIReplacementCF->QueryInterface(iid, ppv);
- pUIReplacementCF->Release();
-
- return hr;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemCF::QueryInterface
-//
-// Synopsis:
-// Standard COM IUnknown implementation.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemCF::QueryInterface(
- CONST IID& iid,
- _COM_Outptr_ VOID** ppv
- )
-{
- VERBOSE(DLLTEXT("COemCF::QueryInterface entry."));
-
- if ((iid == IID_IUnknown) || (iid == IID_IClassFactory))
- {
- *ppv = static_cast<COemCF*>(this);
- }
- else
- {
- *ppv = NULL;
- return E_NOINTERFACE;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef();
- return S_OK;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemCF::AddRef
-//
-// Synopsis:
-// Standard COM IUnknown implementation.
-//
-//
-//----------------------------------------------------------------------------
-ULONG __stdcall
-COemCF::AddRef()
-{
- return InterlockedIncrement(&m_cRef);
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemCF::Release
-//
-// Synopsis:
-// Standard COM IUnknown implementation.
-//
-//
-//----------------------------------------------------------------------------
-ULONG __stdcall
-COemCF::Release()
-{
- assert(0 != m_cRef);
-
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
- }
- return cRef;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemCF::CreateInstance
-//
-// Synopsis:
-// Attempt to create an object that implements the specified interface.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemCF::CreateInstance(
- _In_opt_ IUnknown* pUnknownOuter,
- _In_ CONST IID& iid,
- _COM_Outptr_ VOID** ppv
- )
-{
- VERBOSE(DLLTEXT("COemCF::CreateInstance entry."));
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- //
- // Cannot aggregate.
- //
- if (pUnknownOuter != NULL)
- {
- return CLASS_E_NOAGGREGATION;
- }
-
- HRESULT hr = S_OK;
-
- if (iid == IID_IUnknown ||
- iid == IID_IPrintOemUI2)
- {
- VERBOSE(DLLTEXT("COemCF::IID_IUnknown\r\n"));
-
- //
- // Create component.
- //
- COemUI2* pOemCB = new COemUI2;
- if (pOemCB == NULL)
- {
- hr = E_OUTOFMEMORY;
- }
- else
- {
- //
- // Get the requested interface.
- //
- hr = pOemCB->QueryInterface(iid, ppv);
-
- //
- // Release the IUnknown pointer.
- // (If QueryInterface failed, component will delete itself.)
- //
- pOemCB->Release();
- }
- }
- else
- {
- hr = E_NOINTERFACE;
- }
-
- return hr;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemCF::LockServer
-//
-// Synopsis:
-// Locking the server holds the objects server in memory, so that new
-// instances of objects can be created more quickly.
-//
-// Returns:
-// S_OK
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemCF::LockServer(
- BOOL bLock
- // If true, increment the lock count, otherwise decrement the lock
- // count.
- )
-{
- if (bLock)
- {
- InterlockedIncrement(&g_cServerLocks);
- }
- else
- {
- InterlockedDecrement(&g_cServerLocks);
- }
-
- return S_OK;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2 (destructor)
-//
-// Synopsis:
-// Release the helper interface, as well as any other resources that
-// the plug-in is holding onto.
-//
-// Returns:
-//
-// Notes:
-//
-//
-//----------------------------------------------------------------------------
-COemUI2::~COemUI2()
-{
- //
- // Make sure that helper interface is released.
- //
- if(NULL != m_pCoreHelper)
- {
- m_pCoreHelper->Release();
- m_pCoreHelper = NULL;
- }
-
- //
- // If this instance of the object is being deleted, then the reference
- // count should be zero.
- //
- assert(0 == m_cRef);
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::QueryInterface
-//
-// Synopsis:
-// Standard COM IUnknown implementation.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::QueryInterface(
- CONST IID& iid,
- _COM_Outptr_ VOID** ppv
- )
-{
- VERBOSE(DLLTEXT("COemUI2::QueryInterface entry."));
-
- if (iid == IID_IUnknown)
- {
- *ppv = static_cast<IUnknown*>(this);
- VERBOSE(DLLTEXT("COemUI2::QueryInterface - Return pointer to IUnknown.\r\n"));
- }
- else if (iid == IID_IPrintOemUI2)
- {
- *ppv = static_cast<IPrintOemUI2*>(this);
- VERBOSE(DLLTEXT("COemUI2::QueryInterface - Return pointer to IPrintOemUI.\r\n"));
- }
- else
- {
-#if DBG
- TCHAR szOutput[80] = {0};
- StringFromGUID2(iid, szOutput, _countof(szOutput)); // can not fail!
- VERBOSE(DLLTEXT("COemUI2::QueryInterface %s not supported.\r\n"), szOutput);
-#endif
-
- *ppv = NULL;
- return E_NOINTERFACE;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef();
- return S_OK;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::AddRef
-//
-// Synopsis:
-// Standard COM IUnknown implementation.
-//
-//
-//----------------------------------------------------------------------------
-ULONG __stdcall
-COemUI2::AddRef()
-{
- VERBOSE(DLLTEXT("COemUI2::AddRef entry."));
-
- return InterlockedIncrement(&m_cRef);
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::Release
-//
-// Synopsis:
-// Standard COM IUnknown implementation.
-//
-//
-//----------------------------------------------------------------------------
-ULONG __stdcall
-COemUI2::Release()
-{
- VERBOSE(DLLTEXT("COemUI2::Release entry."));
-
- assert(0 != m_cRef);
-
- ULONG cRef = InterlockedDecrement(&m_cRef);
-
- if (0 == cRef)
- {
- delete this;
- return 0;
-
- }
-
- return cRef;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::PublishDriverInterface
-//
-// Synopsis:
-// This routine is called by the core driver to supply objects to the
-// plug-in which the plug-in can use to implement various features.
-//
-// This implementation requires an object that IPrintCoreHelper interface
-// from the core driver to implement full UI replacement. If the object
-// passed in is the one desired, this routine will return S_OK, otherwise
-// it will return E_FAIL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::PublishDriverInterface(
- IUnknown *pIUnknown
- )
-{
- VERBOSE(DLLTEXT("COemUI2::PublishDriverInterface entry."));
-
- HRESULT hrResult = S_OK;
-
- //
- // Determine whether the published object is the helper interface
- // introduced in Vista to support full UI replacement.
- //
- if (m_pCoreHelper == NULL)
- {
- hrResult = pIUnknown->QueryInterface(IID_IPrintCoreHelper, (VOID**) &(m_pCoreHelper));
-
- if (!SUCCEEDED(hrResult))
- {
- m_pCoreHelper = NULL;
- hrResult = E_FAIL;
- }
- }
-
- return hrResult;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::GetInfo
-//
-// Synopsis:
-// Most of this routine is a standard implementation common to most
-// plug-ins. Of particular note in this sample is that to get a handle
-// the IPrintCoreHelper plug-in in the PublishDriverInterface callback,
-// this routine must return OEMPUBLISH_IPRINTCOREHELPER in the out
-// parameter when the mode is OEMGI_GETREQUESTEDHELPERINTERFACES.
-//
-// Returns:
-// S_OK for supported modes, E_FAIL for everything else.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::GetInfo(
- _In_ DWORD dwMode,
- // The mode indicates what information is being requested by the
- // core driver.
- _Out_writes_bytes_to_(cbSize, *pcbNeeded) PVOID pBuffer,
- // The output buffer is the location into which the requested info
- // should be written
- _In_ DWORD cbSize,
- // The size of the output buffer.
- _Out_ PDWORD pcbNeeded
- // If the size of the buffer is insufficient, use this parameter
- // to indicate to the core driver how much space is required.
- )
-{
- HRESULT hrResult = S_OK;
-
-#if DBG
- PWSTR pszTag;
-
- switch(dwMode)
- {
- case OEMGI_GETSIGNATURE: pszTag = L"COemUI2::GetInfo entry. [OEMGI_GETSIGNATURE]"; break;
- case OEMGI_GETVERSION: pszTag = L"COemUI2::GetInfo entry. [OEMGI_GETVERSION]"; break;
- case OEMGI_GETREQUESTEDHELPERINTERFACES: pszTag = L"COemUI2::GetInfo entry. [OEMGI_GETREQUESTEDHELPERINTERFACES]"; break;
- default: pszTag = L"COemUI2::GetInfo entry."; break;
- }
-
- VERBOSE(pszTag);
-#endif
-
- //
- // Validate parameters. OEMGI_GETPUBLISHERINFO is excluded from this
- // list because that GetInfo mode applies only to PScript rendering plug-ins.
- //
- if ((NULL == pcbNeeded) ||
- ((OEMGI_GETSIGNATURE != dwMode) &&
- (OEMGI_GETVERSION != dwMode) &&
- (OEMGI_GETREQUESTEDHELPERINTERFACES != dwMode)))
- {
- WARNING(DLLTEXT("COemUI2::GetInfo() exit pcbNeeded is NULL or mode is not supported\r\n"));
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- //
- // Set expected buffer size and number of bytes written.
- //
- *pcbNeeded = sizeof(DWORD);
-
- //
- // Check buffer size is sufficient.
- //
- if((cbSize < *pcbNeeded) || (NULL == pBuffer))
- {
- WARNING(DLLTEXT("COemUI2::GetInfo() exit insufficient buffer!\r\n"));
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- hrResult = E_FAIL;
- }
- else
- {
- switch(dwMode)
- {
- //
- // OEM DLL Signature
- //
- case OEMGI_GETSIGNATURE:
- *(PDWORD)pBuffer = OEM_SIGNATURE;
- break;
-
- //
- // OEM DLL version
- //
- case OEMGI_GETVERSION:
- *(PDWORD)pBuffer = OEM_VERSION;
- break;
-
- //
- // New core helper interface support
- //
- case OEMGI_GETREQUESTEDHELPERINTERFACES:
- *(PDWORD)pBuffer = 0;
- *(PDWORD)pBuffer |= OEMPUBLISH_IPRINTCOREHELPER;
- break;
-
- //
- // dwMode not supported.
- //
- default:
- // Set written bytes to zero since nothing was written.
- //
- WARNING(DLLTEXT("COemUI2::GetInfo() exit mode not supported.\r\n"));
- *pcbNeeded = 0;
- SetLastError(ERROR_NOT_SUPPORTED);
- hrResult = E_FAIL;
- }
- }
-
- return hrResult;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::DevMode
-//
-// Synopsis:
-// This routine operates in various modes to manage the private DEVMODE.
-// This sample does not provide much by way of illustration of how to
-// handle OEM settings in the private DEVMODE. See the sample OEMUI for
-// a more in-depth look at this routine. The function hrOEMDevMode in
-// devmode.cpp also provides more information on how to handle the various
-// modes.
-//
-// Returns:
-// S_OK on success, else E_*
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::DevMode(
- DWORD dwMode,
- // The operation that should be performed
- POEMDMPARAM pOemDMParam
- // The input & output DEVMODEs, including pointers to the public &
- // private DEVMODE data.
- )
-{
- VERBOSE(DLLTEXT("COemUI2::Devmode entry."));
-
- return hrOEMDevMode(dwMode, pOemDMParam);
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::HideStandardUI
-//
-// Synopsis:
-// This routine is critical to supporting full UI replacement. This
-// routine allows the plug-in to disable Unidrv's (or PScript's) standard
-// UI panels. If this returns E_NOTIMPL, the panel isn't hidden. If
-// this routine returns S_OK, Unidrv will not display any UI for the
-// specified mode. If this returns E_NOTIMPL, Unidrv will display it's
-// standard UI.
-//
-// Returns:
-// S_OK to hide the indicated UI if desired, otherwise E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::HideStandardUI(
- DWORD dwMode
- // document property sheets, printer property sheets, or possibly
- // something not yet defined.
- )
-{
- VERBOSE(DLLTEXT("COemUI2::HideStandardUI entry."));
-
- HRESULT hrResult = E_NOTIMPL;
-
- switch(dwMode)
- {
- case OEMCUIP_DOCPROP:
- case OEMCUIP_PRNPROP:
- hrResult = S_OK;
- break;
- default:
- // If we don't recognize the mode, assume that we don't want to hide
- // the UI provided by Unidrv.
- hrResult = E_NOTIMPL;
- }
-
- return hrResult;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::DocumentPropertySheets
-//
-// Synopsis:
-// See function hrOEMDocumentPropertySheets in uniuirep.cpp.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::DocumentPropertySheets(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- )
-{
- VERBOSE(DLLTEXT("COemUI2::DocumentPropertySheets entry."));
-
- return hrCommonPropSheetMethod(pPSUIInfo, lParam, m_pCoreHelper, &m_Features, OEMCUIP_DOCPROP);
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::DevicePropertySheets
-//
-// Synopsis:
-// See function hrOEMDevicePropertySheets in uniuirep.cpp
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::DevicePropertySheets(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- )
-{
- VERBOSE(DLLTEXT("COemUI2::DevicePropertySheets entry."));
-
- return hrCommonPropSheetMethod(pPSUIInfo, lParam, m_pCoreHelper, &m_Features, OEMCUIP_PRNPROP);
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::CommonUIProp
-//
-// Synopsis:
-// This routine is used to interact with the Unidrv-supplied
-// property sheet pages. Since this plug-in implements full-UI
-// replacement, those property sheet pages are disabled, and this
-// routine does not need to do anything.
-//
-// Returns:
-// S_OK
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::CommonUIProp(
- DWORD dwMode,
- POEMCUIPPARAM pOemCUIPParam
- )
-{
- VERBOSE(DLLTEXT("COemUI2::CommonUIProp entry."));
-
- UNREFERENCED_PARAMETER(dwMode);
- UNREFERENCED_PARAMETER(pOemCUIPParam);
-
- return S_OK;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::DeviceCapabilities
-//
-// Synopsis:
-// This routine can be used to replace the Unidrvs device capabilities
-// handling. In this implementation, no custom capabilities handling is
-// provided.
-//
-// Returns:
-// E_FAIL
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::DeviceCapabilities(
- _Inout_ POEMUIOBJ poemuiobj,
- // OEM settings & information
- _In_ HANDLE hPrinter,
- // Handle to the printer that the capabilities are being requested for
- _In_ PWSTR pDeviceName,
- // Name of the device / driver
- _In_ WORD wCapability,
- // The DC_ ID indicating which capability was requested.
- _Out_writes_(_Inexpressible_("varies with wCapability")) PVOID pOutput,
- // Buffer to write requested information to.
- _In_ PDEVMODE pPublicDM,
- // Pointer to the public DEVMODE representing the settings to get
- // capabilities with respect to.
- _In_ PVOID pOEMDM,
- // OEM private DEVMODE settings.
- _In_ DWORD dwOld,
- // Result from previous plug-in call to this routine.
- _Out_ DWORD *dwResult
- // Result of this call. If there are multiple UI plug-ins, this
- // result is passed to the next one as dwOld
- )
-{
- VERBOSE(DLLTEXT("COemUI2::DeviceCapabilities entry."));
-
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(pDeviceName);
- UNREFERENCED_PARAMETER(wCapability);
- UNREFERENCED_PARAMETER(pOutput);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
- UNREFERENCED_PARAMETER(dwOld);
- UNREFERENCED_PARAMETER(dwResult);
-
- //
- // Do nothing. Let Unidrv handle the device capabilities processing.
- //
-
- return E_NOTIMPL;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::DevQueryPrintEx
-//
-// Synopsis:
-// This routine is used to determine print job compatibility with the
-// current driver. The plug-in can supplement Unidrv's handling of this
-// routine. If Unidrv determines that a job can be printed on the current
-// printer it will call this routine to ask the plug-in whether it can
-// also handle the current job. If Unidrv determines that the job cannot
-// be printed, it will not call the plug-in. Additionally, XPS drivers
-// built on the Unidrv and PScript UI modules may not recieve this call-
-// back.
-//
-// Implementation of this routine is optional. To indicate that the
-// plug-in does not support this call, return E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::DevQueryPrintEx(
- POEMUIOBJ poemuiobj,
- PDEVQUERYPRINT_INFO pDQPInfo,
- PDEVMODE pPublicDM,
- PVOID pOEMDM
- )
-{
- VERBOSE(DLLTEXT("COemUI2::DevQueryPrintEx entry."));
-
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(pDQPInfo);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
-
- return E_NOTIMPL;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::UpgradePrinter
-//
-// Synopsis:
-// Use this callback to upgrade any settings from previous versions
-// that are stored in the registry by the plug-in Not applicabe to
-// this sample.
-//
-// Implementation of this routine is optional. To indicate that the
-// plug-in does not support this call, return E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::UpgradePrinter(
- _In_ DWORD dwLevel,
- _At_((PDRIVER_UPGRADE_INFO_1)pDriverUpgradeInfo, _In_) PBYTE pDriverUpgradeInfo
- )
-{
- VERBOSE(DLLTEXT("COemUI2::UpgradePrinter entry."));
-
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(pDriverUpgradeInfo);
-
- return E_NOTIMPL;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::PrinterEvent
-//
-// Synopsis:
-// Perform any special processing needed when various events occur to the
-// print queue.
-//
-// Implementation of this routine is optional. To indicate that the
-// plug-in does not support this call, return E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::PrinterEvent(
- _In_ PWSTR pPrinterName,
- _In_ INT iDriverEvent,
- _In_ DWORD dwFlags,
- _In_ LPARAM lParam
- )
-{
- VERBOSE(DLLTEXT("COemUI2::PrinterEvent entry."));
-
- UNREFERENCED_PARAMETER(pPrinterName);
- UNREFERENCED_PARAMETER(iDriverEvent);
- UNREFERENCED_PARAMETER(dwFlags);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::DriverEvent
-//
-// Synopsis:
-// Notifies the plug-in of changes or events relevant to the driver,
-// such as installing and upgrading.
-//
-// Implementation of this routine is optional. To indicate that the
-// plug-in does not support this call, return E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::DriverEvent(
- _In_ DWORD dwDriverEvent,
- _In_ DWORD dwLevel,
- _In_reads_(_Inexpressible_("varies")) LPBYTE pDriverInfo,
- _In_ LPARAM lParam
- )
-{
- VERBOSE(DLLTEXT("COemUI2::DriverEvent entry."));
-
- UNREFERENCED_PARAMETER(dwDriverEvent);
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(pDriverInfo);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-};
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::QueryColorProfile
-//
-// Synopsis:
-// This routine can be implemented to provide a color profile from the
-// driver.
-//
-// Implementation of this routine is optional. To indicate that the
-// plug-in does not support this call, return E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::QueryColorProfile(
- HANDLE hPrinter,
- POEMUIOBJ poemuiobj,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- ULONG ulQueryMode,
- VOID *pvProfileData,
- ULONG *pcbProfileData,
- FLONG *pflProfileData
- )
-{
- VERBOSE(DLLTEXT("COemUI2::QueryColorProfile entry."));
-
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
- UNREFERENCED_PARAMETER(ulQueryMode);
- UNREFERENCED_PARAMETER(pvProfileData);
- UNREFERENCED_PARAMETER(pcbProfileData);
- UNREFERENCED_PARAMETER(pflProfileData);
-
- return E_NOTIMPL;
-};
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::FontInstallerDlgProc
-//
-// Synopsis:
-// Plug-ins can use this method to replace Unidrv's provided soft-font
-// installer dialog.
-//
-// Implementation of this routine is optional. To indicate that the
-// plug-in does not support this call, return E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::FontInstallerDlgProc(
- HWND hWnd,
- UINT usMsg,
- WPARAM wParam,
- LPARAM lParam
- )
-{
- VERBOSE(DLLTEXT("COemUI2::FontInstallerDlgProc entry."));
-
- UNREFERENCED_PARAMETER(hWnd);
- UNREFERENCED_PARAMETER(usMsg);
- UNREFERENCED_PARAMETER(wParam);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-};
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::UpdateExternalFonts
-//
-// Synopsis:
-// This routine is used to notify the UI of any changes to installed
-// font cartridges, primarily for supporting soft-font UI replacement.
-//
-// Implementation of this routine is optional. To indicate that the
-// plug-in does not support this call, return E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::UpdateExternalFonts(
- _In_ HANDLE hPrinter,
- _In_ HANDLE hHeap,
- _In_ PWSTR pwstrCartridges
- )
-{
- VERBOSE(DLLTEXT("COemUI2::UpdateExternalFonts entry."));
-
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(hHeap);
- UNREFERENCED_PARAMETER(pwstrCartridges);
-
- return E_NOTIMPL;
-}
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-//
-// Synopsis:
-//
-// Implementation of this routine is optional. To indicate that the
-// plug-in does not support this call, return E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::QueryJobAttributes(
- _In_ HANDLE hPrinter,
- _In_ PDEVMODE pDevmode,
- _In_range_(1, 4) DWORD dwLevel,
- _In_reads_(_Inexpressible_("varies")) LPBYTE lpAttributeInfo
- )
-{
- VERBOSE(DLLTEXT("COemUI2::QueryJobAttributes entry."));
-
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(pDevmode);
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(lpAttributeInfo);
-
- return E_NOTIMPL;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// COemUI2::DocumentEvent
-//
-// Synopsis:
-// Perform any special processing needed at various points in time while
-// a job is printing.
-//
-// Implementation of this routine is optional. To indicate that the
-// plug-in does not support this call, return E_NOTIMPL.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT __stdcall
-COemUI2::DocumentEvent(
- HANDLE hPrinter,
- HDC hdc,
- INT iEsc,
- ULONG cbIn,
- PVOID pbIn,
- ULONG cbOut,
- PVOID pbOut,
- PINT piResult
- )
-{
- VERBOSE(DLLTEXT("COemUI2::DocumentEvent entry."));
-
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(hdc);
- UNREFERENCED_PARAMETER(iEsc);
- UNREFERENCED_PARAMETER(cbIn);
- UNREFERENCED_PARAMETER(pbIn);
- UNREFERENCED_PARAMETER(cbOut);
- UNREFERENCED_PARAMETER(pbOut);
- UNREFERENCED_PARAMETER(piResult);
-
- return E_NOTIMPL;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/intrface.h
deleted file mode 100644
index 09a61f4a..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/intrface.h
+++ /dev/null
@@ -1,222 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.h
-//
-// PURPOSE: Define COM interface for User Mode Printer Customization DLL.
-//
-//--------------------------------------------------------------------------
-
-#pragma once
-
-///////////////////////////////////////
-// Globals
-///////////////////////////////////////
-
-extern HINSTANCE ghInstance;
- // Module's Instance handle from DLLEntry of process.
-
-class COemUI2: public IPrintOemUI2
-{
-public:
- //
- // *** IUnknown methods ***
- //
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, _COM_Outptr_ LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
- STDMETHOD_(ULONG,Release) (THIS);
-
- //
- // Method for publishing Driver interface.
- //
- STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown);
-
- //
- // Get OEM dll related information
- //
- STDMETHOD(GetInfo) (THIS_
- _In_ DWORD dwMode,
- _Out_writes_bytes_to_(cbSize, *pcbNeeded) PVOID pBuffer,
- _In_ DWORD cbSize,
- _Out_ PDWORD pcbNeeded);
-
- //
- // OEMDevMode
- //
- STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam);
-
- //
- // OEMCommonUIProp
- //
- STDMETHOD(CommonUIProp) (THIS_
- DWORD dwMode,
- POEMCUIPPARAM pOemCUIPParam
- );
-
- //
- // OEMDocumentPropertySheets
- //
- STDMETHOD(DocumentPropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
- //
- // OEMDevicePropertySheets
- //
- STDMETHOD(DevicePropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
-
- //
- // OEMDevQueryPrintEx
- //
- STDMETHOD(DevQueryPrintEx) (THIS_
- POEMUIOBJ poemuiobj,
- PDEVQUERYPRINT_INFO pDQPInfo,
- PDEVMODE pPublicDM,
- PVOID pOEMDM
- );
-
- //
- // OEMDeviceCapabilities
- //
- STDMETHOD(DeviceCapabilities) (THIS_
- _Inout_ POEMUIOBJ poemuiobj,
- _In_ HANDLE hPrinter,
- _In_ PWSTR pDeviceName,
- _In_ WORD wCapability,
- _Out_writes_(_Inexpressible_("varies with wCapability")) PVOID pOutput,
- _In_ PDEVMODE pPublicDM,
- _In_ PVOID pOEMDM,
- _In_ DWORD dwOld,
- _Out_ DWORD *dwResult
- );
-
- //
- // OEMUpgradePrinter
- //
- STDMETHOD(UpgradePrinter) (THIS_
- _In_ DWORD dwLevel,
- _At_((PDRIVER_UPGRADE_INFO_1)pDriverUpgradeInfo, _In_) PBYTE pDriverUpgradeInfo
- );
-
- //
- // OEMPrinterEvent
- //
- STDMETHOD(PrinterEvent) (THIS_
- _In_ PWSTR pPrinterName,
- _In_ INT iDriverEvent,
- _In_ DWORD dwFlags,
- _In_ LPARAM lParam
- );
-
- //
- // OEMDriverEvent
- //
- STDMETHOD(DriverEvent)(THIS_
- _In_ DWORD dwDriverEvent,
- _In_ DWORD dwLevel,
- _In_reads_(_Inexpressible_("varies")) LPBYTE pDriverInfo,
- _In_ LPARAM lParam
- );
-
- //
- // OEMQueryColorProfile
- //
- STDMETHOD( QueryColorProfile) (THIS_
- HANDLE hPrinter,
- POEMUIOBJ poemuiobj,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- ULONG ulReserved,
- VOID *pvProfileData,
- ULONG *pcbProfileData,
- FLONG *pflProfileData);
-
- //
- // OEMFontInstallerDlgProc
- //
- STDMETHOD(FontInstallerDlgProc) (THIS_
- HWND hWnd,
- UINT usMsg,
- WPARAM wParam,
- LPARAM lParam
- );
- //
- // UpdateExternalFonts
- //
- STDMETHOD(UpdateExternalFonts) (THIS_
- _In_ HANDLE hPrinter,
- _In_ HANDLE hHeap,
- _In_ PWSTR pwstrCartridges
- );
-
- //
- // IPrintOemUI2 methods
- //
-
- //
- // QueryJobAttributes
- //
- STDMETHOD(QueryJobAttributes) (THIS_
- _In_ HANDLE hPrinter,
- _In_ PDEVMODE pDevmode,
- _In_range_(1, 4) DWORD dwLevel,
- _In_reads_(_Inexpressible_("varies")) LPBYTE lpAttributeInfo
- );
-
- //
- // Hide Standard UI
- //
- STDMETHOD(HideStandardUI) (THIS_
- DWORD dwMode
- );
-
- //
- // DocumentEvent
- //
- STDMETHOD(DocumentEvent) (THIS_
- HANDLE hPrinter,
- HDC hdc,
- INT iEsc,
- ULONG cbIn,
- PVOID pbIn,
- ULONG cbOut,
- PVOID pbOut,
- PINT piResult
- );
-
- COemUI2()
- {
- m_cRef = 1;
- m_pCoreHelper = NULL;
- };
-
- virtual ~COemUI2();
-
-protected:
-
- LONG m_cRef;
- // reference count of this object
-
- IPrintCoreHelper* m_pCoreHelper;
- // Pointer to the helper interface introduced in Windows Vista.
-
- CFeatureCollection m_Features;
- // Collection of features advertised as supported by the helper
- // interface.
-};
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/precomp.h
deleted file mode 100644
index cf24303c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/precomp.h
+++ /dev/null
@@ -1,68 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: precomp.h
-//
-// PURPOSE: Header files that should be in the precompiled header.
-//
-//--------------------------------------------------------------------------
-
-#pragma once
-
-// Necessary for compiling under VC.
-#if(!defined(WINVER) || (WINVER < 0x0500))
- #undef WINVER
- #define WINVER 0x0500
-#endif
-#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500))
- #undef _WIN32_WINNT
- #define _WIN32_WINNT 0x0500
-#endif
-
-
-// Required header files that shouldn't change often.
-
-
-#include <STDDEF.H>
-#include <STDLIB.H>
-#include <OBJBASE.H>
-#include <STDARG.H>
-#include <STDIO.H>
-#include <INITGUID.H>
-#include <WINDOWS.H>
-
-#include <WINDEF.H>
-#include <WINERROR.H>
-#include <WINBASE.H>
-#include <WINGDI.H>
-#include <commctrl.h>
-#include <WINDDI.H>
-#include <WINSPOOL.H>
-#include <TCHAR.H>
-#include <EXCPT.H>
-#include <ASSERT.H>
-#include <PRSHT.H>
-#include <COMPSTUI.H>
-#include <WINDDIUI.H>
-#include <PRINTOEM.H>
-#include <prcomoem.h>
-
-#include "resource.h"
-#include "devmode.h"
-#include "Features.h"
-#include "uniuirep.h"
-#include "debug.h"
-#include "intrface.h"
-
-#include <intsafe.h>
-
-// Include this file after any other standard include files
-// to disallow unsafe string handling functions.
-#include <STRSAFE.H>
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/precompsrc.cpp
deleted file mode 100644
index 5944cf51..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/precompsrc.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "precomp.h" \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/resource.h
deleted file mode 100644
index d7eda884..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/resource.h
+++ /dev/null
@@ -1,57 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// Used by uirepplug.rc. Keep this in sync with the definitions in that file.
-//
-//--------------------------------------------------------------------------
-
-//
-//{{NO_DEPENDENCIES}}
-//
-#define IDS_SECTION 1
-#define IDS_NAME 3
-#define IDS_DEVICE_SETTINGS_NAME 4
-#define IDS_CONSTRAINT_CONFLICT 5
-#define IDD_DOC_PROPPAGE 107
-#define IDS_METAFILE_SPOOLING 419
-#define IDS_TEXT_ASGRX 431
-#define IDS_TTDL_DEFAULT 460
-#define IDS_TTDL_TYPE1 461
-#define IDS_TTDL_TYPE3 462
-#define IDS_TTDL_TYPE42 463
-#define IDS_MISSINGNAME 464
-#define IDS_RESDLL 700
-#define IDS_GRAPHICS_MODE 701
-#define IDS_DUPLEX_UNIT 702
-#define IDS_UNIRESDLL 707
-#define IDS_RESOLUTION_600_DPI 708
-#define IDS_RESOLUTION_300_DPI 709
-#define IDS_RESOLUTION_150_DPI 710
-#define IDS_RASTERMODE 711
-#define IDS_HPGL2MODE 712
-#define IDS_PAPERSIZE_LETTER 713
-#define IDS_PAPERSIZE_LEGAL 714
-#define IDS_PAPERSIZE_EXECUTIVE 715
-#define IDS_PAPERSIZE_A4 716
-#define IDS_PAPERSIZE_B5 717
-#define IDS_COLORMODE_MONO 718
-#define IDS_COLORMODE_24BPP 719
-#define IDS_COLORMODE_8BPP 720
-#define IDS_HALFTONE_AUTO 721
-#define IDS_HALFTONE_SUPERCELL_M 722
-#define IDS_HALFTONE_6x6_M 723
-#define IDS_HALFTONE_8x8_M 724
-#define IDS_UIREP_ENVTRAY 728
-#define IDS_OUTBIN_STACKER 735
-#define IDS_OUTBIN_DEFAULT 736
-#define IDS_MEMORY_STD 737
-#define IDS_MEMORY_UPGRADE 738
-#define IDS_INSTALLED_MEMORY 739
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.cpp b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.cpp
deleted file mode 100644
index d75e3215..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.cpp
+++ /dev/null
@@ -1,492 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: uniuirep.cpp
-//
-// PURPOSE: This module handles COMPSTUI initialization and
-// callback behavior.
-//
-//--------------------------------------------------------------------------
-
-
-#include "precomp.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-////////////////////////////////////////////////////////
-// INTERNAL MACROS and DEFINES
-////////////////////////////////////////////////////////
-
-typedef struct _tagCBUserData
-{
- HANDLE hComPropSheet;
- HANDLE hPropPage;
- POEMUIPSPARAM pOEMUIParam;
- PFNCOMPROPSHEET pfnComPropSheet;
- IPrintCoreHelper* pHelper;
- BOOL bPermission;
-
-} CBUSERDATA, *PCBUSERDATA;
-
-
-////////////////////////////////////////////////////////
-// INTERNAL PROTOTYPES
-////////////////////////////////////////////////////////
-
-LONG APIENTRY
-OEMCommonUICallBack(
- _In_ PCPSUICBPARAM pCallbackParam
- );
-
-POPTITEM
-CreateOptItems(
- HANDLE hHeap,
- DWORD dwOptItems
- );
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// ::hrCommonPropSheetMethod
-//
-// Synopsis:
-// Adds property page to printer property sheet.
-//
-// Returns:
-// S_OK on success, E_FAIL on failure. Sets LastError.
-//
-//
-//----------------------------------------------------------------------------
-HRESULT
-hrCommonPropSheetMethod(
- PPROPSHEETUI_INFO pPSUIInfo,
- // Property sheet information, including
- // the reason for calling this function.
- LPARAM lParam,
- // Optional parameter. Value is determined
- // by the reason member of pPSUIInfo.
- IPrintCoreHelper* pHelper,
- // Pointer to the helper interface used to control
- // settings described in the GPD
- CFeatureCollection* pFeatures,
- // Collection of all features that we're supporting
- // in our custom UI.
- DWORD dwMode
- // Should our sheet show device or document features?
- )
-{
- LONG_PTR lResult = TRUE;
- // result supplied to COMPSTUI via pPSUIInfo
-
- HRESULT hrResult = S_OK;
- // Result returned to the immediate caller.
-
- VERBOSE(DLLTEXT("hrCommonPropSheetMethod entry."));
-
- //
- // Validate parameters.
- //
- if ((NULL == pPSUIInfo) ||
- (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version))
- {
- ERR(ERRORTEXT("hrCommonPropSheetMethod() ERROR_INVALID_PARAMETER.\r\n"));
-
- //
- // Return invalid parameter error.
- //
- SetLastError(ERROR_INVALID_PARAMETER);
- hrResult = E_FAIL;
- goto Exit;
- }
-
- Dump(pPSUIInfo);
-
- //
- // Do action.
- //
- switch(pPSUIInfo->Reason)
- {
- case PROPSHEETUI_REASON_INIT:
- {
- WORD wFeatures = 0;
- DWORD dwSheets = 0;
- PCBUSERDATA pUserData = NULL;
- POEMUIPSPARAM pOEMUIParam = (POEMUIPSPARAM)pPSUIInfo->lParamInit;
- BOOL bPermission = 0;
- HANDLE hHeap = pOEMUIParam->hOEMHeap;
- COMPROPSHEETUI Sheet;
-
- //
- // If the user doesn't have permission to change settings,
- // make a note of it so we can disable controls later.
- //
- if (dwMode == OEMCUIP_PRNPROP)
- {
- bPermission = ((pOEMUIParam->dwFlags & DPS_NOPERMISSION)==0);
- }
- else
- {
- bPermission = ((pOEMUIParam->dwFlags & DM_NOPERMISSION)==0);
- }
-
- //
- // Make sure that we have the core driver features
- //
- hrResult = pFeatures->Acquire(hHeap, pHelper);
- if (!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("hrCommonPropSheetMethod: Failed to load core driver features! (hrResult = 0x%x)\r\n"),
- hrResult);
- goto Exit;
- }
-
- //
- // Wait until after the call to Acquire to read the number of features.
- //
- wFeatures = (WORD)pFeatures->GetCount(dwMode);
-
- //
- // Init device settings replacement page
- //
- memset(&Sheet, 0, sizeof(COMPROPSHEETUI));
- Sheet.cbSize = sizeof(COMPROPSHEETUI);
- Sheet.Flags = bPermission ? CPSUIF_UPDATE_PERMISSION : 0;
- Sheet.hInstCaller = ghInstance;
- Sheet.pHelpFile = NULL;
- Sheet.pfnCallBack = OEMCommonUICallBack;
- Sheet.cOptItem = wFeatures;
- Sheet.IconID = IDI_CPSUI_PRINTER;
- Sheet.CallerVersion = 0x100;
- Sheet.OptItemVersion = 0x100;
-
- //
- // Initialize mode-specific fields
- //
- if (dwMode == OEMCUIP_PRNPROP)
- {
- //
- // Use a DlgPage structure to set the text in the tab
- // in the printer propertues view.
- //
- DLGPAGE DlgPage;
- memset(&DlgPage, 0, sizeof(DLGPAGE));
- DlgPage.cbSize = sizeof(DLGPAGE);
- DlgPage.DlgTemplateID = DP_STD_TREEVIEWPAGE;
-
- //
- // Get device settings display name
- //
- hrResult = GetStringResource(hHeap, ghInstance, IDS_DEVICE_SETTINGS_NAME, &DlgPage.pTabName);
-
- if (!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("hrCommonPropSheetMethod: Failed to get tab name! (hrResult = 0x%x)\r\n"),
- hrResult);
- goto Exit;
- }
- Sheet.pDlgPage = &DlgPage;
- Sheet.cDlgPage = 1;
- }
- else
- {
- //
- // printing preferences settings
- //
- Sheet.pDlgPage = CPSUI_PDLGPAGE_TREEVIEWONLY;
- }
-
- //
- // Get caller name
- //
- hrResult = GetStringResource(hHeap, ghInstance, IDS_NAME, &Sheet.pCallerName);
- if (!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("hrCommonPropSheetMethod: Failed to get caller name! (hrResult = 0x%x)\r\n"), hrResult);
- goto Exit;
- }
-
- //
- // Get section name
- //
- hrResult = GetStringResource(hHeap, ghInstance, IDS_SECTION, &Sheet.pOptItemName);
- if (!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("hrCommonPropSheetMethod: Failed to get section name! (hrResult = 0x%x)\r\n"), hrResult);
- goto Exit;
- }
-
- //
- // Init user data.
- //
- pUserData = (PCBUSERDATA)HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(CBUSERDATA));
-
- if (pUserData == NULL)
- {
- ERR(ERRORTEXT("hrCommonPropSheetMethod: Failed to allocate user data!\r\n"));
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- pUserData->hComPropSheet = pPSUIInfo->hComPropSheet;
- pUserData->pfnComPropSheet = pPSUIInfo->pfnComPropSheet;
- pUserData->pOEMUIParam = pOEMUIParam;
- pUserData->pHelper = pHelper;
- pUserData->bPermission = bPermission;
- Sheet.UserData = (ULONG_PTR)pUserData;
-
- //
- // Create OptItems for page.
- //
- Sheet.pOptItem = CreateOptItems(hHeap, Sheet.cOptItem);
-
- if (Sheet.pOptItem == NULL)
- {
- ERR(ERRORTEXT("hrCommonPropSheetMethod: Failed to allocate OPTITEMS!\r\n"));
- hrResult = E_OUTOFMEMORY;
- goto Exit;
- }
-
- //
- // Add core driver features
- //
- for (DWORD wIndex = 0; wIndex < wFeatures; wIndex++)
- {
- //
- // Initialize level and basic state for feature
- //
- Sheet.pOptItem[wIndex].Level = 1;
- Sheet.pOptItem[wIndex].Flags = OPTIF_COLLAPSE;
- CFeature *pFeature = pFeatures->GetFeature(wIndex, dwMode);
-
- if (pFeature == NULL)
- {
- ERR(ERRORTEXT("hrCommonPropSheetMethod: Feature not found or features not initialized!\r\n"));
- hrResult = E_UNEXPECTED;
- goto Exit;
- }
-
- //
- // Get OPTITEM for this feature
- //
- hrResult = pFeature->InitOptItem(hHeap, Sheet.pOptItem + wIndex);
-
- if (!SUCCEEDED(hrResult))
- {
- ERR(ERRORTEXT("hrCommonPropSheetMethod: Failed to get OPTITEM for feature %s\r\n"), pFeature->GetKeyword());
- goto Exit;
- }
-
- }
-
- //
- // Add property sheets.
- //
- lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet,
- CPSFUNC_ADD_PCOMPROPSHEETUI,
- (LPARAM)&Sheet,
- (LPARAM)&dwSheets);
-
-
- if (!lResult)
- {
- ERR(DLLTEXT("hrCommonPropSheetMethod() pfnComPropSheet returned %d.\r\n"), lResult);
- ERR(ERRORTEXT("ComPropSheet failed! Failed to add device settings tab!\n"));
- }
- }
- break;
-
- case PROPSHEETUI_REASON_GET_INFO_HEADER:
- {
- //
- // Set header title
- //
- PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER)lParam;
- pHeader->pTitle = (LPTSTR)PROP_TITLE;
- lResult = TRUE;
- }
- break;
-
- case PROPSHEETUI_REASON_GET_ICON:
- //
- // No icon
- //
- lResult = 0;
- break;
-
- case PROPSHEETUI_REASON_SET_RESULT:
- {
- PSETRESULT_INFO pInfo = (PSETRESULT_INFO)lParam;
- lResult = pInfo->Result;
- }
- break;
-
- case PROPSHEETUI_REASON_DESTROY:
- lResult = TRUE;
- break;
- }
-
- pPSUIInfo->Result = lResult;
-
-Exit:
-
- return hrResult;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-// OEMCommonUICallBack
-//
-// Synopsis:
-// Callback function to handle changes to the feature list panel
-// added by this plug-in to the document properties UI.
-//
-// Returns:
-// CPSUICB_ACTION_NONE if nothing further needs done.
-// CPSUICB_ACTION_NO_APPLY_EXIT if settings changes were aborted
-//
-//
-//----------------------------------------------------------------------------
-LONG APIENTRY
-OEMCommonUICallBack(
- _In_ PCPSUICBPARAM pCallbackParam
- // struct containing all of the relevant callback parameters,
- // including the reason that the callback is being made.
- )
-{
- VERBOSE(DLLTEXT("OEMCommonUICallBack entry."));
-
- WORD wItems = pCallbackParam->cOptItem;
- LONG lReturn = CPSUICB_ACTION_NONE;
- POPTITEM pOptItem = pCallbackParam->pOptItem;
- PCBUSERDATA pUserData = (PCBUSERDATA) pCallbackParam->UserData;
- HANDLE hHeap = pUserData->pOEMUIParam->hOEMHeap;
- HRESULT hrResult = S_OK;
-
- VERBOSE(DLLTEXT("Reason = %d"), pCallbackParam->Reason);
-
- //
- // If user has no permission to change anything, then simply
- // return without any action
- //
- if (!pUserData->bPermission &&
- (pCallbackParam->Reason != CPSUICB_REASON_ABOUT))
- {
- WARNING(DLLTEXT("OEMCommonUICallBack: User does not have appropriate permission!\r\n"));
- lReturn = CPSUICB_ACTION_NONE;
- }
- else
- {
- switch(pCallbackParam->Reason)
- {
- case CPSUICB_REASON_APPLYNOW:
- if (wItems > 0)
- {
- //
- // Save features if hiding std UI
- //
- hrResult = SaveFeatureOptItems(hHeap,
- pUserData->pHelper,
- pCallbackParam->hDlg,
- pOptItem,
- wItems);
-
- if (!SUCCEEDED(hrResult))
- {
- //
- // Return that we didn't save changes.
- // NOTE: It is upto SaveFeatureOptItems() to display any
- // UI for failure
- //
- lReturn = CPSUICB_ACTION_NO_APPLY_EXIT;
- }
- else
- {
- pUserData->pfnComPropSheet(pUserData->hComPropSheet,
- CPSFUNC_SET_RESULT,
- (LPARAM)pUserData->hPropPage,
- (LPARAM)CPSUI_OK);
- }
- }
- break;
-
- case CPSUICB_REASON_KILLACTIVE:
- //
- // This active property sheet page is changing, and this page is
- // going inactive.
- //
- break;
-
- case CPSUICB_REASON_SETACTIVE:
- //
- // This property sheet page is about to become the active page.
- //
- default:
- break;
- }
- }
-
- return lReturn;
-}
-
-
-//+---------------------------------------------------------------------------
-//
-// Member:
-//
-// Synopsis:
-// Creates and Initializes OptItems.
-//
-// Returns:
-// Pointer to an array of optitems on success, else
-// NULL on failure.
-//
-//
-//----------------------------------------------------------------------------
-POPTITEM
-CreateOptItems(
- HANDLE hHeap,
- // Heap to allocate data from
- DWORD dwOptItems
- // Number of opt items to allocate.
- )
-{
- VERBOSE(DLLTEXT("CreateOptItems entry."));
-
- POPTITEM pOptItems = NULL;
- // OPTITEMs to be returned to caller.
-
- ULONG cbOptItems = 0;
- // Number of bytes needed for optitems.
-
- // Allocate memory for OptItems.
- if (SUCCEEDED(ULongMult( sizeof(OPTITEM), dwOptItems, &cbOptItems)) &&
- (pOptItems = (POPTITEM)HeapAlloc(hHeap, HEAP_ZERO_MEMORY, cbOptItems)) != NULL)
- {
- // Zero out memory.
- memset(pOptItems, 0, sizeof(OPTITEM) * dwOptItems);
-
- // Set each OptItem's size, and Public DM ID.
- for (DWORD dwCount = 0; dwCount < dwOptItems; dwCount++)
- {
- pOptItems[dwCount].cbSize = sizeof(OPTITEM);
- pOptItems[dwCount].DMPubID = DMPUB_NONE;
- }
- }
- else
- {
- ERR(ERRORTEXT("CreateOptItems() failed to allocate memory for OPTITEMs!\r\n"));
- }
-
- return pOptItems;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.def b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.def
deleted file mode 100644
index bf87f4c2..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.def
+++ /dev/null
@@ -1,18 +0,0 @@
-;
-; THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-; ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-; THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-; PARTICULAR PURPOSE.
-;
-; Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved.
-;
-; Abstract:
-;
-; This file contains a listing of all of the methods to be exported
-; from the DLL, as well as rules for how to name the exports.
-;
-
-LIBRARY UIREPPLUG
-
-EXPORTS DllGetClassObject PRIVATE
- DllCanUnloadNow PRIVATE
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.h b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.h
deleted file mode 100644
index 52980245..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.h
+++ /dev/null
@@ -1,55 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: UNIUIREP.H
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for UI replacement sample.
-//
-//--------------------------------------------------------------------------
-
-#pragma once
-
-#define DLLTEXT(s) TEXT("[UIREPPLUG] ") TEXT(s)
-#define FUNCTEXT(s) _T(__FUNCTION__) TEXT(s)
-#define ERRORTEXT(s) TEXT("ERROR ") DLLTEXT(s)
-
-//
-// OEM Signature is used to identify the
-// private DEVMODE portion to mitigate against
-// data corruption. Replace this with a unique string
-// for your organization.
-//
-#define OEM_SIGNATURE 'UIRP'
-#define OEM_VERSION 0x00000001L
-
-//
-// OEM Signature and version.
-//
-#define PROP_TITLE L"UIRepPlug Page"
-
-//
-// Printer registry keys where OEM data is stored.
-//
-#define UIREPPLUG_VALUE TEXT("UIREPPLUG_VALUE")
-#define UIREPPLUG_DEVICE_VALUE TEXT("UIREPPLUG_DEVICE_VALUE")
-
-//
-// Method prototypes
-//
-
-HRESULT
-hrCommonPropSheetMethod(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam,
- IPrintCoreHelper* pHelper,
- CFeatureCollection* pFeatures,
- DWORD dwMode
- );
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.rc b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.rc
deleted file mode 100644
index 67cad8ae..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.rc
+++ /dev/null
@@ -1,192 +0,0 @@
-//+--------------------------------------------------------------------------
-//
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: uniuirep.rc
-//
-// PURPOSE: Resource script containing all localizable strings for this
-// module
-//
-//--------------------------------------------------------------------------
-
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "Written by Windows Printing & Imaging Team"
- VALUE "CompanyName", "Microsoft Corp."
- VALUE "FileDescription", "UI Replacement PrintTicket Plugin."
- VALUE "FileVersion", "1, 0, 0, 1"
- VALUE "InternalName", "UIREPPLUG"
- VALUE "LegalCopyright", "Copyright � 1998 - 2005 Microsoft Corp."
- VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation"
- VALUE "OriginalFilename", "UIREPPLUG.dll"
- VALUE "ProductName", "Microsoft UIREPPLUG"
- VALUE "ProductVersion", "1.1"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""winres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE
-BEGIN
- IDS_SECTION "UIRepPlug Added Item"
- IDS_NAME "UI Replacement PrintTicket Plugin"
- IDS_DEVICE_SETTINGS_NAME "Device Settings"
- IDS_CONSTRAINT_CONFLICT "There are one or more conflicting settings.\r\nDo you want driver to automatically resolve conflicts?"
-END
-
-STRINGTABLE
-BEGIN
- IDS_RESDLL "Resource DLL"
- IDS_GRAPHICS_MODE "Graphics Mode"
- IDS_DUPLEX_UNIT "Duplex Unit"
-END
-
-STRINGTABLE
-BEGIN
- IDS_UNIRESDLL "unires.dll"
- IDS_RESOLUTION_600_DPI "600 x 600 dots per inch"
- IDS_RESOLUTION_300_DPI "300 x 300 dots per inch"
- IDS_RESOLUTION_150_DPI "150 x 150 dots per inch"
- IDS_RASTERMODE "Raster mode"
- IDS_HPGL2MODE "HPGL2 mode"
- IDS_PAPERSIZE_LETTER "Letter"
- IDS_PAPERSIZE_LEGAL "Legal"
- IDS_PAPERSIZE_EXECUTIVE "Executive"
- IDS_PAPERSIZE_A4 "A4"
- IDS_PAPERSIZE_B5 "B5"
- IDS_COLORMODE_MONO "Monochrome"
- IDS_COLORMODE_24BPP "24 bits per pixel"
- IDS_MISSINGNAME "<name missing>"
-END
-
-STRINGTABLE
-BEGIN
- IDS_COLORMODE_8BPP "8 bits per pixel"
- IDS_HALFTONE_AUTO "Auto Select"
- IDS_HALFTONE_SUPERCELL_M "Super Cell"
- IDS_HALFTONE_6x6_M "Dither 6x6"
- IDS_HALFTONE_8x8_M "Dither 8x8"
- IDS_UIREP_ENVTRAY "Envelope Feeder Tray"
- IDS_INSTALLED_MEMORY "Device Memory"
- IDS_MEMORY_STD "Standard Memory"
- IDS_MEMORY_UPGRADE "16MB Upgrade"
-
-END
-
-STRINGTABLE
-BEGIN
- IDS_OUTBIN_STACKER "Stacker"
- IDS_OUTBIN_DEFAULT "Default"
-END
-
-STRINGTABLE
-BEGIN
- IDS_METAFILE_SPOOLING "Advanced Printing Features"
- IDS_TEXT_ASGRX "Print Optimizations"
-END
-
-STRINGTABLE
-BEGIN
- IDS_TTDL_DEFAULT "Automatic"
- IDS_TTDL_TYPE1 "Outline"
- IDS_TTDL_TYPE3 "Bitmap"
- IDS_TTDL_TYPE42 "Native TrueType"
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/debug.h
deleted file mode 100644
index 0414569c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/debug.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Debug.H
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debugging functions. Also defines the various debug macros.
-//
-//
-
-#pragma once
-
-/////////////////////////////////////////////////////////
-// Macros
-/////////////////////////////////////////////////////////
-//
-// These macros are used for debugging purposes. They expand
-// to white spaces on a free build. Here is a brief description
-// of what they do and how they are used:
-//
-// giDebugLevel
-// Global variable which set the current debug level to control
-// the amount of debug messages emitted.
-//
-// WARNING(msg)
-// Display a message if the current debug level is <= DBG_WARNING.
-// The message format is: WRN filename (linenumber): message
-//
-// ERR(msg)
-// Similiar to WARNING macro above - displays a message
-// if the current debug level is <= DBG_ERROR.
-//
-// ASSERT(cond)
-// Verify a condition is true. If not, force a breakpoint.
-//
-// RIP(msg)
-// Display a message and force a breakpoint.
-//
-// Usage:
-// WARNING("App passed NULL pointer, ignoring...\n");
-//
-
-#define DBG_VERBOSE 0
-#define DBG_WARNING 1
-#define DBG_ERROR 2
-#define DBG_NONE 3
-
-// VC and Build use different debug defines.
-#if defined (DBG) || defined (_DEBUG)
-
- // __declspec(selectany) ensures that even if this is defined in multiple compilation
- // modules, they will all resolve to the same symbol in the linked DLL
- __declspec(selectany) INT giDebugLevel = 2;
-
- #define STRINGIZE(x) #x
- #define QUOTE(x) STRINGIZE(x)
- #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__)
-
- #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); }
- #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); }
- #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); }
- #define ASSERT(cond) { if (!(cond)) RIP("\n"); }
- #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); }
-
-#else // !DBG
-
- #define VERBOSE(msg)
- #define WARNING(msg)
- #define ERR(msg)
- #define ASSERT(cond)
- #define RIP(msg)
-
-#endif
-
-
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/devmode.cpp
deleted file mode 100644
index 71ffc11d..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/devmode.cpp
+++ /dev/null
@@ -1,229 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.cpp
-//
-// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules.
-//
-
-// This file is wrapped in fdevmode.cpp in other parts of the watermark sample.
-// The appropriate precompiled header should be included there.
-// #include "precomp.h
-
-#include "debug.h"
-#include "devmode.h"
-
-HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam)
-{
- HRESULT hResult = S_OK;
- POEMDEV pOEMDevIn = NULL;
- POEMDEV pOEMDevOut = NULL;
-
-
- // Verify parameters.
- if( (NULL == pOemDMParam)
- ||
- ( (OEMDM_SIZE != dwMode)
- &&
- (OEMDM_DEFAULT != dwMode)
- &&
- (OEMDM_CONVERT != dwMode)
- &&
- (OEMDM_MERGE != dwMode)
- )
- )
- {
- ERR(DLLTEXT("DevMode() ERROR_INVALID_PARAMETER.\r\n"));
-
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Cast generic (i.e. PVOID) to OEM private devomode pointer type.
- pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn;
- pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut;
-
- switch(dwMode)
- {
- case OEMDM_SIZE:
- pOemDMParam->cbBufSize = sizeof(OEMDEV);
- break;
-
- case OEMDM_DEFAULT:
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- pOEMDevOut->bEnabled = WATER_MARK_DEFAULT_ENABLED;
- pOEMDevOut->dfRotate = WATER_MARK_DEFAULT_ROTATION;
- pOEMDevOut->dwFontSize = WATER_MARK_DEFAULT_FONTSIZE;
- pOEMDevOut->crTextColor = WATER_MARK_DEFAULT_COLOR;
- hResult = StringCbCopyW(pOEMDevOut->szWaterMark, sizeof(pOEMDevOut->szWaterMark), WATER_MARK_DEFAULT_TEXT);
- break;
-
- case OEMDM_CONVERT:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- break;
-
- case OEMDM_MERGE:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- MakeOEMDevmodeValid(pOEMDevOut);
- break;
- }
-
- return hResult;
-}
-
-
-BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut)
-{
- HRESULT hCopy = S_OK;
-
-
- if( (NULL == pOEMDevIn)
- ||
- (NULL == pOEMDevOut)
- )
- {
- ERR(DLLTEXT("ConvertOEMDevmode() invalid parameters.\r\n"));
- return FALSE;
- }
-
- // Check OEM Signature, if it doesn't match ours,
- // then just assume DMIn is bad and use defaults.
- if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature)
- {
- VERBOSE(DLLTEXT("Converting private OEM Devmode.\r\n"));
-
- // Set the devmode defaults so that anything the isn't copied over will
- // be set to the default value.
- pOEMDevOut->bEnabled = WATER_MARK_DEFAULT_ENABLED;
- pOEMDevOut->dfRotate = WATER_MARK_DEFAULT_ROTATION;
- pOEMDevOut->dwFontSize = WATER_MARK_DEFAULT_FONTSIZE;
- pOEMDevOut->crTextColor = WATER_MARK_DEFAULT_COLOR;
- hCopy = StringCbCopyW(pOEMDevOut->szWaterMark, sizeof(pOEMDevOut->szWaterMark), WATER_MARK_DEFAULT_TEXT);
-
- // Copy the old structure in to the new using which ever size is the smaller.
- // Devmode maybe from newer Devmode (not likely since there is only one), or
- // Devmode maybe a newer Devmode, in which case it maybe larger,
- // but the first part of the structure should be the same.
-
- // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to;
- // the fields that are in the DEVMODE never change only new fields get added to the end.
-
- memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize));
-
- // Re-fill in the size and version fields to indicated
- // that the DEVMODE is the current private DEVMODE version.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- }
- else
- {
- WARNING(DLLTEXT("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n"));
-
- // Don't know what the input DEVMODE is, so just use defaults.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- pOEMDevOut->bEnabled = WATER_MARK_DEFAULT_ENABLED;
- pOEMDevOut->dfRotate = WATER_MARK_DEFAULT_ROTATION;
- pOEMDevOut->dwFontSize = WATER_MARK_DEFAULT_FONTSIZE;
- pOEMDevOut->crTextColor = WATER_MARK_DEFAULT_COLOR;
- hCopy = StringCbCopyW(pOEMDevOut->szWaterMark, sizeof(pOEMDevOut->szWaterMark), WATER_MARK_DEFAULT_TEXT);
- }
-
- return SUCCEEDED(hCopy);
-}
-
-
-BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode)
-{
- if(NULL == pOEMDevmode)
- {
- return FALSE;
- }
-
- // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure.
-
- // Make sure that dmOEMExtra indicates the current OEMDEV structure.
- pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION;
-
- // bEnable should be either TRUE or FALSE.
- if( (TRUE != pOEMDevmode->bEnabled)
- &&
- (FALSE != pOEMDevmode->bEnabled)
- )
- {
- pOEMDevmode->bEnabled = WATER_MARK_DEFAULT_ENABLED;
- }
-
- // dfRotate should be between 0 and 360 inclusive.
- if( (0 > pOEMDevmode->dfRotate)
- ||
- (360 < pOEMDevmode->dfRotate)
- )
- {
- pOEMDevmode->dfRotate = WATER_MARK_DEFAULT_ROTATION;
- }
-
- // dwFontSize should be 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, or 72.
- if(!IsValidFontSize(pOEMDevmode->dwFontSize))
- {
- pOEMDevmode->dwFontSize = WATER_MARK_DEFAULT_FONTSIZE;
- }
-
- // The high byte of the hi word should be zero.
- if(0 != HIBYTE(HIWORD(pOEMDevmode->crTextColor)))
- {
- pOEMDevmode->crTextColor = WATER_MARK_DEFAULT_COLOR;
- }
-
- // Make sure that water mark string is terminated.
- pOEMDevmode->szWaterMark[WATER_MARK_TEXT_SIZE - 1] = L'\0';
-
- return TRUE;
-}
-
-
-BOOL IsValidFontSize(DWORD dwFontSize)
-{
- BOOL bValid = FALSE;
-
-
- switch(dwFontSize)
- {
- case 8:
- case 9:
- case 10:
- case 11:
- case 12:
- case 14:
- case 16:
- case 18:
- case 20:
- case 22:
- case 24:
- case 26:
- case 28:
- case 36:
- case 48:
- case 72:
- bValid = TRUE;
- break;
-
- default:
- ERR(DLLTEXT("IsValidFontSize() found invalid font size\r\n"));
- break;
- }
-
- return bValid;
-}
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/devmode.h
deleted file mode 100644
index f9df1f26..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/devmode.h
+++ /dev/null
@@ -1,56 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.h
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for devmode functions.
-//
-#pragma once
-
-////////////////////////////////////////////////////////
-// OEM Devmode Defines
-////////////////////////////////////////////////////////
-
-#define WATER_MARK_TEXT_SIZE 128
-#define WATER_MARK_DEFAULT_ENABLED TRUE
-#define WATER_MARK_DEFAULT_ROTATION 30
-#define WATER_MARK_DEFAULT_FONTSIZE 28
-#define WATER_MARK_DEFAULT_COLOR RGB(230, 230, 230)
-#define WATER_MARK_DEFAULT_TEXT L"WaterMark"
-
-
-
-////////////////////////////////////////////////////////
-// OEM Devmode Type Definitions
-////////////////////////////////////////////////////////
-
-typedef struct tagOEMDEV
-{
- OEM_DMEXTRAHEADER dmOEMExtra;
- BOOL bEnabled;
- DOUBLE dfRotate;
- DWORD dwFontSize;
- COLORREF crTextColor;
- WCHAR szWaterMark[WATER_MARK_TEXT_SIZE];
-
-} OEMDEV, *POEMDEV;
-
-typedef const OEMDEV *PCOEMDEV;
-
-
-
-/////////////////////////////////////////////////////////
-// ProtoTypes
-/////////////////////////////////////////////////////////
-
-HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam);
-BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut);
-BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode);
-BOOL IsValidFontSize(DWORD dwFontSize);
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/oem.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/oem.h
deleted file mode 100644
index f9615579..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/oem.h
+++ /dev/null
@@ -1,24 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997- 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: oem.H
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debug.cpp.
-//
-
-#pragma once
-
-
-////////////////////////////////////////////////////////
-// OEM Defines
-////////////////////////////////////////////////////////
-
-#define OEM_SIGNATURE 'MSFT'
-#define OEM_VERSION 0x00000001L
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMARKPS.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMARKPS.vcxproj
deleted file mode 100644
index 47a5db53..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMARKPS.vcxproj
+++ /dev/null
@@ -1,1090 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Win10 Debug|ARM64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|Win32">
- <Configuration>Win10 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|x64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|ARM64">
- <Configuration>Win10 Release</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|Win32">
- <Configuration>Win10 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|x64">
- <Configuration>Win10 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|Win32">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|Win32">
- <Configuration>Win8 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|Win32">
- <Configuration>Win7 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|Win32">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|Win32">
- <Configuration>Win8 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|Win32">
- <Configuration>Win7 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|x64">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|x64">
- <Configuration>Win8 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|x64">
- <Configuration>Win7 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|x64">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|x64">
- <Configuration>Win8 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|x64">
- <Configuration>Win7 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}</ProjectGuid>
- <RootNamespace>$(MSBuildProjectName)</RootNamespace>
- <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration>
- <Platform Condition="'$(Platform)' == ''">Win32</Platform>
- <SampleGuid>{37DC3583-1F5D-4DB4-A930-535E9C096174}</SampleGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <PropertyGroup>
- <OutDir>$(IntDir)</OutDir>
- </PropertyGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ItemGroup Label="WrappedTaskItems" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetName>WMARKPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetName>WMARKPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetName>WMARKPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <TargetName>WMARKPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <TargetName>WMARKPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetName>WMARKPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetName>WMARKPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetName>WMARKPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <TargetName>WMARKPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <TargetName>WMARKPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetName>WMARKPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetName>WMARKPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetName>WMARKPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <TargetName>WMARKPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetName>WMARKPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetName>WMARKPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetName>WMARKPS</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <TargetName>WMARKPS</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <Link>
- <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <Link>
- <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="command.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="fdevmode.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Create</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ResourceCompile Include="wmarkps.rc" />
- </ItemGroup>
- <ItemGroup>
- <Inf Exclude="@(Inf)" Include="*.inf" />
- <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" />
- </ItemGroup>
- <ItemGroup>
- <None Exclude="@(None)" Include="*.txt;*.htm;*.html" />
- <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" />
- <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMARKPS.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMARKPS.vcxproj.Filters
deleted file mode 100644
index 7e7da8cc..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMARKPS.vcxproj.Filters
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions>
- <UniqueIdentifier>{7E7CEB8F-7E3D-4FBB-AEBE-D62B0C9D9B2E}</UniqueIdentifier>
- </Filter>
- <Filter Include="Header Files">
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- <UniqueIdentifier>{88C3214E-2B6E-4482-A2B8-16CD0E6A9A3A}</UniqueIdentifier>
- </Filter>
- <Filter Include="Resource Files">
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions>
- <UniqueIdentifier>{3A0703EF-8A1F-4955-8F7E-0765109DEBF0}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="command.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="fdevmode.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkps.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkps.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkps.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkps.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkps.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkps.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkps.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkps.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkps.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkps.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkps.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkps.h" />
- <ClInclude Include="command.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkps.h" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="wmarkps.rc">
- <Filter>Resource Files</Filter>
- </ResourceCompile>
- </ItemGroup>
- <ItemGroup>
- <None Include="WMarkPS.def">
- <Filter>Source Files</Filter>
- </None>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMarkPS.def b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMarkPS.def
deleted file mode 100644
index fcfcd598..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMarkPS.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY WMARKPS
-EXPORTS DllGetClassObject PRIVATE
- DllCanUnloadNow PRIVATE \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMarkPS.rc b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMarkPS.rc
deleted file mode 100644
index 9653478a..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMarkPS.rc
+++ /dev/null
@@ -1,130 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Neutral resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU)
-#ifdef _WIN32
-LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// PSCRIPT
-//
-
-IDR_WATERMARK_DRAW RC_PSCRIPT drawmark.ps
-IDR_WATERMARK_PROLOGUE RC_PSCRIPT wmark.ps
-
-#endif // Neutral resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "Written by Windows Printing & Imaging Team\0"
- VALUE "CompanyName", "Microsoft Corp.\0"
- VALUE "FileDescription", "OEM Customization Water Mark Sample\0"
- VALUE "FileVersion", "1, 0, 0, 1\0"
- VALUE "InternalName", "WMarkPS\0"
- VALUE "LegalCopyright", "Copyright � 1998-2003\0"
- VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation\0"
- VALUE "OriginalFilename", "WMarkPS.DLL\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "Microsoft WaterMark\0"
- VALUE "ProductVersion", "1.0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""winres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/command.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/command.cpp
deleted file mode 100644
index e4758d1c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/command.cpp
+++ /dev/null
@@ -1,410 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: command.cpp
-//
-// PURPOSE: Source module for OEM customized Command(s).
-//
-
-#include "precomp.h"
-#include "wmarkps.h"
-#include "debug.h"
-#include "command.h"
-#include "resource.h"
-
-
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-/////////////////////////////////////////////////////////
-// Internal Macros & Defines
-/////////////////////////////////////////////////////////
-
-// Macros to convert from Windows RGB to PostScript RGB
-#define GetPS2Color(dw) ((dw) / 255.0)
-#define GetPS2RValue(cr) (GetPS2Color(GetRValue(cr)))
-#define GetPS2GValue(cr) (GetPS2Color(GetGValue(cr)))
-#define GetPS2BValue(cr) (GetPS2Color(GetBValue(cr)))
-
-
-// Initial buffer size
-#define INITIAL_BUFFER_SIZE 16
-
-
-// String format defines characters
-#define FORMAT_DELIM '!'
-#define FORMAT_STRING_ANSI 's'
-#define FORMAT_STRING_UNICODE 'S'
-#define FORMAT_CHAR '%'
-
-
-// Loop limiter.
-#define MAX_LOOP 10
-
-
-/////////////////////////////////////////////////////////
-// Internal ProtoTypes
-/////////////////////////////////////////////////////////
-
-static PSTR GetPostScriptResource(HMODULE hModule, LPCTSTR pszResource, PDWORD pdwSize);
-static PSTR CreateWaterMarkProlog(HMODULE hModule, PDWORD pdwSize, _In_ LPWSTR pszWaterMark,
- DWORD dwFontSize, _In_ LPSTR pszColor, _In_ LPSTR pszAngle);
-static PSTR DoWaterMarkProlog(HMODULE hModule, POEMDEV pOemDevmode, PDWORD pdwSize);
-static DWORD FormatResource(_In_ LPSTR pszResource, _Out_ LPSTR *ppszProlog, ...);
-
-
-////////////////////////////////////////////////////////////////////////////////////
-// The PSCRIPT driver calls this OEM function at specific points during output
-// generation. This gives the OEM DLL an opportunity to insert code fragments
-// at specific injection points in the driver's code. It should use
-// DrvWriteSpoolBuf for generating any output it requires.
-
-HRESULT PSCommand(PDEVOBJ pdevobj, DWORD dwIndex, PVOID pData, DWORD cbSize,
- IPrintOemDriverPS* pOEMHelp, PDWORD pdwReturn)
-{
- BOOL bFreeProcedure = FALSE;
- PSTR pProcedure = NULL;
- DWORD dwLen = 0;
- DWORD dwSize = 0;
- HRESULT hResult = E_FAIL;
-
- VERBOSE(DLLTEXT("Entering OEMCommand...\r\n"));
-
- UNREFERENCED_PARAMETER(pData);
- UNREFERENCED_PARAMETER(cbSize);
-
- switch (dwIndex)
- {
- case PSINJECT_BEGINPROLOG:
- {
- POEMDEV pOemDevmode = (POEMDEV) pdevobj->pOEMDM;
-
-
- VERBOSE(DLLTEXT("OEMCommand PSINJECT_BEGINPROLOG\r\n"));
-
- // Only do Water Mark PS prolog injection if Water Mark is enabled.
- if(pOemDevmode->bEnabled)
- {
- pProcedure = DoWaterMarkProlog((HMODULE) pdevobj->hOEM, pOemDevmode, &dwSize);
- bFreeProcedure = (NULL != pProcedure);
- }
- }
- break;
-
- case PSINJECT_BEGINPAGESETUP:
- {
- POEMDEV pOemDevmode = (POEMDEV) pdevobj->pOEMDM;
-
-
- VERBOSE(DLLTEXT("OEMCommand PSINJECT_BEGINPAGESETUP\r\n"));
-
- // Only do Water Mark PS page injection if Water Mark is enabled.
- if(pOemDevmode->bEnabled)
- {
- pProcedure = GetPostScriptResource((HMODULE) pdevobj->hOEM, MAKEINTRESOURCE(IDR_WATERMARK_DRAW), &dwSize);
- }
- }
- break;
-
- default:
- VERBOSE(DLLTEXT("PSCommand Default...\r\n"));
- *pdwReturn = ERROR_NOT_SUPPORTED;
- return E_NOTIMPL;
- }
-
- if(NULL != pProcedure)
- {
- // Write PostScript to spool file.
- dwLen = (DWORD)strlen(pProcedure);
- if (dwLen > 0)
- {
- hResult = pOEMHelp->DrvWriteSpoolBuf(pdevobj, pProcedure, dwLen, &dwSize);
- }
-
- // Set return values.
- if(SUCCEEDED(hResult) && (dwLen == dwSize))
- {
- *pdwReturn = ERROR_SUCCESS;
- }
- else
- {
- // Try to return meaningful
- // error value.
- *pdwReturn = GetLastError();
- if(ERROR_SUCCESS == *pdwReturn)
- {
- *pdwReturn = ERROR_WRITE_FAULT;
- }
-
- // Make sure we return failure
- // if the write didn't succeded.
- if(SUCCEEDED(hResult))
- {
- hResult = HRESULT_FROM_WIN32(*pdwReturn);
- }
- }
-
- if(bFreeProcedure)
- {
- // INVARIANT: pProcedure was created with 'new' and needs to be freed.
- delete[] pProcedure;
- }
- }
- else
- {
- // pProcedure will be NULL if water mark isn't enabled.
- *pdwReturn = ERROR_NOT_SUPPORTED;
- hResult = E_NOTIMPL;
- }
-
- // dwLen should always equal dwSize.
- ASSERT(dwLen == dwSize);
-
- return hResult;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////////
-//
-// Retrieves pointer to a PostScript resource.
-//
-static PSTR GetPostScriptResource(HMODULE hModule, LPCTSTR pszResource, PDWORD pdwSize)
-{
- PSTR pszPostScript = NULL;
- HRSRC hFind = NULL;
- HGLOBAL hResource = NULL;
-
-
- VERBOSE(DLLTEXT("GetPostScriptResource() entered.\r\n"));
-
- // pszResource and pdwSize Parameters should not be NULL.
- assert(NULL != pszResource);
- assert(NULL != pdwSize);
-
- // Load PostScript resource.
- hFind = FindResource(hModule, pszResource, MAKEINTRESOURCE(RC_PSCRIPT));
- //hFind = FindResource(hModule, pszResource, TEXT("PSCRIPT"));
- if(NULL != hFind)
- {
- hResource = LoadResource(hModule, hFind);
- if(NULL != hResource)
- {
- pszPostScript = (PSTR) LockResource(hResource);
- *pdwSize = SizeofResource(hModule, hFind);
- }
- else
- {
- ERR(DLLTEXT("ERROR: Failed to load PSCRIPT resource!\r\n"));
- }
- }
- else
- {
- ERR(DLLTEXT("ERROR: Failed to find PSCRIPT resource!\r\n"));
- }
-
- // Should have found the PScript resource.
- ASSERT(NULL != pszPostScript);
-
- return pszPostScript;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////////
-//
-// Formats Water Mark prolog with parameter.
-//
-static PSTR CreateWaterMarkProlog(HMODULE hModule, PDWORD pdwSize, _In_ LPWSTR pszWaterMark,
- DWORD dwFontSize, _In_ LPSTR pszColor, _In_ LPSTR pszAngle)
-{
- PSTR pszProlog = NULL;
- PSTR pszResource = NULL;
-
- // Parameters that are pointers should not be NULL!
- if (NULL == pdwSize ||
- NULL == pszWaterMark ||
- NULL == pszColor ||
- NULL == pszAngle)
- {
- ERR(DLLTEXT("CreateWaterMarkProlog: Invalid argument\r\n"));
- return NULL;
- }
-
- // Get Water Mark prolog resource.
- pszResource = GetPostScriptResource(hModule, MAKEINTRESOURCE(IDR_WATERMARK_PROLOGUE), pdwSize);
-
- // Allocate and format the Water Mark Prolog with the correct values.
- if(NULL != pszResource)
- {
- *pdwSize = FormatResource(pszResource, &pszProlog, pszWaterMark, dwFontSize, pszColor, pszAngle);
- }
- else
- {
- ERR(DLLTEXT("CreateWaterMarkProlog: Failed to get resource\r\n"));
- }
-
- return pszProlog;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////////
-//
-// Does the pre-formating of parameters before calling the routine
-// that creates the prolog.
-//
-static PSTR DoWaterMarkProlog(HMODULE hModule, POEMDEV pOemDevmode, PDWORD pdwSize)
-{
- PSTR pszProlog = NULL;
-
- // Parameters should not be NULL.
- if (NULL == hModule ||
- NULL == pOemDevmode ||
- NULL == pdwSize)
- {
- ERR(DLLTEXT("CreateWaterMarkProlog: Invalid argument\r\n"));
- return NULL;
- }
-
- // Only do prolog if Water Mark is enabled.
- if(pOemDevmode->bEnabled)
- {
- CHAR szColor[INITIAL_BUFFER_SIZE] = "\0";
- DWORD dwAngleSize = INITIAL_BUFFER_SIZE;
- LPSTR pszAngle = NULL;
-
- // Format angle as a string.
- do
- {
- if(NULL != pszAngle)
- {
- delete[] pszAngle;
- dwAngleSize *= 2;
- }
- pszAngle = new CHAR[dwAngleSize];
-
- } while( (NULL != pszAngle)
- &&
- (dwAngleSize < 1024)
- &&
- (FAILED(StringCbPrintfA(pszAngle, dwAngleSize, "%.1f", pOemDevmode->dfRotate)) )
- );
-
- if(NULL != pszAngle)
- {
- // Format text color as string.
- if(FAILED(StringCbPrintfA(szColor, sizeof(szColor),
- "%1.2f %1.2f %1.2f",
- GetPS2RValue(pOemDevmode->crTextColor),
- GetPS2GValue(pOemDevmode->crTextColor),
- GetPS2BValue(pOemDevmode->crTextColor))))
- {
- ERR(DLLTEXT("DoWaterMarkProlog() failed to create PostScript color string for water mark."));
- }
-
- // Create Water Mark prolog.
- pszProlog = CreateWaterMarkProlog(hModule, pdwSize, pOemDevmode->szWaterMark,
- pOemDevmode->dwFontSize, szColor, pszAngle);
-
- // Angle string is no longer needed.
- delete[] pszAngle;
- }
- }
-
- return pszProlog;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////////
-//
-// Formats Resource.
-//
-static DWORD FormatResource(_In_ LPSTR pszResource, _Out_ LPSTR *ppszBuffer, ...)
-{
- DWORD dwSize = (DWORD)strlen(pszResource) + MAX_PATH;
- DWORD dwLoop = 0;
- va_list vaList;
- HRESULT hResult = E_FAIL;
-
-
- va_start(vaList, ppszBuffer);
-
- // *ppszBuffer should be NULL when passed in.
- *ppszBuffer = NULL;
-
- // Allocate and format the string.
- do {
-
- if(NULL != *ppszBuffer)
- {
- delete[] *ppszBuffer;
- }
- *ppszBuffer = new CHAR[dwSize];
- if(NULL == *ppszBuffer)
- {
- goto Cleanup;
- }
-
- hResult = StringCbVPrintfA(*ppszBuffer, dwSize, pszResource, vaList);
-
- if(STRSAFE_E_INSUFFICIENT_BUFFER == hResult)
- {
- dwSize *= 2;
- }
-
- } while ( FAILED(hResult) && (dwLoop++ < MAX_LOOP));
-
-Cleanup:
-
- // Check to see if we hit error.
- if(FAILED(hResult))
- {
- if(NULL != *ppszBuffer)
- {
- delete[] *ppszBuffer;
- *ppszBuffer = NULL;
- }
- }
-
- va_end(vaList);
-
- if(*ppszBuffer)
- {
- DWORD dwToReturn = 0;
-
- if(SUCCEEDED(SIZETToDWord(strlen(*ppszBuffer), &dwToReturn)))
- {
- return dwToReturn;
- }
- }
- return 0;
-}
-
-
-DWORD CharSize(DWORD dwValue, DWORD dwBase)
-{
- DWORD dwSize = 1;
-
-
- // Make sure taht base is more than 2.
- if(dwBase < 2)
- {
- return dwSize;
- }
-
- // Loop until dwValue is less than dwBase,
- // dividing by dwBase each time.
- while(dwValue >= dwBase)
- {
- dwValue /= dwBase;
- ++dwSize;
- }
-
- return dwSize;
-}
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/command.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/command.h
deleted file mode 100644
index 4b74bd77..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/command.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Command.h
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for OEM Command function(s).
-//
-#pragma once
-
-
-/////////////////////////////////////////////////////////
-// ProtoTypes
-/////////////////////////////////////////////////////////
-
-HRESULT PSCommand(PDEVOBJ, DWORD, PVOID, DWORD, IPrintOemDriverPS*, PDWORD pdwReturn);
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/dllentry.cpp
deleted file mode 100644
index 3aa73908..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/dllentry.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: dllentry.cpp
-//
-//
-// PURPOSE: Source module for DLL entry function(s).
-//
-//
-
-#include "precomp.h"
-#include "wmarkps.h"
-#include "debug.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-///////////////////////////////////////////////////////////
-//
-// DLL entry point
-//
-
-// DllMain isn't called/used for kernel mode version.
-BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved)
-{
- UNREFERENCED_PARAMETER(hInst);
- UNREFERENCED_PARAMETER(lpReserved);
-
- switch(wReason)
- {
- case DLL_PROCESS_ATTACH:
- VERBOSE(DLLTEXT("Process attach.\r\n"));
- break;
-
- case DLL_THREAD_ATTACH:
- VERBOSE(DLLTEXT("Thread attach.\r\n"));
- break;
-
- case DLL_PROCESS_DETACH:
- VERBOSE(DLLTEXT("Process detach.\r\n"));
- break;
-
- case DLL_THREAD_DETACH:
- VERBOSE(DLLTEXT("Thread detach.\r\n"));
- break;
- }
-
- return TRUE;
-}
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/drawmark.ps b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/drawmark.ps
deleted file mode 100644
index 4e0fa74e..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/drawmark.ps
+++ /dev/null
Binary files differ
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/fdevmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/fdevmode.cpp
deleted file mode 100644
index e7e2d472..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/fdevmode.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: fDevmode.cpp
-//
-//
-// PURPOSE: Place holder file for devmode functions.
-//
-
-#include "precomp.h"
-#include "wmarkps.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-#include <DEVMODE.CPP>
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/intrface.cpp
deleted file mode 100644
index 5e892275..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/intrface.cpp
+++ /dev/null
@@ -1,491 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.cpp
-//
-//
-// PURPOSE: Interface for User Mode COM Customization DLL.
-//
-//
-#pragma once
-
-#include "precomp.h"
-
-#include "wmarkps.h"
-#include "debug.h"
-#include "command.h"
-#include "intrface.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-////////////////////////////////////////////////////////
-// Internal Globals
-////////////////////////////////////////////////////////
-
-static long g_cComponents = 0; // Count of active components
-static long g_cServerLocks = 0; // Count of locks
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IWaterMarkPS body
-//
-IWaterMarkPS::~IWaterMarkPS()
-{
- // Make sure that helper interface is released.
- if(NULL != m_pOEMHelp)
- {
- m_pOEMHelp->Release();
- m_pOEMHelp = NULL;
- }
-
- // If this instance of the object is being deleted, then the reference
- // count should be zero.
- assert(0 == m_cRef);
-}
-
-
-HRESULT __stdcall IWaterMarkPS::QueryInterface(const IID& iid, void** ppv)
-{
- if (iid == IID_IUnknown)
- {
- *ppv = static_cast<IUnknown*>(this);
- VERBOSE(DLLTEXT("IWaterMarkPS::QueryInterface IUnknown.\r\n"));
- }
- else if (iid == IID_IPrintOemPS)
- {
- *ppv = static_cast<IPrintOemPS*>(this);
- VERBOSE(DLLTEXT("IWaterMarkPS::QueryInterface IPrintOemPs.\r\n"));
- }
- else
- {
-#if DBG && defined(USERMODE_DRIVER)
- TCHAR szOutput[80] = {0};
- StringFromGUID2(iid, szOutput, _countof(szOutput)); // can not fail!
- VERBOSE(DLLTEXT("IWaterMarkPS::QueryInterface interface not supported.\r\n"));
-#endif
- *ppv = NULL;
- return E_NOINTERFACE;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef();
- return S_OK;
-}
-
-ULONG __stdcall IWaterMarkPS::AddRef()
-{
- VERBOSE(DLLTEXT("IWaterMarkPS::AddRef() entry.\r\n"));
- return InterlockedIncrement(&m_cRef);
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IWaterMarkPS::Release()
-{
- VERBOSE(DLLTEXT("IWaterMarkPS::Release() entry.\r\n"));
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-
-HRESULT __stdcall IWaterMarkPS::GetInfo (
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- VERBOSE(DLLTEXT("IWaterMarkPS::GetInfo entry.\r\n"));
-
- // Validate parameters.
- if( (NULL == pcbNeeded)
- ||
- ( (OEMGI_GETSIGNATURE != dwMode)
- &&
- (OEMGI_GETVERSION != dwMode)
- &&
- (OEMGI_GETPUBLISHERINFO != dwMode)
- )
- )
- {
- VERBOSE(DLLTEXT("IWaterMarkPS::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER\r\n"));
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Set expected buffer size.
- if(OEMGI_GETPUBLISHERINFO != dwMode)
- {
- *pcbNeeded = sizeof(DWORD);
- }
- else
- {
- *pcbNeeded = sizeof(PUBLISHERINFO);
- return E_FAIL;
- }
-
- // Check buffer size is sufficient.
- if((cbSize < *pcbNeeded) || (NULL == pBuffer))
- {
- WARNING(DLLTEXT("IWaterMarkPS::GetInfo() exit insufficient buffer!\r\n"));
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- // OEM DLL Signature
- case OEMGI_GETSIGNATURE:
- *(PDWORD)pBuffer = OEM_SIGNATURE;
- break;
-
- // OEM DLL version
- case OEMGI_GETVERSION:
- *(PDWORD)pBuffer = OEM_VERSION;
- break;
-
- // dwMode not supported.
- case OEMGI_GETPUBLISHERINFO:
- default:
- // Set written bytes to zero since nothing was written.
- WARNING(DLLTEXT("IWaterMarkPS::GetInfo() exit mode not supported.\r\n"));
- *pcbNeeded = 0;
- SetLastError(ERROR_NOT_SUPPORTED);
- return E_FAIL;
- }
-
- return S_OK;
-}
-
-HRESULT __stdcall IWaterMarkPS::PublishDriverInterface(
- IUnknown *pIUnknown)
-{
- VERBOSE(DLLTEXT("IWaterMarkPS::PublishDriverInterface() entry.\r\n"));
-
- // Need to store pointer to Driver Helper functions, if we already haven't.
- if (this->m_pOEMHelp == NULL)
- {
- HRESULT hResult;
-
-
- // Get Interface to Helper Functions.
- hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverPS, (void** ) &(this->m_pOEMHelp));
-
- if(!SUCCEEDED(hResult))
- {
- // Make sure that interface pointer reflects interface query failure.
- this->m_pOEMHelp = NULL;
-
- return E_FAIL;
- }
- }
-
- return S_OK;
-}
-
-
-HRESULT __stdcall IWaterMarkPS::EnableDriver(DWORD dwDriverVersion,
- DWORD cbSize,
- PDRVENABLEDATA pded)
-{
- VERBOSE(DLLTEXT("IWaterMarkPS::EnableDriver() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(dwDriverVersion);
- UNREFERENCED_PARAMETER(cbSize);
- UNREFERENCED_PARAMETER(pded);
-
- // Need to return S_OK so that DisableDriver() will be called, which Releases
- // the reference to the Printer Driver's interface.
- // If error occurs, return E_FAIL.
- return S_OK;
-}
-
-HRESULT __stdcall IWaterMarkPS::DisableDriver(VOID)
-{
- VERBOSE(DLLTEXT("IWaterMarkPS::DisaleDriver() entry.\r\n"));
-
- // Release reference to Printer Driver's interface.
- if (this->m_pOEMHelp)
- {
- this->m_pOEMHelp->Release();
- this->m_pOEMHelp = NULL;
- }
-
- return S_OK;
-}
-
-HRESULT __stdcall IWaterMarkPS::DisablePDEV(
- PDEVOBJ pdevobj)
-{
- VERBOSE(DLLTEXT("IWaterMarkPS::DisablePDEV() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pdevobj);
-
- return E_NOTIMPL;
-};
-
-HRESULT __stdcall IWaterMarkPS::EnablePDEV(
- PDEVOBJ pdevobj,
- _In_ PWSTR pPrinterName,
- ULONG cPatterns,
- HSURF *phsurfPatterns,
- ULONG cjGdiInfo,
- GDIINFO *pGdiInfo,
- ULONG cjDevInfo,
- DEVINFO *pDevInfo,
- DRVENABLEDATA *pded,
- OUT PDEVOEM *pDevOem)
-{
- VERBOSE(DLLTEXT("IWaterMarkPS::EnablePDEV() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pPrinterName);
- UNREFERENCED_PARAMETER(cPatterns);
- UNREFERENCED_PARAMETER(phsurfPatterns);
- UNREFERENCED_PARAMETER(cjGdiInfo);
- UNREFERENCED_PARAMETER(pGdiInfo);
- UNREFERENCED_PARAMETER(cjDevInfo);
- UNREFERENCED_PARAMETER(pDevInfo);
- UNREFERENCED_PARAMETER(pded);
- UNREFERENCED_PARAMETER(pDevOem);
-
- return E_NOTIMPL;
-}
-
-
-HRESULT __stdcall IWaterMarkPS::ResetPDEV(
- PDEVOBJ pdevobjOld,
- PDEVOBJ pdevobjNew)
-{
- VERBOSE(DLLTEXT("IWaterMarkPS::ResetPDEV() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pdevobjOld);
- UNREFERENCED_PARAMETER(pdevobjNew);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWaterMarkPS::DevMode(
- DWORD dwMode,
- POEMDMPARAM pOemDMParam)
-{
- VERBOSE(DLLTEXT("IWaterMarkPS:DevMode entry.\n"));
- return hrOEMDevMode(dwMode, pOemDMParam);
-}
-
-HRESULT __stdcall IWaterMarkPS::Command(
- PDEVOBJ pdevobj,
- DWORD dwIndex,
- PVOID pData,
- DWORD cbSize,
- OUT DWORD *pdwResult)
-{
- HRESULT hResult = E_NOTIMPL;
-
-
- VERBOSE(DLLTEXT("IWaterMarkPS::Command() entry.\r\n"));
- hResult = PSCommand(pdevobj, dwIndex, pData, cbSize, m_pOEMHelp, pdwResult);
-
- return hResult;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// oem class factory
-//
-class IOemCF : public IClassFactory
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- // *** IClassFactory methods ***
- STDMETHOD(CreateInstance) (THIS_
- LPUNKNOWN pUnkOuter,
- REFIID riid,
- LPVOID FAR* ppvObject);
- STDMETHOD(LockServer) (THIS_ BOOL bLock);
-
-
- // Constructor
- IOemCF(): m_cRef(1) { };
- ~IOemCF() { };
-
-protected:
- LONG m_cRef;
-
-};
-
-///////////////////////////////////////////////////////////
-//
-// Class factory body
-//
-HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv)
-{
- if ((iid == IID_IUnknown) || (iid == IID_IClassFactory))
- {
- *ppv = static_cast<IOemCF*>(this);
- }
- else
- {
- VERBOSE(DLLTEXT("IOemCF::QueryInterface interface not supported.\r\n"));
- *ppv = NULL;
- return E_NOINTERFACE;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef();
- return S_OK;
-}
-
-ULONG __stdcall IOemCF::AddRef()
-{
- return InterlockedIncrement(&m_cRef);
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IOemCF::Release()
-{
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-// IClassFactory implementation
-HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter,
- const IID& iid,
- void** ppv)
-{
- //VERBOSE(DLLTEXT("Class factory:\t\tCreate component."));
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Cannot aggregate.
- if (pUnknownOuter != NULL)
- {
- return CLASS_E_NOAGGREGATION;
- }
-
- // Create component.
- IWaterMarkPS* pOemCP = new IWaterMarkPS;
- if (pOemCP == NULL)
- {
- return E_OUTOFMEMORY;
- }
-
- // Get the requested interface.
- HRESULT hr = pOemCP->QueryInterface(iid, ppv);
-
- // Release the IUnknown pointer.
- // (If QueryInterface failed, component will delete itself.)
- pOemCP->Release();
- return hr;
-}
-
-// LockServer
-HRESULT __stdcall IOemCF::LockServer(BOOL bLock)
-{
- if (bLock)
- {
- InterlockedIncrement(&g_cServerLocks);
- }
- else
- {
- InterlockedDecrement(&g_cServerLocks);
- }
- return S_OK;
-}
-
-
-//
-// Registration functions
-//
-
-//
-// Can DLL unload now?
-//
-STDAPI DllCanUnloadNow()
-{
- //
- // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers
- // are unloaded, Unidrv and Pscript driver ignore the return value of
- // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL.
- //
- // If OEM DLL spins off a working thread that also uses the OEM DLL, the
- // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise
- // it may crash after Unidrv or Pscript calls FreeLibrary.
- //
-
- VERBOSE(DLLTEXT("DllCanUnloadNow entered.\r\n"));
-
- if ((g_cComponents == 0) && (g_cServerLocks == 0))
- {
- return S_OK;
- }
- else
- {
- return S_FALSE;
- }
-}
-
-//
-// Get class factory
-//
-STDAPI DllGetClassObject(
- _In_ REFCLSID clsid,
- _In_ REFIID iid,
- _Outptr_ LPVOID* ppv)
-{
- VERBOSE(DLLTEXT("DllGetClassObject:\tCreate class factory.\r\n"));
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Can we create this component?
- if (clsid != CLSID_OEMRENDER)
- {
- return CLASS_E_CLASSNOTAVAILABLE;
- }
-
- // Create class factory.
- IOemCF* pFontCF = new IOemCF; // Reference count set to 1
- // in constructor
- if (pFontCF == NULL)
- {
- return E_OUTOFMEMORY;
- }
-
- // Get requested interface.
- HRESULT hr = pFontCF->QueryInterface(iid, ppv);
- pFontCF->Release();
-
- return hr;
-}
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/intrface.h
deleted file mode 100644
index 7a4a3c84..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/intrface.h
+++ /dev/null
@@ -1,116 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.H
-//
-//
-// PURPOSE: Define COM interface for User Mode Printer Customization DLL.
-//
-#pragma once
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IWaterMarkPS
-//
-// Interface for PostScript OEM sample rendering module
-//
-class IWaterMarkPS : public IPrintOemPS
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- //
- // Method for publishing Driver interface.
- //
- STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown);
-
- //
- // Method for OEM to specify DDI hook out
- //
-
- STDMETHOD(EnableDriver) (THIS_ DWORD DriverVersion,
- DWORD cbSize,
- PDRVENABLEDATA pded);
-
- //
- // Method to notify OEM plugin that it is no longer required
- //
-
- STDMETHOD(DisableDriver) (THIS);
-
- //
- // Method for OEM to contruct its own PDEV
- //
-
- STDMETHOD(EnablePDEV) (THIS_ PDEVOBJ pdevobj,
- _In_ PWSTR pPrinterName,
- ULONG cPatterns,
- HSURF *phsurfPatterns,
- ULONG cjGdiInfo,
- GDIINFO *pGdiInfo,
- ULONG cjDevInfo,
- DEVINFO *pDevInfo,
- DRVENABLEDATA *pded,
- OUT PDEVOEM *pDevOem);
-
- //
- // Method for OEM to free any resource associated with its PDEV
- //
-
- STDMETHOD(DisablePDEV) (THIS_ PDEVOBJ pdevobj);
-
- //
- // Method for OEM to transfer from old PDEV to new PDEV
- //
-
- STDMETHOD(ResetPDEV) (THIS_ PDEVOBJ pdevobjOld,
- PDEVOBJ pdevobjNew);
-
-
- //
- // Get OEM dll related information
- //
-
- STDMETHOD(GetInfo) (THIS_ DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded);
- //
- // OEMDevMode
- //
-
- STDMETHOD(DevMode) (THIS_ DWORD dwMode,
- POEMDMPARAM pOemDMParam);
-
- //
- // OEMCommand - PSCRIPT only, return E_NOTIMPL on Unidrv
- //
-
- STDMETHOD(Command) (THIS_ PDEVOBJ pdevobj,
- DWORD dwIndex,
- PVOID pData,
- DWORD cbSize,
- OUT DWORD *pdwResult);
-
- //
-
- IWaterMarkPS() { m_cRef = 1; m_pOEMHelp = NULL; };
- ~IWaterMarkPS();
-
-protected:
- LONG m_cRef;
- IPrintOemDriverPS* m_pOEMHelp;
-};
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/precomp.h
deleted file mode 100644
index 1c44a730..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/precomp.h
+++ /dev/null
@@ -1,51 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: precomp.h
-//
-// PURPOSE: Header files that should be in the precompiled header.
-
-#pragma once
-
-// Necessary for compiling under VC.
-#if(!defined(WINVER) || (WINVER < 0x0500))
- #undef WINVER
- #define WINVER 0x0500
-#endif
-#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500))
- #undef _WIN32_WINNT
- #define _WIN32_WINNT 0x0500
-#endif
-
-
-// Required header files that shouldn't change often.
-
-
-#include <STDDEF.H>
-#include <STDLIB.H>
-#include <OBJBASE.H>
-#include <STDARG.H>
-#include <STDIO.H>
-#include <WINDEF.H>
-#include <WINERROR.H>
-#include <WINBASE.H>
-#include <WINGDI.H>
-#include <WINDDI.H>
-#include <TCHAR.H>
-#include <EXCPT.H>
-#include <ASSERT.H>
-#include <PRINTOEM.H>
-#include <INITGUID.H>
-#include <PRCOMOEM.H>
-
-// Safe integer functions to detect integer overflow/underflow conditions:
-#include <intsafe.h>
-
-// StrSafe.h needs to be included last
-// to disallow unsafe string functions.
-#include <STRSAFE.H>
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/precompsrc.cpp
deleted file mode 100644
index 5944cf51..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/precompsrc.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "precomp.h" \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/resource.h
deleted file mode 100644
index 819dbd98..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/resource.h
+++ /dev/null
@@ -1,18 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by WMarkPS.rc
-//
-#define IDR_WATERMARK_PROLOGUE 1
-#define IDR_WATERMARK_DRAW 2
-#define RC_PSCRIPT 0x5053
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 105
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 102
-#endif
-#endif
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/wmark.ps b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/wmark.ps
deleted file mode 100644
index e9200e65..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/wmark.ps
+++ /dev/null
@@ -1,33 +0,0 @@
-userdict /DrawWaterMark {
-userdict begin
-/Watermark (%ls) def
-/FontSize %d def
-/Font /Helvetica def
-/WaterMarkColor {%s setrgbcolor} bind def
-/Angle %s def
-
-gsave
-initgraphics
-
-Angle rotate
-
-clippath
-pathbbox /MaxY exch def /MaxX exch def /MinY exch def /MinX exch def
-
-Font findfont FontSize scalefont setfont
-/MarkLen Watermark stringwidth pop 1.20 mul def
-WaterMarkColor
-
-MinY FontSize MaxY
-{
- MinX MarkLen MaxX
- {
- 1 index moveto Watermark show
- } for
- pop
-} bind for
-grestore
-end
-} bind put
-
- \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/wmarkps.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/wmarkps.h
deleted file mode 100644
index d16c6581..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/wmarkps.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: WMarkPS.H
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debug.cpp.
-//
-#pragma once
-
-#include <OEM.H>
-#include <DEVMODE.H>
-
-
-////////////////////////////////////////////////////////
-// OEM Defines
-////////////////////////////////////////////////////////
-
-#define DLLTEXT(s) "WMARKPS: " s
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/WMARKUI.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/WMARKUI.vcxproj
deleted file mode 100644
index 323f5446..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/WMARKUI.vcxproj
+++ /dev/null
@@ -1,1096 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Win10 Debug|ARM64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|Win32">
- <Configuration>Win10 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|x64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|ARM64">
- <Configuration>Win10 Release</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|Win32">
- <Configuration>Win10 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|x64">
- <Configuration>Win10 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|Win32">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|Win32">
- <Configuration>Win8 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|Win32">
- <Configuration>Win7 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|Win32">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|Win32">
- <Configuration>Win8 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|Win32">
- <Configuration>Win7 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|x64">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|x64">
- <Configuration>Win8 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|x64">
- <Configuration>Win7 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|x64">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|x64">
- <Configuration>Win8 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|x64">
- <Configuration>Win7 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}</ProjectGuid>
- <RootNamespace>$(MSBuildProjectName)</RootNamespace>
- <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration>
- <Platform Condition="'$(Platform)' == ''">Win32</Platform>
- <SampleGuid>{975265B8-77E8-4C62-AD5A-C554605BE6DF}</SampleGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <PropertyGroup>
- <OutDir>$(IntDir)</OutDir>
- </PropertyGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ItemGroup Label="WrappedTaskItems" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetName>WMARKUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetName>WMARKUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetName>WMARKUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <TargetName>WMARKUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <TargetName>WMARKUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetName>WMARKUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetName>WMARKUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetName>WMARKUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <TargetName>WMARKUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <TargetName>WMARKUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetName>WMARKUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetName>WMARKUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetName>WMARKUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <TargetName>WMARKUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetName>WMARKUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetName>WMARKUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetName>WMARKUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <TargetName>WMARKUI</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <Link>
- <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <Link>
- <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="dllentry.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="fdevmode.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="globals.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Create</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="WMARKUI.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ResourceCompile Include="WMARKUI.rc" />
- </ItemGroup>
- <ItemGroup>
- <Inf Exclude="@(Inf)" Include="*.inf" />
- <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" />
- </ItemGroup>
- <ItemGroup>
- <None Exclude="@(None)" Include="*.txt;*.htm;*.html" />
- <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" />
- <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/WMARKUI.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/WMARKUI.vcxproj.Filters
deleted file mode 100644
index d5115804..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/WMARKUI.vcxproj.Filters
+++ /dev/null
@@ -1,140 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions>
- <UniqueIdentifier>{0B03BE39-8181-4B6F-B5BE-004CA8F13B55}</UniqueIdentifier>
- </Filter>
- <Filter Include="Header Files">
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- <UniqueIdentifier>{F94EBF1D-EB81-461D-9960-95F6ABDC92C2}</UniqueIdentifier>
- </Filter>
- <Filter Include="Resource Files">
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions>
- <UniqueIdentifier>{43EA5B9C-BE86-4C59-BE80-7DAF38D33EEE}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="dllentry.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="fdevmode.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="globals.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="WMARKUI.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="WMARKUI.rc">
- <Filter>Resource Files</Filter>
- </ResourceCompile>
- </ItemGroup>
- <ItemGroup>
- <None Include="wmarkui.def">
- <Filter>Source Files</Filter>
- </None>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/dllentry.cpp
deleted file mode 100644
index ae16c921..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/dllentry.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: dllentry.cpp
-//
-//
-// PURPOSE: Source module for DLL entry function(s).
-//
-
-
-#include "precomp.h"
-#include "wmarkui.h"
-#include "debug.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-///////////////////////////////////////////////////////////
-//
-// DLL entry point
-//
-BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved)
-{
- UNREFERENCED_PARAMETER(lpReserved);
-
- switch(wReason)
- {
- case DLL_PROCESS_ATTACH:
- VERBOSE(DLLTEXT("Process attach.\r\n"));
- ghInstance = hInst;
- break;
-
- case DLL_THREAD_ATTACH:
- VERBOSE(DLLTEXT("Thread attach.\r\n"));
- break;
-
- case DLL_PROCESS_DETACH:
- VERBOSE(DLLTEXT("Process detach.\r\n"));
- break;
-
- case DLL_THREAD_DETACH:
- VERBOSE(DLLTEXT("Thread detach.\r\n"));
- break;
- }
-
- return TRUE;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/fdevmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/fdevmode.cpp
deleted file mode 100644
index bc8d4b6e..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/fdevmode.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: fDevmode.cpp
-//
-//
-// PURPOSE: Place holder file for devmode functions.
-//
-
-
-#include "precomp.h"
-#include "wmarkui.h"
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-#include <DEVMODE.CPP>
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/globals.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/globals.cpp
deleted file mode 100644
index 39f8e57a..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/globals.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Globals.cpp
-//
-//
-// PURPOSE: File that contains all the globals.
-//
-
-#pragma once
-#include "precomp.h"
-#include "wmarkui.h"
-
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-///////////////////////////////////////
-// Globals
-///////////////////////////////////////
-
-// Module's Instance handle from DLLEntry of process.
-HINSTANCE ghInstance = NULL;
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/globals.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/globals.h
deleted file mode 100644
index 5472f514..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/globals.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Globals.h
-//
-//
-// PURPOSE: Lists of globals declared in Globals.cpp.
-//
-
-#pragma once
-
-///////////////////////////////////////
-// Globals
-///////////////////////////////////////
-
-// Module's Instance handle from DLLEntry of process.
-extern HINSTANCE ghInstance;
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/intrface.cpp
deleted file mode 100644
index d610f46d..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/intrface.cpp
+++ /dev/null
@@ -1,522 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: intrface.cpp
-//
-// PURPOSE: Implement the UI interface plug-in
-//
-
-#include "precomp.h"
-
-#include "wmarkui.h"
-#include "debug.h"
-#include "intrface.h"
-
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-////////////////////////////////////////////////////////
-// Internal Globals
-////////////////////////////////////////////////////////
-
-static long g_cComponents = 0 ; // Count of active components
-static long g_cServerLocks = 0 ; // Count of locks
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IWaterMarkUI body
-//
-HRESULT __stdcall IWaterMarkUI::QueryInterface(const IID& iid, void** ppv)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:QueryInterface entry.\r\n\r\n"));
- if (iid == IID_IUnknown)
- {
- *ppv = static_cast<IUnknown*>(this);
- VERBOSE(DLLTEXT("IWaterMarkUI:Return pointer to IUnknown.\r\n\r\n"));
- }
- else if (iid == IID_IPrintOemUI)
- {
- *ppv = static_cast<IPrintOemUI*>(this) ;
- VERBOSE(DLLTEXT("IWaterMarkUI:Return pointer to IPrintOemUI.\r\n"));
- }
- else
- {
- VERBOSE(DLLTEXT("IWaterMarkUI::QueryInterface: interface not supported.\r\n"));
- *ppv = NULL ;
- return E_NOINTERFACE ;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef() ;
- return S_OK ;
-}
-
-ULONG __stdcall IWaterMarkUI::AddRef()
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:AddRef entry.\r\n"));
- return InterlockedIncrement(&m_cRef) ;
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IWaterMarkUI::Release()
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:Release entry.\r\n"));
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-HRESULT __stdcall IWaterMarkUI::PublishDriverInterface(
- IUnknown *pIUnknown)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:PublishDriverInterface entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pIUnknown);
-
- // Don't use the DriverInterface, so don't store it.
-
- return S_OK;
-}
-
-HRESULT __stdcall IWaterMarkUI::GetInfo(
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI::GetInfo entry.\r\r\n"));
-
- // Validate parameters.
- if( (NULL == pcbNeeded)
- ||
- ( (OEMGI_GETSIGNATURE != dwMode)
- &&
- (OEMGI_GETVERSION != dwMode)
- &&
- (OEMGI_GETPUBLISHERINFO != dwMode)
- )
- )
- {
- VERBOSE(DLLTEXT("IWaterMarkUI::GetInfo() exit pcbNeeded is NULL!\r\r\n"));
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Set expected buffer size and number of bytes written.
- *pcbNeeded = sizeof(DWORD);
-
- // Check buffer size is sufficient.
- if((cbSize < *pcbNeeded) || (NULL == pBuffer))
- {
- WARNING(DLLTEXT("IWaterMarkUI::GetInfo() exit insufficient buffer!\r\r\n"));
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- // OEM DLL Signature
- case OEMGI_GETSIGNATURE:
- *(PDWORD)pBuffer = OEM_SIGNATURE;
- break;
-
- // OEM DLL version
- case OEMGI_GETVERSION:
- *(PDWORD)pBuffer = OEM_VERSION;
- break;
-
- // dwMode not supported.
- default:
- // Set written bytes to zero since nothing was written.
- WARNING(DLLTEXT("IWaterMarkUI::GetInfo() exit mode not supported.\r\r\n"));
- *pcbNeeded = 0;
- SetLastError(ERROR_NOT_SUPPORTED);
- return E_FAIL;
- }
-
- VERBOSE(DLLTEXT("IWaterMarkUI::GetInfo() exit S_OK.\r\r\n"));
- return S_OK;
-}
-
-HRESULT __stdcall IWaterMarkUI::DevMode(
- DWORD dwMode,
- POEMDMPARAM pOemDMParam)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:DevMode entry.\r\n"));
-
- return hrOEMDevMode(dwMode, pOemDMParam);
-}
-
-HRESULT __stdcall IWaterMarkUI::CommonUIProp(
- DWORD dwMode,
- POEMCUIPPARAM pOemCUIPParam)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:CommonUIProp entry.\r\n"));
-
- return hrOEMPropertyPage(dwMode, pOemCUIPParam);
-}
-
-
-HRESULT __stdcall IWaterMarkUI::DocumentPropertySheets(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:DocumentPropertySheets entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pPSUIInfo);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWaterMarkUI::DevicePropertySheets(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:DevicePropertySheets entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pPSUIInfo);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWaterMarkUI::DeviceCapabilities(
- POEMUIOBJ poemuiobj,
- HANDLE hPrinter,
- _In_ PWSTR pDeviceName,
- WORD wCapability,
- PVOID pOutput,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- DWORD dwOld,
- DWORD *dwResult)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:DeviceCapabilities entry.\r\n"));
-
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(pDeviceName);
- UNREFERENCED_PARAMETER(wCapability);
- UNREFERENCED_PARAMETER(pOutput);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
- UNREFERENCED_PARAMETER(dwOld);
- UNREFERENCED_PARAMETER(dwResult);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWaterMarkUI::DevQueryPrintEx(
- POEMUIOBJ poemuiobj,
- PDEVQUERYPRINT_INFO pDQPInfo,
- PDEVMODE pPublicDM,
- PVOID pOEMDM)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:DevQueryPrintEx entry.\r\n"));
-
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(pDQPInfo);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWaterMarkUI::UpgradePrinter(
- DWORD dwLevel,
- PBYTE pDriverUpgradeInfo)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:UpgradePrinter entry.\r\n"));
-
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(pDriverUpgradeInfo);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWaterMarkUI::PrinterEvent(
- _In_ PWSTR pPrinterName,
- INT iDriverEvent,
- DWORD dwFlags,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:PrinterEvent entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pPrinterName);
- UNREFERENCED_PARAMETER(iDriverEvent);
- UNREFERENCED_PARAMETER(dwFlags);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWaterMarkUI::DriverEvent(
- DWORD dwDriverEvent,
- DWORD dwLevel,
- LPBYTE pDriverInfo,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:DriverEvent entry.\r\n"));
-
- UNREFERENCED_PARAMETER(dwDriverEvent);
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(pDriverInfo);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-};
-
-
-HRESULT __stdcall IWaterMarkUI::QueryColorProfile(
- HANDLE hPrinter,
- POEMUIOBJ poemuiobj,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- ULONG ulQueryMode,
- VOID *pvProfileData,
- ULONG *pcbProfileData,
- FLONG *pflProfileData)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:QueryColorProfile entry.\r\n"));
-
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
- UNREFERENCED_PARAMETER(ulQueryMode);
- UNREFERENCED_PARAMETER(pvProfileData);
- UNREFERENCED_PARAMETER(pcbProfileData);
- UNREFERENCED_PARAMETER(pflProfileData);
-
- return E_NOTIMPL;
-};
-
-HRESULT __stdcall IWaterMarkUI::FontInstallerDlgProc(
- HWND hWnd,
- UINT usMsg,
- WPARAM wParam,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:FontInstallerDlgProc entry.\r\n"));
-
- UNREFERENCED_PARAMETER(hWnd);
- UNREFERENCED_PARAMETER(usMsg);
- UNREFERENCED_PARAMETER(wParam);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-};
-
-HRESULT __stdcall IWaterMarkUI::UpdateExternalFonts(
- HANDLE hPrinter,
- HANDLE hHeap,
- _In_ PWSTR pwstrCartridges)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:UpdateExternalFonts entry.\r\n"));
-
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(hHeap);
- UNREFERENCED_PARAMETER(pwstrCartridges);
-
- return E_NOTIMPL;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// oem class factory
-//
-class IOemCF : public IClassFactory
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- // *** IClassFactory methods ***
- STDMETHOD(CreateInstance) (THIS_
- LPUNKNOWN pUnkOuter,
- REFIID riid,
- LPVOID FAR* ppvObject);
- STDMETHOD(LockServer) (THIS_ BOOL bLock);
-
-
- // Constructor
- IOemCF(): m_cRef(1) { };
- ~IOemCF() { };
-
-protected:
- LONG m_cRef;
-
-};
-
-///////////////////////////////////////////////////////////
-//
-// Class factory body
-//
-HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv)
-{
- if ((iid == IID_IUnknown) || (iid == IID_IClassFactory))
- {
- *ppv = static_cast<IOemCF*>(this) ;
- }
- else
- {
- WARNING(DLLTEXT("IOemCF::QueryInterface: interface not supported.\r\n"));
- *ppv = NULL ;
- return E_NOINTERFACE ;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef() ;
- return S_OK ;
-}
-
-ULONG __stdcall IOemCF::AddRef()
-{
- return InterlockedIncrement(&m_cRef) ;
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IOemCF::Release()
-{
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-// IClassFactory implementation
-HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter,
- const IID& iid,
- void** ppv)
-{
- //DbgPrint(DLLTEXT("Class factory:\t\tCreate component.")) ;
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Cannot aggregate.
- if (pUnknownOuter != NULL)
- {
- return CLASS_E_NOAGGREGATION ;
- }
-
- // Create component.
- IWaterMarkUI* pOemCB = new IWaterMarkUI ;
- if (pOemCB == NULL)
- {
- return E_OUTOFMEMORY ;
- }
- // Get the requested interface.
- HRESULT hr = pOemCB->QueryInterface(iid, ppv) ;
-
- // Release the IUnknown pointer.
- // (If QueryInterface failed, component will delete itself.)
- pOemCB->Release() ;
- return hr ;
-}
-
-// LockServer
-HRESULT __stdcall IOemCF::LockServer(BOOL bLock)
-{
- if (bLock)
- {
- InterlockedIncrement(&g_cServerLocks) ;
- }
- else
- {
- InterlockedDecrement(&g_cServerLocks) ;
- }
- return S_OK ;
-}
-
-///////////////////////////////////////////////////////////
-//
-// Exported functions
-//
-
-
-// Can DLL unload now?
-//
-STDAPI DllCanUnloadNow()
-{
- //
- // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers
- // are unloaded, Unidrv and Pscript driver ignore the return value of
- // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL.
- //
- // If OEM DLL spins off a working thread that also uses the OEM DLL, the
- // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise
- // it may crash after Unidrv or Pscript calls FreeLibrary.
- //
-
- if ((g_cComponents == 0) && (g_cServerLocks == 0))
- {
- return S_OK ;
- }
- else
- {
- return S_FALSE;
- }
-}
-
-//
-// Get class factory
-//
-STDAPI DllGetClassObject(
- _In_ REFCLSID clsid,
- _In_ REFIID iid,
- _Outptr_ LPVOID* ppv)
-{
- VERBOSE(DLLTEXT("DllGetClassObject:Create class factory.\r\n"));
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Can we create this component?
- if (clsid != CLSID_OEMUI)
- {
- return CLASS_E_CLASSNOTAVAILABLE ;
- }
-
- // Create class factory.
- IOemCF* pFontCF = new IOemCF ; // Reference count set to 1
- // in constructor
- if (pFontCF == NULL)
- {
- return E_OUTOFMEMORY ;
- }
-
- // Get requested interface.
- HRESULT hr = pFontCF->QueryInterface(iid, ppv) ;
- pFontCF->Release() ;
-
- return hr ;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/intrface.h
deleted file mode 100644
index cccfce7d..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/intrface.h
+++ /dev/null
@@ -1,177 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: intrface.H
-//
-// PURPOSE: Define the UI interface plug-in
-//
-#pragma once
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IWaterMarkUI
-//
-class IWaterMarkUI: public IPrintOemUI
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- //
- // Method for publishing Driver interface.
- //
- STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown);
-
- //
- // Get OEM dll related information
- //
-
- STDMETHOD(GetInfo) (THIS_ DWORD dwMode, PVOID pBuffer, DWORD cbSize,
- PDWORD pcbNeeded);
-
- //
- // OEMDevMode
- //
-
- STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) ;
-
- //
- // OEMCommonUIProp
- //
-
- STDMETHOD(CommonUIProp) (THIS_
- DWORD dwMode,
- POEMCUIPPARAM pOemCUIPParam
- );
-
- //
- // OEMDocumentPropertySheets
- //
-
- STDMETHOD(DocumentPropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
- //
- // OEMDevicePropertySheets
- //
-
- STDMETHOD(DevicePropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
-
- //
- // OEMDevQueryPrintEx
- //
-
- STDMETHOD(DevQueryPrintEx) (THIS_
- POEMUIOBJ poemuiobj,
- PDEVQUERYPRINT_INFO pDQPInfo,
- PDEVMODE pPublicDM,
- PVOID pOEMDM
- );
-
- //
- // OEMDeviceCapabilities
- //
-
- STDMETHOD(DeviceCapabilities) (THIS_
- POEMUIOBJ poemuiobj,
- HANDLE hPrinter,
- _In_ PWSTR pDeviceName,
- WORD wCapability,
- PVOID pOutput,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- DWORD dwOld,
- DWORD *dwResult
- );
-
- //
- // OEMUpgradePrinter
- //
-
- STDMETHOD(UpgradePrinter) (THIS_
- DWORD dwLevel,
- PBYTE pDriverUpgradeInfo
- );
-
- //
- // OEMPrinterEvent
- //
-
- STDMETHOD(PrinterEvent) (THIS_
- _In_ PWSTR pPrinterName,
- INT iDriverEvent,
- DWORD dwFlags,
- LPARAM lParam
- );
-
- //
- // OEMDriverEvent
- //
-
- STDMETHOD(DriverEvent)(THIS_
- DWORD dwDriverEvent,
- DWORD dwLevel,
- LPBYTE pDriverInfo,
- LPARAM lParam
- );
-
- //
- // OEMQueryColorProfile
- //
-
- STDMETHOD(QueryColorProfile) (THIS_
- HANDLE hPrinter,
- POEMUIOBJ poemuiobj,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- ULONG ulReserved,
- VOID *pvProfileData,
- ULONG *pcbProfileData,
- FLONG *pflProfileData);
-
- //
- // OEMFontInstallerDlgProc
- //
-
- STDMETHOD(FontInstallerDlgProc) (THIS_
- HWND hWnd,
- UINT usMsg,
- WPARAM wParam,
- LPARAM lParam
- );
- //
- // UpdateExternalFonts
- //
-
- STDMETHOD(UpdateExternalFonts) (THIS_
- HANDLE hPrinter,
- HANDLE hHeap,
- _In_ PWSTR pwstrCartridges
- );
-
-
- IWaterMarkUI() { m_cRef = 1; };
- ~IWaterMarkUI() { };
-
-protected:
- LONG m_cRef;
-};
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/precomp.h
deleted file mode 100644
index e861cd21..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/precomp.h
+++ /dev/null
@@ -1,50 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: precomp.h
-//
-// PURPOSE: Header files that should be in the precompiled header.
-
-#pragma once
-
-// Necessary for compiling under VC.
-#if(!defined(WINVER) || (WINVER < 0x0500))
- #undef WINVER
- #define WINVER 0x0500
-#endif
-#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500))
- #undef _WIN32_WINNT
- #define _WIN32_WINNT 0x0500
-#endif
-
-// Required header files that shouldn't change often.
-
-
-#include <STDDEF.H>
-#include <STDLIB.H>
-#include <OBJBASE.H>
-#include <STDARG.H>
-#include <STDIO.H>
-#include <WINDEF.H>
-#include <WINERROR.H>
-#include <WINBASE.H>
-#include <WINGDI.H>
-#include <WINDDI.H>
-#include <TCHAR.H>
-#include <EXCPT.H>
-#include <ASSERT.H>
-#include <PRSHT.H>
-#include <COMPSTUI.H>
-#include "WINDDIUI.H"
-#include <PRINTOEM.H>
-#include <INITGUID.H>
-#include <PRCOMOEM.H>
-
-// StrSafe.h needs to be included last
-// to disallow unsafe string functions.
-#include <STRSAFE.H>
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/precompsrc.cpp
deleted file mode 100644
index 5944cf51..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/precompsrc.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "precomp.h" \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/resource.h
deleted file mode 100644
index 5993d40c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/resource.h
+++ /dev/null
@@ -1,24 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by wmarkui.rc
-//
-#define IDS_WATERMARK 1
-#define IDS_TEXT 2
-#define IDS_FONTSIZE 3
-#define IDS_ANGLE 4
-#define IDS_COLOR 5
-#define IDS_GRAY 6
-#define IDS_RED 7
-#define IDS_GREEN 8
-#define IDS_BLUE 9
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 103
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.cpp
deleted file mode 100644
index c09e47c6..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.cpp
+++ /dev/null
@@ -1,590 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: WMarkUI.cpp
-//
-//
-// PURPOSE: Main file for OEM UI test module.
-//
-//
-
-#include "precomp.h"
-#include "resource.h"
-#include "debug.h"
-#include "wmarkui.h"
-
-
-// This indicates to Prefast that this is a usermode driver file.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-////////////////////////////////////////////////////////
-// INTERNAL MACROS and DEFINES
-////////////////////////////////////////////////////////
-
-
-
-////////////////////////////////////////////////////////
-// INTERNAL PROTOTYPES
-////////////////////////////////////////////////////////
-
-LONG APIENTRY OEMUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam);
-static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam);
-static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems);
-static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams);
-static DWORD FontSizeToIndex(DWORD dwFontSize);
-static DWORD FontIndexToSize(DWORD dwIndex);
-static DWORD TextColorToIndex(COLORREF crTextColor);
-static COLORREF IndexToTextColor(DWORD dwIndex);
-static PTSTR GetStringResource(HANDLE hHeap, HMODULE hModule, UINT uResource);
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems to display OEM device or document property UI.
-//
-HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam)
-{
- HRESULT hResult = S_OK;
-
-
- VERBOSE(DLLTEXT("hrOEMPropertyPage entry.\r\n"));
-
- // Validate parameters.
- if( (OEMCUIP_DOCPROP != dwMode)
- &&
- (OEMCUIP_PRNPROP != dwMode)
- )
- {
- ERR(DLLTEXT("hrOEMPropertyPage() ERROR_INVALID_PARAMETER.\r\n"));
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- case OEMCUIP_DOCPROP:
- hResult = hrDocumentPropertyPage(dwMode, pOEMUIParam);
- break;
-
- case OEMCUIP_PRNPROP:
- // Don't have any Printer Proptery UI.
- hResult = E_NOTIMPL;
- break;
-
- default:
- // Should never reach this!
- ERR(DLLTEXT("hrOEMPropertyPage() Invalid dwMode"));
- SetLastError(ERROR_INVALID_PARAMETER);
- hResult = E_FAIL;
- break;
- }
-
- return hResult;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// OptItems call back for OEM device or document property UI.
-//
-LONG APIENTRY OEMUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam)
-{
- LONG lReturn = CPSUICB_ACTION_NONE;
- POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM;
-
-
- VERBOSE(DLLTEXT("OEMUICallBack() entry.\r\n"));
-
- switch(pCallbackParam->Reason)
- {
- case CPSUICB_REASON_APPLYNOW:
- // Store OptItems state in DEVMODE.
- pOEMDev->bEnabled = !pOEMUIParam->pOEMOptItems[0].Sel;
- if(FAILED(StringCbCopyW(pOEMDev->szWaterMark, sizeof(pOEMDev->szWaterMark), (LPWSTR)pOEMUIParam->pOEMOptItems[1].pSel)))
- {
- ERR(DLLTEXT("OEMUICallBack() failed to copy water mark text\r\n"));
- }
- pOEMDev->dwFontSize = FontIndexToSize(pOEMUIParam->pOEMOptItems[2].Sel);
- pOEMDev->dfRotate = (DOUBLE) pOEMUIParam->pOEMOptItems[3].Sel;
- pOEMDev->crTextColor = IndexToTextColor(pOEMUIParam->pOEMOptItems[4].Sel);
- break;
-
- default:
- break;
- }
-
- return lReturn;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems to display OEM document property UI.
-//
-static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam)
-{
- if(NULL == pOEMUIParam->pOEMOptItems)
- {
- // Fill in the number of OptItems to create for OEM document property UI.
- pOEMUIParam->cOEMOptItems = 5;
-
- VERBOSE(DLLTEXT("hrDocumentPropertyPage() requesting items.\r\n"));
- }
- else if(dwMode == OEMCUIP_DOCPROP)
- {
- POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM;
-
-
- VERBOSE(DLLTEXT("hrDocumentPropertyPage() fill out items.\r\n"));
-
- // Init UI Callback reference.
- pOEMUIParam->OEMCUIPCallback = OEMUICallBack;
-
- // Init OEMOptItmes.
- InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems);
-
- // Fill out tree view items.
-
- // Water Mark Section Name.
- pOEMUIParam->pOEMOptItems[0].Level = 1;
- pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE;
- pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_WATERMARK);
- pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->bEnabled ? 0 : 1;
-
- pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2);
-
- pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_COMBOBOX;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[0].pData = L"Enabled";
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[0].IconID = IDI_CPSUI_ON;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].pData = L"Disabled";
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = IDI_CPSUI_OFF;
-
-
- // WaterMark Text.
- pOEMUIParam->pOEMOptItems[1].Level = 2;
- pOEMUIParam->pOEMOptItems[1].Flags = 0;
- pOEMUIParam->pOEMOptItems[1].pName = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_TEXT);
- pOEMUIParam->pOEMOptItems[1].pSel = (LPTSTR) HeapAlloc(pOEMUIParam->hOEMHeap, HEAP_ZERO_MEMORY, MAX_PATH * sizeof(WCHAR));
- if (pOEMUIParam->pOEMOptItems[1].pSel == NULL)
- {
- ERR(DLLTEXT("hrDocumentPropertyPage() failed to copy water mark text\r\n"));
- return E_OUTOFMEMORY;
- }
-
- if(FAILED(StringCbCopyW((LPWSTR)pOEMUIParam->pOEMOptItems[1].pSel, MAX_PATH * sizeof(WCHAR), pOEMDev->szWaterMark)))
- {
- ERR(DLLTEXT("hrDocumentPropertyPage() failed to copy water mark text\r\n"));
- }
-
- pOEMUIParam->pOEMOptItems[1].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2);
-
- pOEMUIParam->pOEMOptItems[1].pOptType->Type = TVOT_EDITBOX;
- pOEMUIParam->pOEMOptItems[1].pOptType->pOptParam[1].IconID = sizeof(((POEMDEV)NULL)->szWaterMark)/sizeof(WCHAR);
-
-
- // WaterMark Font Size.
- pOEMUIParam->pOEMOptItems[2].Level = 2;
- pOEMUIParam->pOEMOptItems[2].Flags = 0;
- pOEMUIParam->pOEMOptItems[2].pName = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_FONTSIZE);
- pOEMUIParam->pOEMOptItems[2].Sel = FontSizeToIndex(pOEMDev->dwFontSize);
-
- pOEMUIParam->pOEMOptItems[2].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 16);
-
- pOEMUIParam->pOEMOptItems[2].pOptType->Type = TVOT_COMBOBOX;
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[0].pData = L"8";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[1].pData = L"9";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[2].pData = L"10";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[3].pData = L"11";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[4].pData = L"12";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[5].pData = L"14";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[6].pData = L"16";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[7].pData = L"18";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[8].pData = L"20";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[9].pData = L"22";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[10].pData = L"24";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[11].pData = L"26";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[12].pData = L"28";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[13].pData = L"36";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[14].pData = L"48";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[15].pData = L"72";
-
-
- // WaterMark Angle.
- pOEMUIParam->pOEMOptItems[3].Level = 2;
- pOEMUIParam->pOEMOptItems[3].Flags = 0;
- pOEMUIParam->pOEMOptItems[3].pName = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_ANGLE);
- pOEMUIParam->pOEMOptItems[3].Sel = (LONG) pOEMDev->dfRotate;
-
- pOEMUIParam->pOEMOptItems[3].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2);
-
- pOEMUIParam->pOEMOptItems[3].pOptType->Type = TVOT_UDARROW;
- pOEMUIParam->pOEMOptItems[3].pOptType->pOptParam[1].IconID = 0;
- pOEMUIParam->pOEMOptItems[3].pOptType->pOptParam[1].lParam = 360;
-
-
- // WaterMark Color.
- pOEMUIParam->pOEMOptItems[4].Level = 2;
- pOEMUIParam->pOEMOptItems[4].Flags = 0;
- pOEMUIParam->pOEMOptItems[4].pName = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_COLOR);
- pOEMUIParam->pOEMOptItems[4].Sel = TextColorToIndex(pOEMDev->crTextColor);
-
- pOEMUIParam->pOEMOptItems[4].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 4);
-
- pOEMUIParam->pOEMOptItems[4].pOptType->Type = TVOT_COMBOBOX;
- pOEMUIParam->pOEMOptItems[4].pOptType->pOptParam[0].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_GRAY);
- pOEMUIParam->pOEMOptItems[4].pOptType->pOptParam[1].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_RED);
- pOEMUIParam->pOEMOptItems[4].pOptType->pOptParam[2].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_GREEN);
- pOEMUIParam->pOEMOptItems[4].pOptType->pOptParam[3].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_BLUE);
- }
-
- return S_OK;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems.
-//
-static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems)
-{
- VERBOSE(DLLTEXT("InitOptItems() entry.\r\n"));
-
- // Zero out memory.
- memset(pOptItems, 0, sizeof(OPTITEM) * dwOptItems);
-
- // Set each OptItem's size, and Public DM ID.
- for(DWORD dwCount = 0; dwCount < dwOptItems; dwCount++)
- {
- pOptItems[dwCount].cbSize = sizeof(OPTITEM);
- pOptItems[dwCount].DMPubID = DMPUB_NONE;
- }
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Allocates and initializes OptType for OptItem.
-//
-static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams)
-{
- POPTTYPE pOptType = NULL;
-
-
- VERBOSE(DLLTEXT("CreateOptType() entry.\r\n"));
-
- // Allocate memory from the heap for the OPTTYPE; the driver will take care of clean up.
- pOptType = (POPTTYPE) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OPTTYPE));
- if(NULL != pOptType)
- {
- // Initialize OPTTYPE.
- pOptType->cbSize = sizeof(OPTTYPE);
- pOptType->Count = wOptParams;
-
- // Allocate memory from the heap for the OPTPARAMs for the OPTTYPE.
- pOptType->pOptParam = (POPTPARAM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, wOptParams * sizeof(OPTPARAM));
- if(NULL != pOptType->pOptParam)
- {
- // Initialize the OPTPARAMs.
- for(WORD wCount = 0; wCount < wOptParams; wCount++)
- {
- pOptType->pOptParam[wCount].cbSize = sizeof(OPTPARAM);
- }
- }
- else
- {
- ERR(DLLTEXT("CreateOptType() failed to allocated memory for OPTPARAMs!\r\n"));
-
- // Free allocated memory and return NULL.
- HeapFree(hHeap, 0, pOptType);
- pOptType = NULL;
- }
- }
- else
- {
- ERR(DLLTEXT("CreateOptType() failed to allocated memory for OPTTYPE!\r\n"));
- }
-
- return pOptType;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Converts Font point size to index in combo box.
-//
-static DWORD FontSizeToIndex(DWORD dwFontSize)
-{
- DWORD dwIndex;
-
-
- switch(dwFontSize)
- {
- case 8:
- dwIndex = 0;
- break;
-
- case 9:
- dwIndex = 1;
- break;
-
- case 10:
- dwIndex = 2;
- break;
-
- case 11:
- dwIndex = 3;
- break;
-
- case 12:
- dwIndex = 4;
- break;
-
- case 14:
- dwIndex = 5;
- break;
-
- case 16:
- dwIndex = 6;
- break;
-
- case 18:
- dwIndex = 7;
- break;
-
- case 20:
- dwIndex = 8;
- break;
-
- case 22:
- dwIndex = 9;
- break;
-
- case 24:
- dwIndex = 10;
- break;
-
- case 26:
- dwIndex = 11;
- break;
-
- default:
- case 28:
- dwIndex = 12;
- break;
-
- case 36:
- dwIndex = 13;
- break;
-
- case 48:
- dwIndex = 14;
- break;
-
- case 72:
- dwIndex = 15;
- break;
- }
-
-
- return dwIndex;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Converts Font combo box index to font point size.
-//
-static DWORD FontIndexToSize(DWORD dwIndex)
-{
- DWORD dwFontSize = 0;
-
-
- switch(dwIndex)
- {
- case 0:
- dwFontSize = 8;
- break;
-
- case 1:
- dwFontSize = 9;
- break;
-
- case 2:
- dwFontSize = 10;
- break;
-
- case 3:
- dwFontSize = 11;
- break;
-
- case 4:
- dwFontSize = 12;
- break;
-
- case 5:
- dwFontSize = 14;
- break;
-
- case 6:
- dwFontSize = 16;
- break;
-
- case 7:
- dwFontSize = 18;
- break;
-
- case 8:
- dwFontSize = 20;
- break;
-
- case 9:
- dwFontSize = 22;
- break;
-
- case 10:
- dwFontSize = 24;
- break;
-
- case 11:
- dwFontSize = 26;
- break;
-
- case 12:
- dwFontSize = 28;
- break;
-
- case 13:
- dwFontSize = 36;
- break;
-
- case 14:
- dwFontSize = 48;
- break;
-
- case 15:
- dwFontSize = 72;
- break;
- }
-
- return dwFontSize;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Converts text color to combo box index.
-//
-static DWORD TextColorToIndex(COLORREF crTextColor)
-{
- DWORD dwIndex;
-
-
- // The color is what ever color is dominate. If none are, then it is gray.
- if( (GetRValue(crTextColor) > GetGValue(crTextColor))
- &&
- (GetGValue(crTextColor) >= GetBValue(crTextColor))
- )
- {
- // Set index to red.
- dwIndex = 1;
- }
- else if( (GetRValue(crTextColor) < GetGValue(crTextColor))
- &&
- (GetGValue(crTextColor) > GetBValue(crTextColor))
- )
- {
- // Set index to green.
- dwIndex = 2;
- }
- else if( (GetRValue(crTextColor) <= GetGValue(crTextColor))
- &&
- (GetGValue(crTextColor) < GetBValue(crTextColor))
- )
- {
- // Set index to blue.
- dwIndex = 3;
- }
- else
- {
- // Set index to gray.
- dwIndex = 0;
- }
-
- return dwIndex;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Converts text combo box index to text color.
-//
-static COLORREF IndexToTextColor(DWORD dwIndex)
-{
- COLORREF crTextColor;
-
- // Map index to desired text color.
- // We just support 4 colors in the UI: Red, Green, Blue, and gray.
- // The rendering module is capable of using any color for the Water Mark Text.
- switch(dwIndex)
- {
- case 1:
- // Color is red.
- crTextColor = RGB(255, 216, 216);
- break;
-
- case 2:
- // Color is green.
- crTextColor = RGB(216, 255, 216);
- break;
-
- case 3:
- // Color is blue.
- crTextColor = RGB(216, 216, 255);
- break;
-
- default:
- case 0:
- // Color is gray.
- crTextColor = WATER_MARK_DEFAULT_COLOR;
- break;
- }
-
- return crTextColor;
-}
-
-////////////////////////////////////////////////////////////////////////////////////
-//
-// Retrieves pointer to a String resource.
-//
-static PTSTR GetStringResource(HANDLE hHeap, HMODULE hModule, UINT uResource)
-{
- int nResult;
- DWORD dwSize = MAX_PATH;
- PTSTR pszString = NULL;
-
-
- VERBOSE(DLLTEXT("GetStringResource() entered.\r\n"));
-
- // Allocate buffer for string resource from heap; let the driver clean it up.
- pszString = (PTSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize * sizeof(TCHAR));
- if(NULL != pszString)
- {
- PTSTR pTemp;
-
- // Load string resource; resize after loading so as not to waste memory.
- nResult = LoadString(hModule, uResource, pszString, dwSize);
- pTemp = (PTSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pszString, (nResult + 1) * sizeof(TCHAR));
- if(NULL != pTemp)
- {
- pszString = pTemp;
- }
- }
- else
- {
- ERR(DLLTEXT("GetStringResource() failed to allocate string buffer!\r\n"));
- }
-
- return pszString;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.def b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.def
deleted file mode 100644
index 8bea2782..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY WMARKUI
-EXPORTS DllGetClassObject PRIVATE
- DllCanUnloadNow PRIVATE \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.h
deleted file mode 100644
index 909056be..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: WMarkUI.H
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for WaterMark UI.
-//
-#pragma once
-
-#include <OEM.H>
-#include <DEVMODE.H>
-#include "globals.h"
-
-
-////////////////////////////////////////////////////////
-// OEM UI Defines
-////////////////////////////////////////////////////////
-
-
-// OEM Signature and version.
-#define PROP_TITLE L"WaterMark UI Page"
-#define DLLTEXT(s) "WMARKUI: " s
-
-////////////////////////////////////////////////////////
-// Prototypes
-////////////////////////////////////////////////////////
-
-HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam);
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.rc b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.rc
deleted file mode 100644
index 3ac11d52..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.rc
+++ /dev/null
@@ -1,128 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "Written by Windows Printing & Imaging Team\0"
- VALUE "CompanyName", "Microsoft Corp.\0"
- VALUE "FileDescription", "WaterMark UI\0"
- VALUE "FileVersion", "1, 0, 0, 1\0"
- VALUE "InternalName", "WMarkUI\0"
- VALUE "LegalCopyright", "Copyright � 1998-2003\0"
- VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation\0"
- VALUE "OriginalFilename", "WMarkUI.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "Microsoft WaterMark\0"
- VALUE "ProductVersion", "1.0\0"
- VALUE "SpecialBuild", "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // !_MAC
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""winres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_WATERMARK "Water Mark"
- IDS_TEXT "Text"
- IDS_FONTSIZE "Font Size"
- IDS_ANGLE "Angle"
- IDS_COLOR "Color"
- IDS_GRAY "Gray"
- IDS_RED "Red"
- IDS_GREEN "Green"
- IDS_BLUE "Blue"
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/debug.h
deleted file mode 100644
index 0414569c..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/debug.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Debug.H
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debugging functions. Also defines the various debug macros.
-//
-//
-
-#pragma once
-
-/////////////////////////////////////////////////////////
-// Macros
-/////////////////////////////////////////////////////////
-//
-// These macros are used for debugging purposes. They expand
-// to white spaces on a free build. Here is a brief description
-// of what they do and how they are used:
-//
-// giDebugLevel
-// Global variable which set the current debug level to control
-// the amount of debug messages emitted.
-//
-// WARNING(msg)
-// Display a message if the current debug level is <= DBG_WARNING.
-// The message format is: WRN filename (linenumber): message
-//
-// ERR(msg)
-// Similiar to WARNING macro above - displays a message
-// if the current debug level is <= DBG_ERROR.
-//
-// ASSERT(cond)
-// Verify a condition is true. If not, force a breakpoint.
-//
-// RIP(msg)
-// Display a message and force a breakpoint.
-//
-// Usage:
-// WARNING("App passed NULL pointer, ignoring...\n");
-//
-
-#define DBG_VERBOSE 0
-#define DBG_WARNING 1
-#define DBG_ERROR 2
-#define DBG_NONE 3
-
-// VC and Build use different debug defines.
-#if defined (DBG) || defined (_DEBUG)
-
- // __declspec(selectany) ensures that even if this is defined in multiple compilation
- // modules, they will all resolve to the same symbol in the linked DLL
- __declspec(selectany) INT giDebugLevel = 2;
-
- #define STRINGIZE(x) #x
- #define QUOTE(x) STRINGIZE(x)
- #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__)
-
- #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); }
- #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); }
- #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); }
- #define ASSERT(cond) { if (!(cond)) RIP("\n"); }
- #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); }
-
-#else // !DBG
-
- #define VERBOSE(msg)
- #define WARNING(msg)
- #define ERR(msg)
- #define ASSERT(cond)
- #define RIP(msg)
-
-#endif
-
-
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/devmode.cpp
deleted file mode 100644
index 328d6fb4..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/devmode.cpp
+++ /dev/null
@@ -1,216 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.cpp
-//
-// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules.
-//
-
-// This file is wrapped in fdebug.cpp in other parts of the watermark sample.
-// The appropriate precompiled header should be included there.
-// #include "precomp.h
-#include "debug.h"
-#include "devmode.h"
-
-// indicate to prefast that this is a user-mode component.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam)
-{
- HRESULT hResult = S_OK;
- POEMDEV pOEMDevIn = NULL;
- POEMDEV pOEMDevOut = NULL;
-
-
- // Verify parameters.
- if( (NULL == pOemDMParam)
- ||
- ( (OEMDM_SIZE != dwMode)
- &&
- (OEMDM_DEFAULT != dwMode)
- &&
- (OEMDM_CONVERT != dwMode)
- &&
- (OEMDM_MERGE != dwMode)
- )
- )
- {
- ERR(DLLTEXT("DevMode() ERROR_INVALID_PARAMETER.\r\n"));
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Cast generic (i.e. PVOID) to OEM private devomode pointer type.
- pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn;
- pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut;
-
- switch(dwMode)
- {
- case OEMDM_SIZE:
- pOemDMParam->cbBufSize = sizeof(OEMDEV);
- break;
-
- case OEMDM_DEFAULT:
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- pOEMDevOut->bWmarkEnabled = WATER_MARK_DEFAULT_ENABLED;
- pOEMDevOut->dwWmarkFontSize = WATER_MARK_DEFAULT_FONTSIZE;
- pOEMDevOut->crWmarkTextColor = WATER_MARK_DEFAULT_COLOR;
- hResult = StringCbCopyW(pOEMDevOut->szWaterMark, sizeof(pOEMDevOut->szWaterMark), WATER_MARK_DEFAULT_TEXT);
- break;
-
- case OEMDM_CONVERT:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- break;
-
- case OEMDM_MERGE:
- ConvertOEMDevmode(pOEMDevIn, pOEMDevOut);
- MakeOEMDevmodeValid(pOEMDevOut);
- break;
- }
-
- return hResult;
-}
-
-
-BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut)
-{
- HRESULT hCopy = S_OK;
-
-
- if( (NULL == pOEMDevIn)
- ||
- (NULL == pOEMDevOut)
- )
- {
- ERR(DLLTEXT("ConvertOEMDevmode() invalid parameters.\r\n"));
- return FALSE;
- }
-
- // Check OEM Signature, if it doesn't match ours,
- // then just assume DMIn is bad and use defaults.
- if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature)
- {
- VERBOSE(DLLTEXT("Converting private OEM Devmode.\r\n"));
-
- // Set the devmode defaults so that anything the isn't copied over will
- // be set to the default value.
- pOEMDevOut->bWmarkEnabled = WATER_MARK_DEFAULT_ENABLED;
- pOEMDevOut->dwWmarkFontSize = WATER_MARK_DEFAULT_FONTSIZE;
- pOEMDevOut->crWmarkTextColor = WATER_MARK_DEFAULT_COLOR;
- hCopy = StringCbCopyW(pOEMDevOut->szWaterMark, sizeof(pOEMDevOut->szWaterMark), WATER_MARK_DEFAULT_TEXT);
-
- // Copy the old structure in to the new using which ever size is the smaller.
- // Devmode maybe from newer Devmode (not likely since there is only one), or
- // Devmode maybe a newer Devmode, in which case it maybe larger,
- // but the first part of the structure should be the same.
-
- // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to;
- // the fields that are in the DEVMODE never change only new fields get added to the end.
-
- memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize));
-
- // Re-fill in the size and version fields to indicated
- // that the DEVMODE is the current private DEVMODE version.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- }
- else
- {
- WARNING(DLLTEXT("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n"));
-
- // Don't know what the input DEVMODE is, so just use defaults.
- pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION;
- pOEMDevOut->bWmarkEnabled = WATER_MARK_DEFAULT_ENABLED;
- pOEMDevOut->dwWmarkFontSize = WATER_MARK_DEFAULT_FONTSIZE;
- pOEMDevOut->crWmarkTextColor = WATER_MARK_DEFAULT_COLOR;
- hCopy = StringCbCopyW(pOEMDevOut->szWaterMark, sizeof(pOEMDevOut->szWaterMark), WATER_MARK_DEFAULT_TEXT);
- }
-
- return SUCCEEDED(hCopy);
-}
-
-
-BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode)
-{
- if(NULL == pOEMDevmode)
- {
- return FALSE;
- }
-
- // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure.
-
- // Make sure that dmOEMExtra indicates the current OEMDEV structure.
- pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV);
- pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE;
- pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION;
-
- // bEnable should be either TRUE or FALSE.
- if( (TRUE != pOEMDevmode->bWmarkEnabled)
- &&
- (FALSE != pOEMDevmode->bWmarkEnabled)
- )
- {
- pOEMDevmode->bWmarkEnabled = WATER_MARK_DEFAULT_ENABLED;
- }
-
-
- // dwWmarkFontSize should be 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, or 72.
- if(!IsValidFontSize(pOEMDevmode->dwWmarkFontSize))
- {
- pOEMDevmode->dwWmarkFontSize = WATER_MARK_DEFAULT_FONTSIZE;
- }
-
- // The high byte of the hi word should be zero.
- if(0 != HIBYTE(HIWORD(pOEMDevmode->crWmarkTextColor)))
- {
- pOEMDevmode->crWmarkTextColor = WATER_MARK_DEFAULT_COLOR;
- }
-
- // Make sure that water mark string is terminated.
- pOEMDevmode->szWaterMark[WATER_MARK_TEXT_SIZE - 1] = L'\0';
-
- return TRUE;
-}
-
-
-BOOL IsValidFontSize(DWORD dwWmarkFontSize)
-{
- BOOL bValid = FALSE;
-
-
- switch(dwWmarkFontSize)
- {
- case 8:
- case 9:
- case 10:
- case 11:
- case 12:
- case 14:
- case 16:
- case 18:
- case 20:
- case 22:
- case 24:
- case 26:
- case 28:
- case 36:
- case 48:
- case 72:
- bValid = TRUE;
- break;
-
- default:
- ERR(DLLTEXT("IsValidFontSize() found invalid font size\r\n"));
- break;
- }
-
- return bValid;
-}
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/devmode.h
deleted file mode 100644
index de7ee919..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/devmode.h
+++ /dev/null
@@ -1,52 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Devmode.h
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for devmode functions.
-//
-#pragma once
-
-////////////////////////////////////////////////////////
-// OEM Devmode Defines
-////////////////////////////////////////////////////////
-
-#define WATER_MARK_TEXT_SIZE 128
-#define WATER_MARK_DEFAULT_ENABLED TRUE
-#define WATER_MARK_DEFAULT_FONTSIZE 28
-#define WATER_MARK_DEFAULT_COLOR RGB(230, 230, 230)
-#define WATER_MARK_DEFAULT_TEXT L"WaterMark"
-
-
-
-////////////////////////////////////////////////////////
-// OEM Devmode Type Definitions
-////////////////////////////////////////////////////////
-
-typedef struct tagOEMDEV
-{
- OEM_DMEXTRAHEADER dmOEMExtra;
- BOOL bWmarkEnabled;
- DWORD dwWmarkFontSize;
- COLORREF crWmarkTextColor;
- WCHAR szWaterMark[WATER_MARK_TEXT_SIZE];
-
-} OEMDEV, *POEMDEV;
-
-typedef const OEMDEV *PCOEMDEV;
-
-
-
-/////////////////////////////////////////////////////////
-// ProtoTypes
-/////////////////////////////////////////////////////////
-
-HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam);
-BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut);
-BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode);
-BOOL IsValidFontSize(DWORD dwWmarkFontSize);
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/oem.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/oem.h
deleted file mode 100644
index d63814ad..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/oem.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997- 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: oem.H
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debug.cpp.
-//
-#pragma once
-
-////////////////////////////////////////////////////////
-// OEM Defines
-////////////////////////////////////////////////////////
-
-#define OEM_SIGNATURE 'MSFT'
-#define OEM_VERSION 0x00000001L
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/WMARKUNIUI.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/WMARKUNIUI.vcxproj
deleted file mode 100644
index 4e88c6a9..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/WMARKUNIUI.vcxproj
+++ /dev/null
@@ -1,1150 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Win10 Debug|ARM64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|Win32">
- <Configuration>Win10 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|x64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|ARM64">
- <Configuration>Win10 Release</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|Win32">
- <Configuration>Win10 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|x64">
- <Configuration>Win10 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|Win32">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|Win32">
- <Configuration>Win8 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|Win32">
- <Configuration>Win7 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|Win32">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|Win32">
- <Configuration>Win8 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|Win32">
- <Configuration>Win7 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|x64">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|x64">
- <Configuration>Win8 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|x64">
- <Configuration>Win7 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|x64">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|x64">
- <Configuration>Win8 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|x64">
- <Configuration>Win7 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}</ProjectGuid>
- <RootNamespace>$(MSBuildProjectName)</RootNamespace>
- <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration>
- <Platform Condition="'$(Platform)' == ''">Win32</Platform>
- <SampleGuid>{39C728EB-3DCE-45B1-BC93-76678BB2A0A6}</SampleGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <PropertyGroup>
- <OutDir>$(IntDir)</OutDir>
- </PropertyGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ItemGroup Label="WrappedTaskItems" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetName>WMARKUNIUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetName>WMARKUNIUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetName>WMARKUNIUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <TargetName>WMARKUNIUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <TargetName>WMARKUNIUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetName>WMARKUNIUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetName>WMARKUNIUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetName>WMARKUNIUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <TargetName>WMARKUNIUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <TargetName>WMARKUNIUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetName>WMARKUNIUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetName>WMARKUNIUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetName>WMARKUNIUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <TargetName>WMARKUNIUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetName>WMARKUNIUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetName>WMARKUNIUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetName>WMARKUNIUI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <TargetName>WMARKUNIUI</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <Link>
- <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions>
- <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="dllentry.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="fdevmode.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="globals.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Create</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="WMARKUI.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ResourceCompile Include="WMARKUI.rc" />
- </ItemGroup>
- <ItemGroup>
- <Inf Exclude="@(Inf)" Include="*.inf" />
- <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" />
- </ItemGroup>
- <ItemGroup>
- <None Exclude="@(None)" Include="*.txt;*.htm;*.html" />
- <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" />
- <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/WMARKUNIUI.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/WMARKUNIUI.vcxproj.Filters
deleted file mode 100644
index 660c3ddf..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/WMARKUNIUI.vcxproj.Filters
+++ /dev/null
@@ -1,140 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions>
- <UniqueIdentifier>{6078E9AC-04DC-4263-AA1A-9501916D09D2}</UniqueIdentifier>
- </Filter>
- <Filter Include="Header Files">
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- <UniqueIdentifier>{0E5A51EE-1609-4F50-8955-63F7D0C1A20E}</UniqueIdentifier>
- </Filter>
- <Filter Include="Resource Files">
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions>
- <UniqueIdentifier>{C5E399CF-1AAE-4A3D-B806-84CCA8D9930D}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="dllentry.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="fdevmode.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="globals.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="WMARKUI.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- <ClInclude Include="globals.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="intrface.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkui.h" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="WMARKUI.rc">
- <Filter>Resource Files</Filter>
- </ResourceCompile>
- </ItemGroup>
- <ItemGroup>
- <None Include="wmarkuniui.def">
- <Filter>Source Files</Filter>
- </None>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/dllentry.cpp
deleted file mode 100644
index f4769ff4..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/dllentry.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: dllentry.cpp
-//
-// PURPOSE: Source module for DLL entry function(s).
-//
-
-#include "precomp.h"
-#include "wmarkui.h"
-#include "debug.h"
-
-// indicate to prefast that this is a user-mode component.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-///////////////////////////////////////////////////////////
-//
-// DLL entry point
-//
-BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved)
-{
- UNREFERENCED_PARAMETER(lpReserved);
-
- switch(wReason)
- {
- case DLL_PROCESS_ATTACH:
- VERBOSE(DLLTEXT("Process attach.\r\n"));
- ghInstance = hInst;
- break;
-
- case DLL_THREAD_ATTACH:
- VERBOSE(DLLTEXT("Thread attach.\r\n"));
- break;
-
- case DLL_PROCESS_DETACH:
- VERBOSE(DLLTEXT("Process detach.\r\n"));
- break;
-
- case DLL_THREAD_DETACH:
- VERBOSE(DLLTEXT("Thread detach.\r\n"));
- break;
- }
-
- return TRUE;
-}
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/fdevmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/fdevmode.cpp
deleted file mode 100644
index c82072c5..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/fdevmode.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: fDevmode.cpp
-//
-//
-// PURPOSE: Place holder file for devmode functions.
-//
-
-#include "precomp.h"
-#include "wmarkui.h"
-
-// indicate to prefast that this is a user-mode component.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-#include <DEVMODE.CPP>
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/globals.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/globals.cpp
deleted file mode 100644
index dd0ea334..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/globals.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Globals.cpp
-//
-//
-// PURPOSE: File that contains all the globals.
-//
-
-#include "precomp.h"
-#include "wmarkui.h"
-
-// indicate to prefast that this is a user-mode component.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-///////////////////////////////////////
-// Globals
-///////////////////////////////////////
-
-// Module's Instance handle from DLLEntry of process.
-HINSTANCE ghInstance = NULL;
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/globals.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/globals.h
deleted file mode 100644
index eac586c2..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/globals.h
+++ /dev/null
@@ -1,21 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Globals.h
-//
-//
-// PURPOSE: Lists of globals declared in Globals.cpp.
-//
-//
-#pragma once
-
-///////////////////////////////////////
-// Globals
-///////////////////////////////////////
-
-// Module's Instance handle from DLLEntry of process.
-extern HINSTANCE ghInstance;
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/intrface.cpp
deleted file mode 100644
index cc8cceae..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/intrface.cpp
+++ /dev/null
@@ -1,525 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.cpp
-//
-//
-// PURPOSE: Interface for User Mode COM Customization DLL.
-//
-
-#include "precomp.h"
-
-#include "wmarkui.h"
-#include "debug.h"
-#include "intrface.h"
-
-// indicate to prefast that this is a user-mode component.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-
-////////////////////////////////////////////////////////
-// Internal Globals
-////////////////////////////////////////////////////////
-
-static long g_cComponents = 0 ; // Count of active components
-static long g_cServerLocks = 0 ; // Count of locks
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IWaterMarkUI body
-//
-HRESULT __stdcall IWaterMarkUI::QueryInterface(const IID& iid, void** ppv)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:QueryInterface entry.\r\n\r\n"));
- if (iid == IID_IUnknown)
- {
- *ppv = static_cast<IUnknown*>(this);
- VERBOSE(DLLTEXT("IWaterMarkUI:Return pointer to IUnknown.\r\n\r\n"));
- }
- else if (iid == IID_IPrintOemUI)
- {
- *ppv = static_cast<IPrintOemUI*>(this) ;
- VERBOSE(DLLTEXT("IWaterMarkUI:Return pointer to IPrintOemUI.\r\n"));
- }
- else
- {
- VERBOSE(DLLTEXT("IWaterMarkUI::QueryInterface: interface not supported.\r\n"));
- *ppv = NULL ;
- return E_NOINTERFACE ;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef() ;
- return S_OK ;
-}
-
-ULONG __stdcall IWaterMarkUI::AddRef()
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:AddRef entry.\r\n"));
- return InterlockedIncrement(&m_cRef) ;
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IWaterMarkUI::Release()
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:Release entry.\r\n"));
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-HRESULT __stdcall IWaterMarkUI::PublishDriverInterface(
- IUnknown *pIUnknown)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:PublishDriverInterface entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pIUnknown);
-
- // Don't use the DriverInterface, so don't store it.
-
- return S_OK;
-}
-
-HRESULT __stdcall IWaterMarkUI::GetInfo(
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI::GetInfo entry.\r\r\n"));
-
- // Validate parameters.
- if( (NULL == pcbNeeded)
- ||
- ( (OEMGI_GETSIGNATURE != dwMode)
- &&
- (OEMGI_GETVERSION != dwMode)
- &&
- (OEMGI_GETPUBLISHERINFO != dwMode)
- )
- )
- {
- VERBOSE(DLLTEXT("IWaterMarkUI::GetInfo() exit pcbNeeded is NULL!\r\r\n"));
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Set expected buffer size and number of bytes written.
- *pcbNeeded = sizeof(DWORD);
-
- // Check buffer size is sufficient.
- if((cbSize < *pcbNeeded) || (NULL == pBuffer))
- {
- WARNING(DLLTEXT("IWaterMarkUI::GetInfo() exit insufficient buffer!\r\r\n"));
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- // OEM DLL Signature
- case OEMGI_GETSIGNATURE:
- *(PDWORD)pBuffer = OEM_SIGNATURE;
- break;
-
- // OEM DLL version
- case OEMGI_GETVERSION:
- *(PDWORD)pBuffer = OEM_VERSION;
- break;
-
- // dwMode not supported.
- default:
- // Set written bytes to zero since nothing was written.
- WARNING(DLLTEXT("IWaterMarkUI::GetInfo() exit mode not supported.\r\r\n"));
- *pcbNeeded = 0;
- SetLastError(ERROR_NOT_SUPPORTED);
- return E_FAIL;
- }
-
- VERBOSE(DLLTEXT("IWaterMarkUI::GetInfo() exit S_OK.\r\r\n"));
- return S_OK;
-}
-
-HRESULT __stdcall IWaterMarkUI::DevMode(
- DWORD dwMode,
- POEMDMPARAM pOemDMParam)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:DevMode entry.\r\n"));
-
- return hrOEMDevMode(dwMode, pOemDMParam);
-}
-
-HRESULT __stdcall IWaterMarkUI::CommonUIProp(
- DWORD dwMode,
- POEMCUIPPARAM pOemCUIPParam)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:CommonUIProp entry.\r\n"));
-
- return hrOEMPropertyPage(dwMode, pOemCUIPParam);
-}
-
-
-HRESULT __stdcall IWaterMarkUI::DocumentPropertySheets(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:DocumentPropertySheets entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pPSUIInfo);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWaterMarkUI::DevicePropertySheets(
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:DevicePropertySheets entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pPSUIInfo);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWaterMarkUI::DeviceCapabilities(
- POEMUIOBJ poemuiobj,
- HANDLE hPrinter,
- _In_ PWSTR pDeviceName,
- WORD wCapability,
- PVOID pOutput,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- DWORD dwOld,
- DWORD *dwResult)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:DeviceCapabilities entry.\r\n"));
-
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(pDeviceName);
- UNREFERENCED_PARAMETER(wCapability);
- UNREFERENCED_PARAMETER(pOutput);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
- UNREFERENCED_PARAMETER(dwOld);
- UNREFERENCED_PARAMETER(dwResult);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWaterMarkUI::DevQueryPrintEx(
- POEMUIOBJ poemuiobj,
- PDEVQUERYPRINT_INFO pDQPInfo,
- PDEVMODE pPublicDM,
- PVOID pOEMDM)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:DevQueryPrintEx entry.\r\n"));
-
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(pDQPInfo);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWaterMarkUI::UpgradePrinter(
- DWORD dwLevel,
- PBYTE pDriverUpgradeInfo)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:UpgradePrinter entry.\r\n"));
-
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(pDriverUpgradeInfo);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWaterMarkUI::PrinterEvent(
- _In_ PWSTR pPrinterName,
- INT iDriverEvent,
- DWORD dwFlags,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:PrinterEvent entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pPrinterName);
- UNREFERENCED_PARAMETER(iDriverEvent);
- UNREFERENCED_PARAMETER(dwFlags);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWaterMarkUI::DriverEvent(
- DWORD dwDriverEvent,
- DWORD dwLevel,
- LPBYTE pDriverInfo,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:DriverEvent entry.\r\n"));
-
- UNREFERENCED_PARAMETER(dwDriverEvent);
- UNREFERENCED_PARAMETER(dwLevel);
- UNREFERENCED_PARAMETER(pDriverInfo);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-};
-
-
-HRESULT __stdcall IWaterMarkUI::QueryColorProfile(
- HANDLE hPrinter,
- POEMUIOBJ poemuiobj,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- ULONG ulQueryMode,
- VOID *pvProfileData,
- ULONG *pcbProfileData,
- FLONG *pflProfileData)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:QueryColorProfile entry.\r\n"));
-
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(poemuiobj);
- UNREFERENCED_PARAMETER(pPublicDM);
- UNREFERENCED_PARAMETER(pOEMDM);
- UNREFERENCED_PARAMETER(ulQueryMode);
- UNREFERENCED_PARAMETER(pvProfileData);
- UNREFERENCED_PARAMETER(pcbProfileData);
- UNREFERENCED_PARAMETER(pflProfileData);
-
- return E_NOTIMPL;
-};
-
-HRESULT __stdcall IWaterMarkUI::FontInstallerDlgProc(
- HWND hWnd,
- UINT usMsg,
- WPARAM wParam,
- LPARAM lParam)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:FontInstallerDlgProc entry.\r\n"));
-
- UNREFERENCED_PARAMETER(hWnd);
- UNREFERENCED_PARAMETER(usMsg);
- UNREFERENCED_PARAMETER(wParam);
- UNREFERENCED_PARAMETER(lParam);
-
- return E_NOTIMPL;
-};
-
-HRESULT __stdcall IWaterMarkUI::UpdateExternalFonts(
- HANDLE hPrinter,
- HANDLE hHeap,
- _In_ PWSTR pwstrCartridges)
-{
- VERBOSE(DLLTEXT("IWaterMarkUI:UpdateExternalFonts entry.\r\n"));
-
- UNREFERENCED_PARAMETER(hPrinter);
- UNREFERENCED_PARAMETER(hHeap);
- UNREFERENCED_PARAMETER(pwstrCartridges);
-
- return E_NOTIMPL;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// oem class factory
-//
-class IOemCF : public IClassFactory
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- // *** IClassFactory methods ***
- STDMETHOD(CreateInstance) (THIS_
- LPUNKNOWN pUnkOuter,
- REFIID riid,
- LPVOID FAR* ppvObject);
- STDMETHOD(LockServer) (THIS_ BOOL bLock);
-
-
- // Constructor
- IOemCF(): m_cRef(1) { };
- ~IOemCF() { };
-
-protected:
- LONG m_cRef;
-
-};
-
-///////////////////////////////////////////////////////////
-//
-// Class factory body
-//
-HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv)
-{
- if ((iid == IID_IUnknown) || (iid == IID_IClassFactory))
- {
- *ppv = static_cast<IOemCF*>(this) ;
- }
- else
- {
- WARNING(DLLTEXT("IOemCF::QueryInterface: interface not supported.\r\n"));
- *ppv = NULL ;
- return E_NOINTERFACE ;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef() ;
- return S_OK ;
-}
-
-ULONG __stdcall IOemCF::AddRef()
-{
- return InterlockedIncrement(&m_cRef) ;
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IOemCF::Release()
-{
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-// IClassFactory implementation
-HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter,
- const IID& iid,
- void** ppv)
-{
- //DbgPrint(DLLTEXT("Class factory:\t\tCreate component.")) ;
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Cannot aggregate.
- if (pUnknownOuter != NULL)
- {
- return CLASS_E_NOAGGREGATION ;
- }
-
- // Create component.
- IWaterMarkUI* pOemCB = new IWaterMarkUI ;
- if (pOemCB == NULL)
- {
- return E_OUTOFMEMORY ;
- }
- // Get the requested interface.
- HRESULT hr = pOemCB->QueryInterface(iid, ppv) ;
-
- // Release the IUnknown pointer.
- // (If QueryInterface failed, component will delete itself.)
- pOemCB->Release() ;
- return hr ;
-}
-
-// LockServer
-HRESULT __stdcall IOemCF::LockServer(BOOL bLock)
-{
- if (bLock)
- {
- InterlockedIncrement(&g_cServerLocks) ;
- }
- else
- {
- InterlockedDecrement(&g_cServerLocks) ;
- }
- return S_OK ;
-}
-
-///////////////////////////////////////////////////////////
-//
-// Exported functions
-//
-
-
-// Can DLL unload now?
-//
-STDAPI DllCanUnloadNow()
-{
- //
- // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers
- // are unloaded, Unidrv and Pscript driver ignore the return value of
- // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL.
- //
- // If OEM DLL spins off a working thread that also uses the OEM DLL, the
- // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise
- // it may crash after Unidrv or Pscript calls FreeLibrary.
- //
-
- if ((g_cComponents == 0) && (g_cServerLocks == 0))
- {
- return S_OK ;
- }
- else
- {
- return S_FALSE;
- }
-}
-
-//
-// Get class factory
-//
-STDAPI DllGetClassObject(
- _In_ REFCLSID clsid,
- _In_ REFIID iid,
- _Outptr_ LPVOID* ppv)
-{
- VERBOSE(DLLTEXT("DllGetClassObject:Create class factory.\r\n"));
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Can we create this component?
- if (clsid != CLSID_OEMUI)
- {
- return CLASS_E_CLASSNOTAVAILABLE ;
- }
-
- // Create class factory.
- IOemCF* pFontCF = new IOemCF ; // Reference count set to 1
- // in constructor
- if (pFontCF == NULL)
- {
- return E_OUTOFMEMORY ;
- }
-
- // Get requested interface.
- HRESULT hr = pFontCF->QueryInterface(iid, ppv) ;
- pFontCF->Release() ;
-
- return hr ;
-}
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/intrface.h
deleted file mode 100644
index 7f1ebad8..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/intrface.h
+++ /dev/null
@@ -1,178 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.H
-//
-// PURPOSE: Define COM interface for User Mode Printer UI plug-in.
-//
-#pragma once
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IWaterMarkUI
-//
-class IWaterMarkUI: public IPrintOemUI
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- //
- // Method for publishing Driver interface.
- //
- STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown);
-
- //
- // Get OEM dll related information
- //
-
- STDMETHOD(GetInfo) (THIS_ DWORD dwMode, PVOID pBuffer, DWORD cbSize,
- PDWORD pcbNeeded);
-
- //
- // OEMDevMode
- //
-
- STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) ;
-
- //
- // OEMCommonUIProp
- //
-
- STDMETHOD(CommonUIProp) (THIS_
- DWORD dwMode,
- POEMCUIPPARAM pOemCUIPParam
- );
-
- //
- // OEMDocumentPropertySheets
- //
-
- STDMETHOD(DocumentPropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
- //
- // OEMDevicePropertySheets
- //
-
- STDMETHOD(DevicePropertySheets) (THIS_
- PPROPSHEETUI_INFO pPSUIInfo,
- LPARAM lParam
- );
-
-
- //
- // OEMDevQueryPrintEx
- //
-
- STDMETHOD(DevQueryPrintEx) (THIS_
- POEMUIOBJ poemuiobj,
- PDEVQUERYPRINT_INFO pDQPInfo,
- PDEVMODE pPublicDM,
- PVOID pOEMDM
- );
-
- //
- // OEMDeviceCapabilities
- //
-
- STDMETHOD(DeviceCapabilities) (THIS_
- POEMUIOBJ poemuiobj,
- HANDLE hPrinter,
- _In_ PWSTR pDeviceName,
- WORD wCapability,
- PVOID pOutput,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- DWORD dwOld,
- DWORD *dwResult
- );
-
- //
- // OEMUpgradePrinter
- //
-
- STDMETHOD(UpgradePrinter) (THIS_
- DWORD dwLevel,
- PBYTE pDriverUpgradeInfo
- );
-
- //
- // OEMPrinterEvent
- //
-
- STDMETHOD(PrinterEvent) (THIS_
- _In_ PWSTR pPrinterName,
- INT iDriverEvent,
- DWORD dwFlags,
- LPARAM lParam
- );
-
- //
- // OEMDriverEvent
- //
-
- STDMETHOD(DriverEvent)(THIS_
- DWORD dwDriverEvent,
- DWORD dwLevel,
- LPBYTE pDriverInfo,
- LPARAM lParam
- );
-
- //
- // OEMQueryColorProfile
- //
-
- STDMETHOD(QueryColorProfile) (THIS_
- HANDLE hPrinter,
- POEMUIOBJ poemuiobj,
- PDEVMODE pPublicDM,
- PVOID pOEMDM,
- ULONG ulReserved,
- VOID *pvProfileData,
- ULONG *pcbProfileData,
- FLONG *pflProfileData);
-
- //
- // OEMFontInstallerDlgProc
- //
-
- STDMETHOD(FontInstallerDlgProc) (THIS_
- HWND hWnd,
- UINT usMsg,
- WPARAM wParam,
- LPARAM lParam
- );
- //
- // UpdateExternalFonts
- //
-
- STDMETHOD(UpdateExternalFonts) (THIS_
- HANDLE hPrinter,
- HANDLE hHeap,
- _In_ PWSTR pwstrCartridges
- );
-
-
- IWaterMarkUI() { m_cRef = 1; };
- ~IWaterMarkUI() { };
-
-protected:
- LONG m_cRef;
-};
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/precomp.h
deleted file mode 100644
index 644d21cd..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/precomp.h
+++ /dev/null
@@ -1,54 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: precomp.H
-//
-//
-// PURPOSE: Optimize compilation of headers that don't change frequently.
-//
-#pragma once
-
-// Necessary for compiling under VC.
-#if(!defined(WINVER) || (WINVER < 0x0500))
- #undef WINVER
- #define WINVER 0x0500
-#endif
-#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500))
- #undef _WIN32_WINNT
- #define _WIN32_WINNT 0x0500
-#endif
-
-
-
-// Required header files that shouldn't change often.
-
-
-#include <STDDEF.H>
-#include <STDLIB.H>
-#include <OBJBASE.H>
-#include <STDARG.H>
-#include <STDIO.H>
-#include <WINDEF.H>
-#include <WINERROR.H>
-#include <WINBASE.H>
-#include <WINGDI.H>
-#include <WINDDI.H>
-#include <TCHAR.H>
-#include <EXCPT.H>
-#include <ASSERT.H>
-#include <PRSHT.H>
-#include <COMPSTUI.H>
-#include "WINDDIUI.H"
-#include <PRINTOEM.H>
-#include <INITGUID.H>
-#include <PRCOMOEM.H>
-
-
-// StrSafe.h needs to be included last
-// to disallow unsafe string functions.
-#include <STRSAFE.H>
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/precompsrc.cpp
deleted file mode 100644
index 5944cf51..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/precompsrc.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "precomp.h" \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/resource.h
deleted file mode 100644
index 22c03be5..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/resource.h
+++ /dev/null
@@ -1,26 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by wmarkui.rc
-//
-#define IDS_WATERMARK 1
-#define IDS_TEXT 2
-#define IDS_FONTSIZE 3
-#define IDS_COLOR 5
-#define IDS_GRAY 6
-#define IDS_RED 7
-#define IDS_GREEN 8
-#define IDS_BLUE 9
-#define IDS_ENBLED 10
-#define IDS_ENABLED 10
-#define IDS_DISABLED 11
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 103
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.cpp
deleted file mode 100644
index fb875d30..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.cpp
+++ /dev/null
@@ -1,594 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: WMarkUI.cpp
-//
-//
-// PURPOSE: Main file for OEM UI test module.
-//
-//
-
-#include "precomp.h"
-#include "resource.h"
-#include "debug.h"
-#include "wmarkui.h"
-
-// indicate to prefast that this is a user-mode component.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-
-////////////////////////////////////////////////////////
-// INTERNAL MACROS and DEFINES
-////////////////////////////////////////////////////////
-
-
-
-////////////////////////////////////////////////////////
-// INTERNAL PROTOTYPES
-////////////////////////////////////////////////////////
-
-LONG APIENTRY OEMUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam);
-static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam);
-static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems);
-static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams);
-static DWORD FontSizeToIndex(DWORD dwWmarkFontSize);
-static DWORD FontIndexToSize(DWORD dwIndex);
-static DWORD TextColorToIndex(COLORREF crWmarkTextColor);
-static COLORREF IndexToTextColor(DWORD dwIndex);
-static PTSTR GetStringResource(HANDLE hHeap, HMODULE hModule, UINT uResource);
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems to display OEM device or document property UI.
-//
-HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam)
-{
- HRESULT hResult = S_OK;
-
-
- VERBOSE(DLLTEXT("hrOEMPropertyPage entry.\r\n"));
-
- // Validate parameters.
- if( (OEMCUIP_DOCPROP != dwMode)
- &&
- (OEMCUIP_PRNPROP != dwMode)
- )
- {
- ERR(DLLTEXT("hrOEMPropertyPage() ERROR_INVALID_PARAMETER.\r\n"));
-
- // Return invalid parameter error.
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- case OEMCUIP_DOCPROP:
- hResult = hrDocumentPropertyPage(dwMode, pOEMUIParam);
- break;
-
- case OEMCUIP_PRNPROP:
- // Don't have any Printer Proptery UI.
- hResult = E_NOTIMPL;
- break;
-
- default:
- // Should never reach this!
- ERR(DLLTEXT("hrOEMPropertyPage() Invalid dwMode"));
- SetLastError(ERROR_INVALID_PARAMETER);
- hResult = E_FAIL;
- break;
- }
-
- return hResult;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// OptItems call back for OEM device or document property UI.
-//
-LONG APIENTRY OEMUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam)
-{
- LONG lReturn = CPSUICB_ACTION_NONE;
- POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM;
-
-
- VERBOSE(DLLTEXT("OEMUICallBack() entry.\r\n"));
-
- switch(pCallbackParam->Reason)
- {
- case CPSUICB_REASON_APPLYNOW:
- // Store OptItems state in DEVMODE.
- pOEMDev->bWmarkEnabled = !pOEMUIParam->pOEMOptItems[0].Sel;
- if(FAILED(StringCbCopyW(pOEMDev->szWaterMark, sizeof(pOEMDev->szWaterMark), (LPWSTR)pOEMUIParam->pOEMOptItems[1].pSel)))
- {
- ERR(DLLTEXT("OEMUICallBack() failed to copy water mark text\r\n"));
- }
- pOEMDev->dwWmarkFontSize = FontIndexToSize(pOEMUIParam->pOEMOptItems[2].Sel);
- pOEMDev->crWmarkTextColor = IndexToTextColor(pOEMUIParam->pOEMOptItems[3].Sel);
- break;
-
- default:
- break;
- }
-
- return lReturn;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems to display OEM document property UI.
-//
-static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam)
-{
- if ( NULL == pOEMUIParam || NULL == pOEMUIParam->pOEMDM )
- {
- ERR(DLLTEXT("hrDocumentPropertyPage() ERROR_INVALID_PARAMETER.\r\n"));
- // Return invalid parameter error.
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
- if(NULL == pOEMUIParam->pOEMOptItems)
- {
- // Fill in the number of OptItems to create for OEM document property UI.
- pOEMUIParam->cOEMOptItems = 4;
-
- VERBOSE(DLLTEXT("hrDocumentPropertyPage() requesting items.\r\n"));
- }
- else if(dwMode == OEMCUIP_DOCPROP)
- {
- POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM;
-
-
- VERBOSE(DLLTEXT("hrDocumentPropertyPage() fill out items.\r\n"));
-
- // Init UI Callback reference.
- pOEMUIParam->OEMCUIPCallback = OEMUICallBack;
-
- // Init OEMOptItmes.
- InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems);
-
- // Fill out tree view items.
-
- // Water Mark Section Name.
- pOEMUIParam->pOEMOptItems[0].Level = 1;
- pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE;
- pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_WATERMARK);
- pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->bWmarkEnabled ? 0 : 1;
-
- pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2);
-
- pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_COMBOBOX;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[0].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_ENABLED);
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[0].IconID = IDI_CPSUI_ON;
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_DISABLED);
- pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = IDI_CPSUI_OFF;
-
-
- // WaterMark Text.
- pOEMUIParam->pOEMOptItems[1].Level = 2;
- pOEMUIParam->pOEMOptItems[1].Flags = 0;
- pOEMUIParam->pOEMOptItems[1].pName = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_TEXT);
- pOEMUIParam->pOEMOptItems[1].pSel = (LPTSTR) HeapAlloc(pOEMUIParam->hOEMHeap, HEAP_ZERO_MEMORY, MAX_PATH * sizeof(WCHAR));
- if (pOEMUIParam->pOEMOptItems[1].pSel == NULL)
- {
- ERR(DLLTEXT("hrDocumentPropertyPage() failed to copy water mark text\r\n"));
- return E_OUTOFMEMORY;
- }
-
- if(FAILED(StringCbCopyW((LPWSTR)pOEMUIParam->pOEMOptItems[1].pSel, MAX_PATH * sizeof(WCHAR), pOEMDev->szWaterMark)))
- {
- ERR(DLLTEXT("hrDocumentPropertyPage() failed to copy water mark text \r\n"));
- }
-
- pOEMUIParam->pOEMOptItems[1].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2);
-
- pOEMUIParam->pOEMOptItems[1].pOptType->Type = TVOT_EDITBOX;
- pOEMUIParam->pOEMOptItems[1].pOptType->pOptParam[1].IconID = sizeof(((POEMDEV)NULL)->szWaterMark)/sizeof(WCHAR);
-
-
- // WaterMark Font Size.
- pOEMUIParam->pOEMOptItems[2].Level = 2;
- pOEMUIParam->pOEMOptItems[2].Flags = 0;
- pOEMUIParam->pOEMOptItems[2].pName = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_FONTSIZE);
- pOEMUIParam->pOEMOptItems[2].Sel = FontSizeToIndex(pOEMDev->dwWmarkFontSize);
-
- pOEMUIParam->pOEMOptItems[2].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 16);
-
- pOEMUIParam->pOEMOptItems[2].pOptType->Type = TVOT_COMBOBOX;
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[0].pData = L"8";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[1].pData = L"9";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[2].pData = L"10";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[3].pData = L"11";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[4].pData = L"12";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[5].pData = L"14";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[6].pData = L"16";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[7].pData = L"18";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[8].pData = L"20";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[9].pData = L"22";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[10].pData = L"24";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[11].pData = L"26";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[12].pData = L"28";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[13].pData = L"36";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[14].pData = L"48";
- pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[15].pData = L"72";
-
-
- // WaterMark Color.
- pOEMUIParam->pOEMOptItems[3].Level = 2;
- pOEMUIParam->pOEMOptItems[3].Flags = 0;
- pOEMUIParam->pOEMOptItems[3].pName = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_COLOR);
- pOEMUIParam->pOEMOptItems[3].Sel = TextColorToIndex(pOEMDev->crWmarkTextColor);
-
- pOEMUIParam->pOEMOptItems[3].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 4);
-
- pOEMUIParam->pOEMOptItems[3].pOptType->Type = TVOT_COMBOBOX;
- pOEMUIParam->pOEMOptItems[3].pOptType->pOptParam[0].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_GRAY);
- pOEMUIParam->pOEMOptItems[3].pOptType->pOptParam[1].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_RED);
- pOEMUIParam->pOEMOptItems[3].pOptType->pOptParam[2].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_GREEN);
- pOEMUIParam->pOEMOptItems[3].pOptType->pOptParam[3].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_BLUE);
- }
-
- return S_OK;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Initializes OptItems.
-//
-static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems)
-{
- VERBOSE(DLLTEXT("InitOptItems() entry.\r\n"));
-
- // Zero out memory.
- memset(pOptItems, 0, sizeof(OPTITEM) * dwOptItems);
-
- // Set each OptItem's size, and Public DM ID.
- for(DWORD dwCount = 0; dwCount < dwOptItems; dwCount++)
- {
- pOptItems[dwCount].cbSize = sizeof(OPTITEM);
- pOptItems[dwCount].DMPubID = DMPUB_NONE;
- }
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Allocates and initializes OptType for OptItem.
-//
-static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams)
-{
- POPTTYPE pOptType = NULL;
-
-
- VERBOSE(DLLTEXT("CreateOptType() entry.\r\n"));
-
- // Allocate memory from the heap for the OPTTYPE; the driver will take care of clean up.
- pOptType = (POPTTYPE) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OPTTYPE));
- if(NULL != pOptType)
- {
- // Initialize OPTTYPE.
- pOptType->cbSize = sizeof(OPTTYPE);
- pOptType->Count = wOptParams;
-
- // Allocate memory from the heap for the OPTPARAMs for the OPTTYPE.
- pOptType->pOptParam = (POPTPARAM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, wOptParams * sizeof(OPTPARAM));
- if(NULL != pOptType->pOptParam)
- {
- // Initialize the OPTPARAMs.
- for(WORD wCount = 0; wCount < wOptParams; wCount++)
- {
- pOptType->pOptParam[wCount].cbSize = sizeof(OPTPARAM);
- }
- }
- else
- {
- ERR(DLLTEXT("CreateOptType() failed to allocated memory for OPTPARAMs!\r\n"));
-
- // Free allocated memory and return NULL.
- HeapFree(hHeap, 0, pOptType);
- pOptType = NULL;
- }
- }
- else
- {
- ERR(DLLTEXT("CreateOptType() failed to allocated memory for OPTTYPE!\r\n"));
- }
-
- return pOptType;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Converts Font point size to index in combo box.
-//
-static DWORD FontSizeToIndex(DWORD dwWmarkFontSize)
-{
- DWORD dwIndex;
-
-
- switch(dwWmarkFontSize)
- {
- case 8:
- dwIndex = 0;
- break;
-
- case 9:
- dwIndex = 1;
- break;
-
- case 10:
- dwIndex = 2;
- break;
-
- case 11:
- dwIndex = 3;
- break;
-
- case 12:
- dwIndex = 4;
- break;
-
- case 14:
- dwIndex = 5;
- break;
-
- case 16:
- dwIndex = 6;
- break;
-
- case 18:
- dwIndex = 7;
- break;
-
- case 20:
- dwIndex = 8;
- break;
-
- case 22:
- dwIndex = 9;
- break;
-
- case 24:
- dwIndex = 10;
- break;
-
- case 26:
- dwIndex = 11;
- break;
-
- case 36:
- dwIndex = 13;
- break;
-
- case 48:
- dwIndex = 14;
- break;
-
- case 72:
- dwIndex = 15;
- break;
-
- case 28:
- default:
- dwIndex = 12;
- break;
- }
-
- return dwIndex;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Converts Font combo box index to font point size.
-//
-static DWORD FontIndexToSize(DWORD dwIndex)
-{
- DWORD dwWmarkFontSize;
-
- switch(dwIndex)
- {
- case 0:
- dwWmarkFontSize = 8;
- break;
-
- case 1:
- dwWmarkFontSize = 9;
- break;
-
- case 2:
- dwWmarkFontSize = 10;
- break;
-
- case 3:
- dwWmarkFontSize = 11;
- break;
-
- case 4:
- dwWmarkFontSize = 12;
- break;
-
- case 5:
- dwWmarkFontSize = 14;
- break;
-
- case 6:
- dwWmarkFontSize = 16;
- break;
-
- case 7:
- dwWmarkFontSize = 18;
- break;
-
- case 8:
- dwWmarkFontSize = 20;
- break;
-
- case 9:
- dwWmarkFontSize = 22;
- break;
-
- case 10:
- dwWmarkFontSize = 24;
- break;
-
- case 11:
- dwWmarkFontSize = 26;
- break;
-
- case 13:
- dwWmarkFontSize = 36;
- break;
-
- case 14:
- dwWmarkFontSize = 48;
- break;
-
- case 15:
- dwWmarkFontSize = 72;
- break;
-
- case 12:
- default:
- dwWmarkFontSize = 28;
- break;
- }
-
- return dwWmarkFontSize;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Converts text color to combo box index.
-//
-static DWORD TextColorToIndex(COLORREF crWmarkTextColor)
-{
- DWORD dwIndex;
-
-
- // The color is what ever color is dominate. If none are, then it is gray.
- if( (GetRValue(crWmarkTextColor) > GetGValue(crWmarkTextColor))
- &&
- (GetGValue(crWmarkTextColor) >= GetBValue(crWmarkTextColor))
- )
- {
- // Set index to red.
- dwIndex = 1;
- }
- else if( (GetRValue(crWmarkTextColor) < GetGValue(crWmarkTextColor))
- &&
- (GetGValue(crWmarkTextColor) > GetBValue(crWmarkTextColor))
- )
- {
- // Set index to green.
- dwIndex = 2;
- }
- else if( (GetRValue(crWmarkTextColor) <= GetGValue(crWmarkTextColor))
- &&
- (GetGValue(crWmarkTextColor) < GetBValue(crWmarkTextColor))
- )
- {
- // Set index to blue.
- dwIndex = 3;
- }
- else
- {
- // Set index to gray.
- dwIndex = 0;
- }
-
- return dwIndex;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Converts text combo box index to text color.
-//
-static COLORREF IndexToTextColor(DWORD dwIndex)
-{
- COLORREF crWmarkTextColor;
-
- // Map index to desired text color.
- // We just support 4 colors in the UI: Red, Green, Blue, and gray.
- // The rendering module is capable of using any color for the Water Mark Text.
- switch(dwIndex)
- {
- case 1:
- // Color is red.
- crWmarkTextColor = RGB(255, 216, 216);
- break;
-
- case 2:
- // Color is green.
- crWmarkTextColor = RGB(216, 255, 216);
- break;
-
- case 3:
- // Color is blue.
- crWmarkTextColor = RGB(216, 216, 255);
- break;
-
- default:
- case 0:
- // Color is gray.
- crWmarkTextColor = WATER_MARK_DEFAULT_COLOR;
- break;
- }
-
- return crWmarkTextColor;
-}
-
-////////////////////////////////////////////////////////////////////////////////////
-//
-// Retrieves pointer to a String resource.
-//
-static PTSTR GetStringResource(HANDLE hHeap, HMODULE hModule, UINT uResource)
-{
- int nResult;
- DWORD dwSize = MAX_PATH;
- PTSTR pszString = NULL;
-
-
- VERBOSE(DLLTEXT("GetStringResource() entered.\r\n"));
-
- // Allocate buffer for string resource from heap; let the driver clean it up.
- pszString = (PTSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize * sizeof(TCHAR));
- if(NULL != pszString)
- {
- PTSTR pTemp;
-
- // Load string resource; resize after loading so as not to waste memory.
- nResult = LoadString(hModule, uResource, pszString, dwSize);
- if (0 == nResult)
- {
- ERR(DLLTEXT("GetStringResource() failed to load the the string resource!\r\n"));
- HeapFree(hHeap, 0, pszString);
- pszString=NULL;
- }
- else
- {
- pTemp = (PTSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pszString, (nResult + 1) * sizeof(TCHAR));
- if(NULL != pTemp)
- {
- pszString = pTemp;
- }
- }
- }
- else
- {
- ERR(DLLTEXT("GetStringResource() failed to allocate string buffer!\r\n"));
- }
-
- return pszString;
-}
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.h
deleted file mode 100644
index ca19064a..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: WMarkUI.H
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for WaterMark UI.
-//
-#pragma once
-
-#include <OEM.H>
-#include <DEVMODE.H>
-#include "globals.h"
-
-
-////////////////////////////////////////////////////////
-// OEM UI Defines
-////////////////////////////////////////////////////////
-
-
-// OEM Signature and version.
-#define PROP_TITLE L"WaterMark UI Page"
-#define DLLTEXT(s) "WMARKUI: " s
-
-////////////////////////////////////////////////////////
-// Prototypes
-////////////////////////////////////////////////////////
-
-HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam);
-
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.rc b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.rc
deleted file mode 100644
index 44358b9a..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.rc
+++ /dev/null
@@ -1,124 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "Written by Windows Printing & Imaging Team"
- VALUE "CompanyName", "Microsoft Corp."
- VALUE "FileDescription", "WaterMarkUni UI"
- VALUE "FileVersion", "1, 0, 0, 1"
- VALUE "InternalName", "WMarkUniUI"
- VALUE "LegalCopyright", "Copyright � 1998-2003"
- VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation"
- VALUE "OriginalFilename", "WMarkUniUI.dll"
- VALUE "ProductName", "Microsoft WaterMark"
- VALUE "ProductVersion", "1.0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""winres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE
-BEGIN
- IDS_WATERMARK "Water Mark"
- IDS_TEXT "Text"
- IDS_FONTSIZE "Font Size"
- IDS_COLOR "Color"
- IDS_GRAY "Gray"
- IDS_RED "Red"
- IDS_GREEN "Green"
- IDS_BLUE "Blue"
- IDS_ENABLED "Enabled"
- IDS_DISABLED "Disabled"
-END
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkuniui.def b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkuniui.def
deleted file mode 100644
index 26c192f9..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkuniui.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY WMARKUI
-EXPORTS DllGetClassObject PRIVATE
- DllCanUnloadNow PRIVATE
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/WMARKUNI.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/WMARKUNI.vcxproj
deleted file mode 100644
index 0ad2b890..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/WMARKUNI.vcxproj
+++ /dev/null
@@ -1,1090 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Win10 Debug|ARM64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|Win32">
- <Configuration>Win10 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Debug|x64">
- <Configuration>Win10 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|ARM64">
- <Configuration>Win10 Release</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|Win32">
- <Configuration>Win10 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win10 Release|x64">
- <Configuration>Win10 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|Win32">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|Win32">
- <Configuration>Win8 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|Win32">
- <Configuration>Win7 Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|Win32">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|Win32">
- <Configuration>Win8 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|Win32">
- <Configuration>Win7 Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Debug|x64">
- <Configuration>Win8.1 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Debug|x64">
- <Configuration>Win8 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Debug|x64">
- <Configuration>Win7 Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8.1 Release|x64">
- <Configuration>Win8.1 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win8 Release|x64">
- <Configuration>Win8 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Win7 Release|x64">
- <Configuration>Win7 Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{866141A6-4989-41D7-9409-4A5A73B535B0}</ProjectGuid>
- <RootNamespace>$(MSBuildProjectName)</RootNamespace>
- <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration>
- <Platform Condition="'$(Platform)' == ''">Win32</Platform>
- <SampleGuid>{FF810DA7-AF7F-4167-9078-A43C6CA46E83}</SampleGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetVersion>Win7</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetVersion>Win8</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetVersion>WindowsV6.3</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration">
- <TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
- <DriverType />
- <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <PropertyGroup>
- <OutDir>$(IntDir)</OutDir>
- </PropertyGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
- </ImportGroup>
- <ItemGroup Label="WrappedTaskItems" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <TargetName>WMARKUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <TargetName>WMARKUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <TargetName>WMARKUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <TargetName>WMARKUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <TargetName>WMARKUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <TargetName>WMARKUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <TargetName>WMARKUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <TargetName>WMARKUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <TargetName>WMARKUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <TargetName>WMARKUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <TargetName>WMARKUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <TargetName>WMARKUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <TargetName>WMARKUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <TargetName>WMARKUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <TargetName>WMARKUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <TargetName>WMARKUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <TargetName>WMARKUNI</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <TargetName>WMARKUNI</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <TreatWarningAsError>true</TreatWarningAsError>
- <WarningLevel>Level4</WarningLevel>
- </ClCompile>
- <Link>
- <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol>
- <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ClCompile>
- <Midl>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </Midl>
- <ResourceCompile>
- <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x06030000</NTDDI_VERSION>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION>
- <NTDDI_VERSION>0x0A000000</NTDDI_VERSION>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'">
- <Link>
- <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'">
- <Link>
- <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'">
- <Link>
- <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'">
- <Link>
- <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile>
- </Link>
- <ClCompile>
- <ExceptionHandling>
- </ExceptionHandling>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="ddihook.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="fdevmode.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Use</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile>
- <PreCompiledHeader>Create</PreCompiledHeader>
- <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile>
- </ClCompile>
- <ResourceCompile Include="wmarkuni.rc" />
- </ItemGroup>
- <ItemGroup>
- <Inf Exclude="@(Inf)" Include="*.inf" />
- <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" />
- </ItemGroup>
- <ItemGroup>
- <None Exclude="@(None)" Include="*.txt;*.htm;*.html" />
- <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" />
- <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/WMARKUNI.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/WMARKUNI.vcxproj.Filters
deleted file mode 100644
index 480c5f75..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/WMARKUNI.vcxproj.Filters
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions>
- <UniqueIdentifier>{0906BEFF-05C5-43D6-A8A8-56287C3F1FDD}</UniqueIdentifier>
- </Filter>
- <Filter Include="Header Files">
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- <UniqueIdentifier>{33052901-7C1C-4E06-A9A5-0FDB9BE8B947}</UniqueIdentifier>
- </Filter>
- <Filter Include="Resource Files">
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions>
- <UniqueIdentifier>{F0995942-2A83-43B2-B61A-69B8DFE2E12D}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="ddihook.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="dllentry.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="fdevmode.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="intrface.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="precompsrc.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="intrface.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="name.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkuni.h" />
- <ClInclude Include="intrface.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="name.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkuni.h" />
- <ClInclude Include="intrface.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="name.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkuni.h" />
- <ClInclude Include="intrface.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="name.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkuni.h" />
- <ClInclude Include="intrface.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="name.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkuni.h" />
- <ClInclude Include="intrface.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="name.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkuni.h" />
- <ClInclude Include="intrface.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="name.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkuni.h" />
- <ClInclude Include="intrface.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="name.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkuni.h" />
- <ClInclude Include="intrface.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="name.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkuni.h" />
- <ClInclude Include="intrface.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="name.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkuni.h" />
- <ClInclude Include="intrface.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="name.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkuni.h" />
- <ClInclude Include="intrface.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="name.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkuni.h" />
- <ClInclude Include="intrface.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="name.h" />
- <ClInclude Include="precomp.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="wmarkuni.h" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="wmarkuni.rc">
- <Filter>Resource Files</Filter>
- </ResourceCompile>
- </ItemGroup>
- <ItemGroup>
- <None Include="wmarkuni.def">
- <Filter>Source Files</Filter>
- </None>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/ddihook.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/ddihook.cpp
deleted file mode 100644
index 36615fac..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/ddihook.cpp
+++ /dev/null
@@ -1,1226 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: DDIHook.cpp
-//
-//
-// PURPOSE: DDI Hook routines for User Mode COM Customization DLL.
-//
-//
-
-#include "precomp.h"
-#include "debug.h"
-#include "wmarkuni.h"
-
-// indicate to prefast that this is a user-mode component.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-// Loop limiter.
-#define MAX_LOOP 10
-
-void RenderWaterMark(PDEVOBJ pdevobj);
-static DWORD FormatResource(_In_ LPSTR pszResource, _Out_ LPSTR *ppszBuffer, ...);
-//
-// OEMBitBlt
-//
-
-
-
-BOOL APIENTRY
-OEMBitBlt(
- SURFOBJ *psoTrg,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclTrg,
- POINTL *pptlSrc,
- POINTL *pptlMask,
- BRUSHOBJ *pbo,
- POINTL *pptlBrush,
- ROP4 rop4
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMBitBlt() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)psoTrg->dhpdev;
-
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvBitBlt)(poempdev->pfnUnidrv[UD_DrvBitBlt])) (
- psoTrg,
- psoSrc,
- psoMask,
- pco,
- pxlo,
- prclTrg,
- pptlSrc,
- pptlMask,
- pbo,
- pptlBrush,
- rop4));
-
-}
-
-//
-// OEMStretchBlt
-//
-
-BOOL APIENTRY
-OEMStretchBlt(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlHTOrg,
- RECTL *prclDest,
- RECTL *prclSrc,
- POINTL *pptlMask,
- ULONG iMode
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMStretchBlt() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)psoDest->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvStretchBlt)(poempdev->pfnUnidrv[UD_DrvStretchBlt])) (
- psoDest,
- psoSrc,
- psoMask,
- pco,
- pxlo,
- pca,
- pptlHTOrg,
- prclDest,
- prclSrc,
- pptlMask,
- iMode));
-
-}
-
-//
-// OEMCopyBits
-//
-
-BOOL APIENTRY
-OEMCopyBits(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDest,
- POINTL *pptlSrc
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMCopyBits() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)psoDest->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvCopyBits)(poempdev->pfnUnidrv[UD_DrvCopyBits])) (
- psoDest,
- psoSrc,
- pco,
- pxlo,
- prclDest,
- pptlSrc));
-
-}
-
-//
-// OEMTextOut
-//
-
-BOOL APIENTRY
-OEMTextOut(
- SURFOBJ *pso,
- STROBJ *pstro,
- FONTOBJ *pfo,
- CLIPOBJ *pco,
- RECTL *prclExtra,
- RECTL *prclOpaque,
- BRUSHOBJ *pboFore,
- BRUSHOBJ *pboOpaque,
- POINTL *pptlOrg,
- MIX mix
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMTextOut() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvTextOut)(poempdev->pfnUnidrv[UD_DrvTextOut])) (
- pso,
- pstro,
- pfo,
- pco,
- prclExtra,
- prclOpaque,
- pboFore,
- pboOpaque,
- pptlOrg,
- mix));
-
-}
-
-//
-// OEMStrokePath
-//
-
-BOOL APIENTRY
-OEMStrokePath(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- XFORMOBJ *pxo,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- LINEATTRS *plineattrs,
- MIX mix
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMStokePath() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvStrokePath)(poempdev->pfnUnidrv[UD_DrvStrokePath])) (
- pso,
- ppo,
- pco,
- pxo,
- pbo,
- pptlBrushOrg,
- plineattrs,
- mix));
-
-}
-
-//
-// OEMFillPath
-//
-
-BOOL APIENTRY
-OEMFillPath(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- MIX mix,
- FLONG flOptions
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMFillPath() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvFillPath)(poempdev->pfnUnidrv[UD_DrvFillPath])) (
- pso,
- ppo,
- pco,
- pbo,
- pptlBrushOrg,
- mix,
- flOptions));
-
-}
-
-//
-// OEMStrokeAndFillPath
-//
-
-BOOL APIENTRY
-OEMStrokeAndFillPath(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- XFORMOBJ *pxo,
- BRUSHOBJ *pboStroke,
- LINEATTRS *plineattrs,
- BRUSHOBJ *pboFill,
- POINTL *pptlBrushOrg,
- MIX mixFill,
- FLONG flOptions
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMStrokeAndFillPath() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvStrokeAndFillPath)(poempdev->pfnUnidrv[UD_DrvStrokeAndFillPath])) (
- pso,
- ppo,
- pco,
- pxo,
- pboStroke,
- plineattrs,
- pboFill,
- pptlBrushOrg,
- mixFill,
- flOptions));
-
-}
-
-//
-// OEMRealizeBrush
-//
-
-BOOL APIENTRY
-OEMRealizeBrush(
- BRUSHOBJ *pbo,
- SURFOBJ *psoTarget,
- SURFOBJ *psoPattern,
- SURFOBJ *psoMask,
- XLATEOBJ *pxlo,
- ULONG iHatch
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMRealizeBrush() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)psoTarget->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvRealizeBrush)(poempdev->pfnUnidrv[UD_DrvRealizeBrush])) (
- pbo,
- psoTarget,
- psoPattern,
- psoMask,
- pxlo,
- iHatch));
-}
-
-//
-// OEMStartPage
-//
-
-BOOL APIENTRY
-OEMStartPage(
- SURFOBJ *pso
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMStartPage() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvStartPage)(poempdev->pfnUnidrv[UD_DrvStartPage]))(pso));
-
-}
-
-#define OEM_TESTSTRING "The DDICMDCB DLL adds this line of text."
-
-//
-// OEMSendPage
-//
-
-BOOL APIENTRY
-OEMSendPage(
- SURFOBJ *pso
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMSendPage() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
- POEMDEV pOemDevmode = (POEMDEV) pdevobj->pOEMDM;
- if(pOemDevmode && pOemDevmode->bWmarkEnabled)
- {
- RenderWaterMark(pdevobj);
- }
- //
- // print a line of text, just for testing
- //
- if (pso->iType == STYPE_BITMAP)
- {
- pdevobj->pDrvProcs->DrvXMoveTo(pdevobj, 0, 0);
- pdevobj->pDrvProcs->DrvYMoveTo(pdevobj, 0, 0);
- pdevobj->pDrvProcs->DrvWriteSpoolBuf(pdevobj, OEM_TESTSTRING,
- sizeof(OEM_TESTSTRING));
- }
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvSendPage)(poempdev->pfnUnidrv[UD_DrvSendPage]))(pso));
-
-}
-
-//
-// OEMEscape
-//
-
-ULONG APIENTRY
-OEMEscape(
- SURFOBJ *pso,
- ULONG iEsc,
- ULONG cjIn,
- _In_reads_bytes_(cjIn) PVOID pvIn,
- ULONG cjOut,
- _Out_writes_bytes_(cjOut) PVOID pvOut
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMEscape() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvEscape)(poempdev->pfnUnidrv[UD_DrvEscape])) (
- pso,
- iEsc,
- cjIn,
- pvIn,
- cjOut,
- pvOut));
-
-}
-
-//
-// OEMStartDoc
-//
-
-BOOL APIENTRY
-OEMStartDoc(
- SURFOBJ *pso,
- _In_ PWSTR pwszDocName,
- DWORD dwJobId
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMStartDoc() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvStartDoc)(poempdev->pfnUnidrv[UD_DrvStartDoc])) (
- pso,
- pwszDocName,
- dwJobId));
-
-}
-
-//
-// OEMEndDoc
-//
-
-BOOL APIENTRY
-OEMEndDoc(
- SURFOBJ *pso,
- FLONG fl
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMEndDoc() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvEndDoc)(poempdev->pfnUnidrv[UD_DrvEndDoc])) (
- pso,
- fl));
-
-}
-
-////////
-// NOTE:
-// OEM DLL needs to hook out the following six font related DDI calls only
-// if it enumerates additional fonts beyond what's in the GPD file.
-// And if it does, it needs to take care of its own fonts for all font DDI
-// calls and DrvTextOut call.
-///////
-
-//
-// OEMQueryFont
-//
-
-PIFIMETRICS APIENTRY
-OEMQueryFont(
- DHPDEV dhpdev,
- ULONG_PTR iFile,
- ULONG iFace,
- ULONG_PTR *pid
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMQueryFont() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvQueryFont)(poempdev->pfnUnidrv[UD_DrvQueryFont])) (
- dhpdev,
- iFile,
- iFace,
- pid));
-
-}
-
-//
-// OEMQueryFontTree
-//
-
-PVOID APIENTRY
-OEMQueryFontTree(
- DHPDEV dhpdev,
- ULONG_PTR iFile,
- ULONG iFace,
- ULONG iMode,
- ULONG_PTR *pid
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMQueryFontTree() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvQueryFontTree)(poempdev->pfnUnidrv[UD_DrvQueryFontTree])) (
- dhpdev,
- iFile,
- iFace,
- iMode,
- pid));
-
-}
-
-//
-// OEMQueryFontData
-//
-
-LONG APIENTRY
-OEMQueryFontData(
- DHPDEV dhpdev,
- FONTOBJ *pfo,
- ULONG iMode,
- HGLYPH hg,
- GLYPHDATA *pgd,
- _Out_writes_bytes_(cjSize) PVOID pv,
- ULONG cjSize
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMQueryFontData() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv if this is not the font that OEM enumerated.
- //
-
- return (((PFN_DrvQueryFontData)(poempdev->pfnUnidrv[UD_DrvQueryFontData])) (
- dhpdev,
- pfo,
- iMode,
- hg,
- pgd,
- pv,
- cjSize));
-
-}
-
-//
-// OEMQueryAdvanceWidths
-//
-
-BOOL APIENTRY
-OEMQueryAdvanceWidths(
- DHPDEV dhpdev,
- FONTOBJ *pfo,
- ULONG iMode,
- _In_reads_(cGlyphs) HGLYPH *phg,
- _Out_writes_bytes_(cGlyphs*sizeof(USHORT)) PVOID pvWidths,
- ULONG cGlyphs
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMQueryAdvanceWidths() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv if this is not the font that OEM enumerated.
- //
-
- return (((PFN_DrvQueryAdvanceWidths)
- (poempdev->pfnUnidrv[UD_DrvQueryAdvanceWidths])) (
- dhpdev,
- pfo,
- iMode,
- phg,
- pvWidths,
- cGlyphs));
-
-}
-
-//
-// OEMFontManagement
-//
-
-ULONG APIENTRY
-OEMFontManagement(
- SURFOBJ *pso,
- FONTOBJ *pfo,
- ULONG iMode,
- ULONG cjIn,
- _In_reads_bytes_(cjIn) PVOID pvIn,
- ULONG cjOut,
- _Out_writes_bytes_(cjOut) PVOID pvOut
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMFontManagement() entry.\r\n"));
-
- //
- // Note that Unidrv will not call OEM DLL for iMode==QUERYESCSUPPORT.
- // So pso is not NULL for sure.
- //
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv if this is not the font that OEM enumerated.
- //
-
- return (((PFN_DrvFontManagement)(poempdev->pfnUnidrv[UD_DrvFontManagement])) (
- pso,
- pfo,
- iMode,
- cjIn,
- pvIn,
- cjOut,
- pvOut));
-
-}
-
-//
-// OEMGetGlyphMode
-//
-
-ULONG APIENTRY
-OEMGetGlyphMode(
- DHPDEV dhpdev,
- FONTOBJ *pfo
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMGetGlyphMode() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv if this is not the font that OEM enumerated.
- //
-
- return (((PFN_DrvGetGlyphMode)(poempdev->pfnUnidrv[UD_DrvGetGlyphMode])) (
- dhpdev,
- pfo));
-
-}
-
-BOOL APIENTRY
-OEMNextBand(
- SURFOBJ *pso,
- POINTL *pptl
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMNextBand() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvNextBand)(poempdev->pfnUnidrv[UD_DrvNextBand])) (
- pso,
- pptl));
-
-}
-
-BOOL APIENTRY
-OEMStartBanding(
- SURFOBJ *pso,
- POINTL *pptl
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMStartBanding() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- POEMDEV pOemDevmode = (POEMDEV) pdevobj->pOEMDM;
- if(pOemDevmode->bWmarkEnabled)
- {
- RenderWaterMark(pdevobj);
- }
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvStartBanding)(poempdev->pfnUnidrv[UD_DrvStartBanding])) (
- pso,
- pptl));
-
-
-}
-
-ULONG APIENTRY
-OEMDitherColor(
- DHPDEV dhpdev,
- ULONG iMode,
- ULONG rgbColor,
- ULONG *pulDither
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMDitherColor() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvDitherColor)(poempdev->pfnUnidrv[UD_DrvDitherColor])) (
- dhpdev,
- iMode,
- rgbColor,
- pulDither));
-
-}
-
-BOOL APIENTRY
-OEMPaint(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- MIX mix
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMPaint() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvPaint)(poempdev->pfnUnidrv[UD_DrvPaint])) (
- pso,
- pco,
- pbo,
- pptlBrushOrg,
- mix));
-
-}
-
-BOOL APIENTRY
-OEMLineTo(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- LONG x1,
- LONG y1,
- LONG x2,
- LONG y2,
- RECTL *prclBounds,
- MIX mix
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMLineTo() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)pso->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvLineTo)(poempdev->pfnUnidrv[UD_DrvLineTo])) (
- pso,
- pco,
- pbo,
- x1,
- y1,
- x2,
- y2,
- prclBounds,
- mix));
-
-}
-
-
-//
-// OEMStretchBltROP
-//
-
-BOOL APIENTRY
-OEMStretchBltROP(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlHTOrg,
- RECTL *prclDest,
- RECTL *prclSrc,
- POINTL *pptlMask,
- ULONG iMode,
- BRUSHOBJ *pbo,
- ROP4 rop4
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMStretchBltROP() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)psoDest->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvStretchBltROP)(poempdev->pfnUnidrv[UD_DrvStretchBltROP])) (
- psoDest,
- psoSrc,
- psoMask,
- pco,
- pxlo,
- pca,
- pptlHTOrg,
- prclDest,
- prclSrc,
- pptlMask,
- iMode,
- pbo,
- rop4
- ));
-
-
-}
-
-//
-// OEMPlgBlt
-//
-
-BOOL APIENTRY
-OEMPlgBlt(
- SURFOBJ *psoDst,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlBrushOrg,
- POINTFIX *pptfixDest,
- RECTL *prclSrc,
- POINTL *pptlMask,
- ULONG iMode
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMPlgBlt() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)psoDst->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvPlgBlt)(poempdev->pfnUnidrv[UD_DrvPlgBlt])) (
- psoDst,
- psoSrc,
- psoMask,
- pco,
- pxlo,
- pca,
- pptlBrushOrg,
- pptfixDest,
- prclSrc,
- pptlMask,
- iMode));
-
-}
-
-//
-// OEMAlphaBlend
-//
-
-BOOL APIENTRY
-OEMAlphaBlend(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDest,
- RECTL *prclSrc,
- BLENDOBJ *pBlendObj
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMAlphaBlend() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)psoDest->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvAlphaBlend)(poempdev->pfnUnidrv[UD_DrvAlphaBlend])) (
- psoDest,
- psoSrc,
- pco,
- pxlo,
- prclDest,
- prclSrc,
- pBlendObj
- ));
-
-}
-
-//
-// OEMGradientFill
-//
-
-BOOL APIENTRY
-OEMGradientFill(
- SURFOBJ *psoDest,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- TRIVERTEX *pVertex,
- ULONG nVertex,
- PVOID pMesh,
- ULONG nMesh,
- RECTL *prclExtents,
- POINTL *pptlDitherOrg,
- ULONG ulMode
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMGradientFill() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)psoDest->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvGradientFill)(poempdev->pfnUnidrv[UD_DrvGradientFill])) (
- psoDest,
- pco,
- pxlo,
- pVertex,
- nVertex,
- pMesh,
- nMesh,
- prclExtents,
- pptlDitherOrg,
- ulMode
- ));
-
-}
-
-BOOL APIENTRY
-OEMTransparentBlt(
- SURFOBJ *psoDst,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDst,
- RECTL *prclSrc,
- ULONG iTransColor,
- ULONG ulReserved
- )
-{
- PDEVOBJ pdevobj;
- POEMPDEV poempdev;
-
- VERBOSE(DLLTEXT("OEMTransparentBlt() entry.\r\n"));
-
- pdevobj = (PDEVOBJ)psoDst->dhpdev;
- poempdev = (POEMPDEV)pdevobj->pdevOEM;
-
- //
- // turn around to call Unidrv
- //
-
- return (((PFN_DrvTransparentBlt)(poempdev->pfnUnidrv[UD_DrvTransparentBlt])) (
- psoDst,
- psoSrc,
- pco,
- pxlo,
- prclDst,
- prclSrc,
- iTransColor,
- ulReserved
- ));
-
-}
-
-void RenderWaterMark(PDEVOBJ pdevobj)
-{
- POEMDEV pOemDevmode = (POEMDEV) pdevobj->pOEMDM;
- // We have a programmable palette. See GPD file for PaletteProgrammable option.
- // We are programming color index 8 to the new color and selectiing it with the PJL code "\xv%da%db%dc8I\xib*v8S".
- // In the font selection code, we are selecting the arial font (4148)"\x1b(19U\x1b(s4148t0b0s%dv1P"
- // Cursor position is hard coded to <x,y> but you it can also be made dependent on user input.
- // PCL5 can print in 0,90,180 and 270 degrees. So Vertical can also be supported.
- // The \x1b*v7S after the watermark sets the foreground color back to black
-
- /*
- //Note we can push and pop the cursor position if needed.
- Push/Pop Cursor position
- \x1b&f0S //push
- \x1b&f1S //pop
- */
-
- PSTR pszBuffer = NULL;
- char str_wmark[]="\x1b*v%da%db%dc8I\x1b*v8S\x1b(19U\x1b(s4148t0b0s%dv1P\x1b*p1000Y\x1b*p750X%ls\x1b*v7S";
- DWORD dwLen= FormatResource (str_wmark,
- &pszBuffer,
- GetRValue(pOemDevmode->crWmarkTextColor),
- GetGValue(pOemDevmode->crWmarkTextColor),
- GetBValue(pOemDevmode->crWmarkTextColor),
- pOemDevmode->dwWmarkFontSize,pOemDevmode->szWaterMark);
-
- if ( dwLen != 0 )
- {
- pdevobj->pDrvProcs->DrvWriteSpoolBuf(pdevobj, pszBuffer, dwLen);
- }
-
- if ( pszBuffer )
- {
- delete[]pszBuffer;
- pszBuffer = NULL;
- }
-}
-
-
-DWORD
-FormatResource(
- _In_ LPSTR pszResource,
- _Out_ LPSTR *ppszBuffer,
- ...)
-{
- DWORD dwBufferSize = 0;
- DWORD dwLoop = 0;
- va_list vaList;
- HRESULT hResult = S_OK;
-
- if ( NULL == pszResource ||
- NULL == ppszBuffer )
- {
- hResult = E_INVALIDARG;
- return 0;
- }
-
-
- if ( SUCCEEDED(hResult) )
- {
- dwBufferSize = (DWORD)strlen(pszResource) + MAX_PATH;
-
- va_start(vaList, ppszBuffer);
-
- // *ppszBuffer should be NULL when passed in.
- *ppszBuffer = NULL;
-
- // Allocate and format the string.
- do {
-
- if(NULL != *ppszBuffer)
- {
- delete[] *ppszBuffer;
- }
- *ppszBuffer = new CHAR[dwBufferSize];
- if(NULL == *ppszBuffer)
- {
- hResult = E_OUTOFMEMORY;
- goto Cleanup;
- }
-
- hResult = StringCbVPrintfA(*ppszBuffer, dwBufferSize, pszResource, vaList);
-
- if(STRSAFE_E_INSUFFICIENT_BUFFER == hResult)
- {
- dwBufferSize *= 2;
- }
-
- } while ( FAILED(hResult) && (dwLoop++ < MAX_LOOP));
- }
-
-Cleanup:
-
- // Check to see if we hit error.
- if(FAILED(hResult))
- {
- if(NULL != *ppszBuffer)
- {
- delete[] *ppszBuffer;
- *ppszBuffer = NULL;
- }
- }
-
- va_end(vaList);
-
- if ( *ppszBuffer )
- {
- DWORD dwToReturn = 0;
-
- if (SUCCEEDED(SIZETToDWord(strlen(*ppszBuffer), &dwToReturn)))
- {
- return dwToReturn;
- }
- }
- return 0;
-}
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/dllentry.cpp
deleted file mode 100644
index 5230f243..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/dllentry.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: dllentry.cpp
-//
-// PURPOSE: Source module for DLL entry function(s).
-//
-
-#include "precomp.h"
-#include "wmarkuni.h"
-#include "debug.h"
-
-// indicate to prefast that this is a user-mode component.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-///////////////////////////////////////////////////////////
-//
-// DLL entry point
-//
-BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved)
-{
- UNREFERENCED_PARAMETER(hInst);
- UNREFERENCED_PARAMETER(lpReserved);
-
- switch(wReason)
- {
- case DLL_PROCESS_ATTACH:
- VERBOSE(DLLTEXT("Process attach.\r\n"));
- break;
-
- case DLL_THREAD_ATTACH:
- VERBOSE(DLLTEXT("Thread attach.\r\n"));
- break;
-
- case DLL_PROCESS_DETACH:
- VERBOSE(DLLTEXT("Process detach.\r\n"));
- break;
-
- case DLL_THREAD_DETACH:
- VERBOSE(DLLTEXT("Thread detach.\r\n"));
- break;
- }
-
- return TRUE;
-}
-
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/fdevmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/fdevmode.cpp
deleted file mode 100644
index c32e0bcb..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/fdevmode.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: fDevmode.cpp
-//
-//
-// PURPOSE: Place holder file for devmode functions.
-//
-
-#include "precomp.h"
-#include "wmarkuni.h"
-
-// indicate to prefast that this is a user-mode component.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-
-#include <DEVMODE.CPP>
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/intrface.cpp
deleted file mode 100644
index 5688cb8d..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/intrface.cpp
+++ /dev/null
@@ -1,950 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.cpp
-//
-//
-// PURPOSE: Interface for User Mode COM Customization DLL.
-//
-
-#include "precomp.h"
-
-#include "wmarkuni.h"
-#include "debug.h"
-#include "intrface.h"
-#include "name.h"
-
-// indicate to prefast that this is a user-mode component.
-_Analysis_mode_(_Analysis_code_type_user_driver_);
-
-////////////////////////////////////////////////////////
-// Internal Globals
-////////////////////////////////////////////////////////
-
-static long g_cComponents = 0; // Count of active components
-static long g_cServerLocks = 0; // Count of locks
-
-////////////////////////////////////////////////////////
-// Internal Constants
-////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////
-// Warning: the following array order must match the
-// order in enum ENUMHOOKS.
-///////////////////////////////////////////////////////
-
-static const DRVFN OEMHookFuncs[] =
-{
- { INDEX_DrvRealizeBrush, (PFN) OEMRealizeBrush },
- { INDEX_DrvDitherColor, (PFN) OEMDitherColor },
- { INDEX_DrvCopyBits, (PFN) OEMCopyBits },
- { INDEX_DrvBitBlt, (PFN) OEMBitBlt },
- { INDEX_DrvStretchBlt, (PFN) OEMStretchBlt },
- { INDEX_DrvTextOut, (PFN) OEMTextOut },
- { INDEX_DrvStrokePath, (PFN) OEMStrokePath },
- { INDEX_DrvFillPath, (PFN) OEMFillPath },
- { INDEX_DrvStrokeAndFillPath, (PFN) OEMStrokeAndFillPath },
- { INDEX_DrvPaint, (PFN) OEMPaint },
- { INDEX_DrvLineTo, (PFN) OEMLineTo },
- { INDEX_DrvStartPage, (PFN) OEMStartPage },
- { INDEX_DrvSendPage, (PFN) OEMSendPage },
- { INDEX_DrvEscape, (PFN) OEMEscape },
- { INDEX_DrvStartDoc, (PFN) OEMStartDoc },
- { INDEX_DrvEndDoc, (PFN) OEMEndDoc },
- { INDEX_DrvNextBand, (PFN) OEMNextBand },
- { INDEX_DrvStartBanding, (PFN) OEMStartBanding },
- { INDEX_DrvQueryFont, (PFN) OEMQueryFont },
- { INDEX_DrvQueryFontTree, (PFN) OEMQueryFontTree },
- { INDEX_DrvQueryFontData, (PFN) OEMQueryFontData },
- { INDEX_DrvQueryAdvanceWidths, (PFN) OEMQueryAdvanceWidths },
- { INDEX_DrvFontManagement, (PFN) OEMFontManagement },
- { INDEX_DrvGetGlyphMode, (PFN) OEMGetGlyphMode },
- { INDEX_DrvStretchBltROP, (PFN) OEMStretchBltROP },
- { INDEX_DrvPlgBlt, (PFN) OEMPlgBlt },
- { INDEX_DrvTransparentBlt, (PFN) OEMTransparentBlt },
- { INDEX_DrvAlphaBlend, (PFN) OEMAlphaBlend },
- { INDEX_DrvGradientFill, (PFN) OEMGradientFill },
-};
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IWmarkUni body
-//
-IWmarkUni::~IWmarkUni()
-{
- // Make sure that helper interface is released.
- if(NULL != m_pOEMHelp)
- {
- m_pOEMHelp->Release();
- m_pOEMHelp = NULL;
- }
-
- // If this instance of the object is being deleted, then the reference
- // count should be zero.
- assert(0 == m_cRef);
-}
-
-
-HRESULT __stdcall IWmarkUni::QueryInterface(const IID& iid, void** ppv)
-{
- if (iid == IID_IUnknown)
- {
- *ppv = static_cast<IUnknown*>(this);
- VERBOSE(DLLTEXT("IWmarkUni::QueryInterface IUnknown.\r\n"));
- }
- else if (iid == IID_IPrintOemUni)
- {
- *ppv = static_cast<IPrintOemUni*>(this);
- VERBOSE(DLLTEXT("IWmarkUni::QueryInterface IPrintOemUni.\r\n"));
- }
- else
- {
- *ppv = NULL;
- VERBOSE(DLLTEXT("IWmarkUni::QueryInterface interface not supported.\r\n"));
- return E_NOINTERFACE;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef();
- return S_OK;
-}
-
-ULONG __stdcall IWmarkUni::AddRef()
-{
- VERBOSE(DLLTEXT("IWmarkUni::AddRef() entry.\r\n"));
- return InterlockedIncrement(&m_cRef);
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IWmarkUni::Release()
-{
- VERBOSE(DLLTEXT("IWmarkUni::Release() entry.\r\n"));
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-
-HRESULT __stdcall IWmarkUni::GetInfo (
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- VERBOSE(DLLTEXT("IWmarkUni::GetInfo entry.\r\n"));
-
- // Validate parameters.
- if( (NULL == pcbNeeded)
- ||
- ( (OEMGI_GETSIGNATURE != dwMode)
- &&
- (OEMGI_GETVERSION != dwMode)
- &&
- (OEMGI_GETPUBLISHERINFO != dwMode)
- )
- )
- {
- WARNING(DLLTEXT("IWmarkUni::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER.\r\n"));
- SetLastError(ERROR_INVALID_PARAMETER);
- return E_FAIL;
- }
-
- // Set expected buffer size.
- if(OEMGI_GETPUBLISHERINFO != dwMode)
- {
- *pcbNeeded = sizeof(DWORD);
- }
- else
- {
- *pcbNeeded = sizeof(PUBLISHERINFO);
- return E_FAIL;
- }
-
- // Check buffer size is sufficient.
- if((cbSize < *pcbNeeded) || (NULL == pBuffer))
- {
- VERBOSE(DLLTEXT("IWmarkUni::GetInfo() exit insufficient buffer!\r\n"));
- SetLastError(ERROR_INSUFFICIENT_BUFFER);
- return E_FAIL;
- }
-
- switch(dwMode)
- {
- // OEM DLL Signature
- case OEMGI_GETSIGNATURE:
- *(PDWORD)pBuffer = OEM_SIGNATURE;
- break;
-
- // OEM DLL version
- case OEMGI_GETVERSION:
- *(PDWORD)pBuffer = OEM_VERSION;
- break;
-
- // dwMode not supported.
- case OEMGI_GETPUBLISHERINFO:
- default:
- // Set written bytes to zero since nothing was written.
- WARNING(DLLTEXT("IWmarkUni::GetInfo() exit mode not supported.\r\n"));
- *pcbNeeded = 0;
- SetLastError(ERROR_NOT_SUPPORTED);
- return E_FAIL;
- }
-
- VERBOSE(DLLTEXT("IWmarkUni::GetInfo() exit S_OK.\r\n"));
-
- return S_OK;
-}
-
-HRESULT __stdcall IWmarkUni::PublishDriverInterface(
- IUnknown *pIUnknown)
-{
- VERBOSE(DLLTEXT("IWmarkUni::PublishDriverInterface() entry.\r\n"));
-
- // Need to store pointer to Driver Helper functions, if we already haven't.
- if (this->m_pOEMHelp == NULL)
- {
- HRESULT hResult;
-
-
- // Get Interface to Helper Functions.
- hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverUni, (void** ) &(this->m_pOEMHelp));
-
- if(!SUCCEEDED(hResult))
- {
- // Make sure that interface pointer reflects interface query failure.
- this->m_pOEMHelp = NULL;
-
- return E_FAIL;
- }
- }
-
- return S_OK;
-}
-
-
-HRESULT __stdcall IWmarkUni::EnableDriver(
- DWORD dwDriverVersion,
- DWORD cbSize,
- PDRVENABLEDATA pded)
-{
- VERBOSE(DLLTEXT("IWmarkUni::EnableDriver() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(dwDriverVersion);
- UNREFERENCED_PARAMETER(cbSize);
-
- // List DDI functions that are hooked.
- pded->iDriverVersion = PRINTER_OEMINTF_VERSION;
- pded->c = sizeof(OEMHookFuncs) / sizeof(DRVFN);
- pded->pdrvfn = (DRVFN *) OEMHookFuncs;
-
- // Even if nothing is done, need to return S_OK so
- // that DisableDriver() will be called, which releases
- // the reference to the Printer Driver's interface.
- // If error occurs, return E_FAIL.
- return S_OK;
-}
-
-HRESULT __stdcall IWmarkUni::DisableDriver(VOID)
-{
- VERBOSE(DLLTEXT("IWmarkUni::DisaleDriver() entry.\r\n"));
-
- // Release reference to Printer Driver's interface.
- if (this->m_pOEMHelp)
- {
- this->m_pOEMHelp->Release();
- this->m_pOEMHelp = NULL;
- }
-
- return S_OK;
-}
-
-HRESULT __stdcall IWmarkUni::DisablePDEV(
- PDEVOBJ pdevobj)
-{
- VERBOSE(DLLTEXT("IWmarkUni::DisablePDEV() entry.\r\n"));
-
- assert(NULL != pdevobj->pdevOEM);
- delete pdevobj->pdevOEM;
-
- return S_OK;
-};
-
-HRESULT __stdcall IWmarkUni::EnablePDEV(
- PDEVOBJ pdevobj,
- _In_ PWSTR pPrinterName,
- ULONG cPatterns,
- HSURF *phsurfPatterns,
- ULONG cjGdiInfo,
- GDIINFO *pGdiInfo,
- ULONG cjDevInfo,
- DEVINFO *pDevInfo,
- DRVENABLEDATA *pded,
- OUT PDEVOEM *pDevOem)
-{
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pPrinterName);
- UNREFERENCED_PARAMETER(cPatterns);
- UNREFERENCED_PARAMETER(phsurfPatterns);
- UNREFERENCED_PARAMETER(cjGdiInfo);
- UNREFERENCED_PARAMETER(pGdiInfo);
- UNREFERENCED_PARAMETER(cjDevInfo);
- UNREFERENCED_PARAMETER(pDevInfo);
-
- VERBOSE(DLLTEXT("IWmarkUni::EnablePDEV() entry.\r\n"));
-
- POEMPDEV poempdev;
- INT i, j;
- DWORD dwDDIIndex;
- PDRVFN pdrvfn;
-
- //
- // Allocate the OEMDev
- //
- poempdev = new OEMPDEV;
- if (NULL == poempdev)
- {
- return NULL;
- }
-
- //
- // Fill in OEMDEV
- //
-
- for (i = 0; i < MAX_DDI_HOOKS; i++)
- {
- //
- // search through Unidrv's hooks and locate the function ptr
- //
- dwDDIIndex = OEMHookFuncs[i].iFunc;
- for (j = pded->c, pdrvfn = pded->pdrvfn; j > 0; j--, pdrvfn++)
- {
- if (dwDDIIndex == pdrvfn->iFunc)
- {
- poempdev->pfnUnidrv[i] = pdrvfn->pfn;
- break;
- }
- }
- if (j == 0)
- {
- //
- // Didn't find the hook. This could mean Unidrv doesn't hook this DDI but allows OEMs to hook it out.
- //
- poempdev->pfnUnidrv[i] = NULL;
- }
-
- }
-
- *pDevOem = (POEMPDEV) poempdev;
-
- return (NULL != *pDevOem ? S_OK : E_FAIL);
-}
-
-
-HRESULT __stdcall IWmarkUni::ResetPDEV(
- PDEVOBJ pdevobjOld,
- PDEVOBJ pdevobjNew)
-{
- VERBOSE(DLLTEXT("IWmarkUni::ResetPDEV() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pdevobjOld);
- UNREFERENCED_PARAMETER(pdevobjNew);
-
- return S_OK;
-}
-
-
-HRESULT __stdcall IWmarkUni::DevMode(
- DWORD dwMode,
- POEMDMPARAM pOemDMParam)
-{
- VERBOSE(DLLTEXT("IWmarkUni:DevMode entry.\n"));
- return hrOEMDevMode(dwMode, pOemDMParam);
-}
-
-HRESULT __stdcall IWmarkUni::GetImplementedMethod(_In_ PSTR pMethodName)
-{
- HRESULT Result = S_FALSE;
-
-
- VERBOSE(DLLTEXT("IWmarkUni::GetImplementedMethod() entry.\r\n"));
-
- // Unidrv only calls GetImplementedMethod for optional
- // methods. The required methods are assumed to be
- // supported.
-
- // Return S_OK for supported function (i.e. implemented),
- // and S_FALSE for functions that aren't supported (i.e. not implemented).
- switch (*pMethodName)
- {
- case 'C':
- if (!strcmp(NAME_CommandCallback, pMethodName))
- {
- Result = S_OK;
- }
- else if (!strcmp(NAME_Compression, pMethodName))
- {
- Result = S_FALSE;
- }
- break;
-
- case 'D':
- if (!strcmp(NAME_DownloadFontHeader, pMethodName))
- {
- Result = S_FALSE;
- }
- else if (!strcmp(NAME_DownloadCharGlyph, pMethodName))
- {
- Result = S_FALSE;
- }
- break;
-
- case 'F':
- if (!strcmp(NAME_FilterGraphics, pMethodName))
- {
- Result = S_OK;
- }
- break;
-
- case 'H':
- if (!strcmp(NAME_HalftonePattern, pMethodName))
- {
- Result = S_FALSE;
- }
- break;
-
- case 'I':
- if (!strcmp(NAME_ImageProcessing, pMethodName))
- {
- Result = S_OK;
- }
- break;
-
- case 'M':
- if (!strcmp(NAME_MemoryUsage, pMethodName))
- {
- Result = S_FALSE;
- }
- break;
-
- case 'O':
- if (!strcmp(NAME_OutputCharStr, pMethodName))
- {
- Result = S_FALSE;
- }
- break;
-
- case 'S':
- if (!strcmp(NAME_SendFontCmd, pMethodName))
- {
- Result = S_FALSE;
- }
- break;
-
- case 'T':
- if (!strcmp(NAME_TextOutAsBitmap, pMethodName))
- {
- Result = S_FALSE;
- }
- else if (!strcmp(NAME_TTDownloadMethod, pMethodName))
- {
- Result = S_FALSE;
- }
- else if (!strcmp(NAME_TTYGetInfo, pMethodName))
- {
- Result = S_FALSE;
- }
- break;
-
- case 'W':
- if(!strcmp(NAME_WritePrinter, pMethodName))
- {
- Result = S_FALSE;
- }
- break;
- }
-
- return Result;
-}
-
-HRESULT __stdcall IWmarkUni::CommandCallback(
- PDEVOBJ pdevobj,
- DWORD dwCallbackID,
- DWORD dwCount,
- PDWORD pdwParams,
- OUT INT *piResult)
-{
- VERBOSE(DLLTEXT("IWmarkUni::CommandCallback() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(dwCallbackID);
- UNREFERENCED_PARAMETER(dwCount);
- UNREFERENCED_PARAMETER(pdwParams);
-
- *piResult = 0;
-
- return S_OK;
-}
-
-HRESULT __stdcall IWmarkUni::ImageProcessing(
- PDEVOBJ pdevobj,
- PBYTE pSrcBitmap,
- PBITMAPINFOHEADER pBitmapInfoHeader,
- PBYTE pColorTable,
- DWORD dwCallbackID,
- PIPPARAMS pIPParams,
- OUT PBYTE *ppbResult)
-{
- VERBOSE(DLLTEXT("IWmarkUni::ImageProcessing() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pSrcBitmap);
- UNREFERENCED_PARAMETER(pBitmapInfoHeader);
- UNREFERENCED_PARAMETER(pColorTable);
- UNREFERENCED_PARAMETER(dwCallbackID);
- UNREFERENCED_PARAMETER(pIPParams);
- UNREFERENCED_PARAMETER(ppbResult);
-
- return S_OK;
-}
-
-HRESULT __stdcall IWmarkUni::FilterGraphics(
- PDEVOBJ pdevobj,
- PBYTE pBuf,
- DWORD dwLen)
-{
- DWORD dwResult;
- VERBOSE(DLLTEXT("IWmarkUni::FilterGraphis() entry.\r\n"));
- m_pOEMHelp->DrvWriteSpoolBuf(pdevobj, pBuf, dwLen, &dwResult);
-
- if (dwResult == dwLen)
- return S_OK;
- else
- return E_FAIL;
-}
-
-HRESULT __stdcall IWmarkUni::Compression(
- PDEVOBJ pdevobj,
- PBYTE pInBuf,
- PBYTE pOutBuf,
- DWORD dwInLen,
- DWORD dwOutLen,
- OUT INT *piResult)
-{
- VERBOSE(DLLTEXT("IWmarkUni::Compression() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pInBuf);
- UNREFERENCED_PARAMETER(pOutBuf);
- UNREFERENCED_PARAMETER(dwInLen);
- UNREFERENCED_PARAMETER(dwOutLen);
- UNREFERENCED_PARAMETER(piResult);
-
- // When implemented, the return from GetImplementedMethod
- // for this method name must be S_OK.
-
- return E_NOTIMPL;
-}
-
-
-HRESULT __stdcall IWmarkUni::HalftonePattern(
- PDEVOBJ pdevobj,
- PBYTE pHTPattern,
- DWORD dwHTPatternX,
- DWORD dwHTPatternY,
- DWORD dwHTNumPatterns,
- DWORD dwCallbackID,
- PBYTE pResource,
- DWORD dwResourceSize)
-{
- VERBOSE(DLLTEXT("IWmarkUni::HalftonePattern() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pHTPattern);
- UNREFERENCED_PARAMETER(dwHTPatternX);
- UNREFERENCED_PARAMETER(dwHTPatternY);
- UNREFERENCED_PARAMETER(dwHTNumPatterns);
- UNREFERENCED_PARAMETER(dwCallbackID);
- UNREFERENCED_PARAMETER(pResource);
- UNREFERENCED_PARAMETER(dwResourceSize);
-
- // When implemented, the return from GetImplementedMethod
- // for this method name must be S_OK.
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWmarkUni::MemoryUsage(
- PDEVOBJ pdevobj,
- POEMMEMORYUSAGE pMemoryUsage)
-{
- VERBOSE(DLLTEXT("IWmarkUni::MemoryUsage() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pMemoryUsage);
-
- // When implemented, the return from GetImplementedMethod
- // for this method name must be S_OK.
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWmarkUni::DownloadFontHeader(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- OUT DWORD *pdwResult)
-{
- VERBOSE(DLLTEXT("IWmarkUni::DownloadFontHeader() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(pdwResult);
-
- // When implemented, the return from GetImplementedMethod
- // for this method name must be S_OK.
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWmarkUni::DownloadCharGlyph(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- HGLYPH hGlyph,
- PDWORD pdwWidth,
- OUT DWORD *pdwResult)
-{
- VERBOSE(DLLTEXT("IWmarkUni::DownloadCharGlyph() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(hGlyph);
- UNREFERENCED_PARAMETER(pdwWidth);
- UNREFERENCED_PARAMETER(pdwResult);
-
- // When implemented, the return from GetImplementedMethod
- // for this method name must be S_OK.
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWmarkUni::TTDownloadMethod(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- OUT DWORD *pdwResult)
-{
- VERBOSE(DLLTEXT("IWmarkUni::TTDownloadMethod() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(pdwResult);
-
- // When implemented, the return from GetImplementedMethod
- // for this method name must be S_OK.
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWmarkUni::OutputCharStr(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- DWORD dwType,
- DWORD dwCount,
- PVOID pGlyph)
-{
- VERBOSE(DLLTEXT("IWmarkUni::OutputCharStr() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(dwType);
- UNREFERENCED_PARAMETER(dwCount);
- UNREFERENCED_PARAMETER(pGlyph);
-
- // When implemented, the return from GetImplementedMethod
- // for this method name must be S_OK.
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWmarkUni::SendFontCmd(
- PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- PFINVOCATION pFInv)
-{
- VERBOSE(DLLTEXT("IWmarkUni::SendFontCmd() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(pUFObj);
- UNREFERENCED_PARAMETER(pFInv);
-
- // When implemented, the return from GetImplementedMethod
- // for this method name must be S_OK.
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWmarkUni::DriverDMS(
- PVOID pDevObj,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded)
-{
- VERBOSE(DLLTEXT("IWmarkUni::DriverDMS() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pDevObj);
- UNREFERENCED_PARAMETER(pBuffer);
- UNREFERENCED_PARAMETER(cbSize);
- UNREFERENCED_PARAMETER(pcbNeeded);
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWmarkUni::TextOutAsBitmap(
- SURFOBJ *pso,
- STROBJ *pstro,
- FONTOBJ *pfo,
- CLIPOBJ *pco,
- RECTL *prclExtra,
- RECTL *prclOpaque,
- BRUSHOBJ *pboFore,
- BRUSHOBJ *pboOpaque,
- POINTL *pptlOrg,
- MIX mix)
-{
- VERBOSE(DLLTEXT("IWmarkUni::TextOutAsBitmap() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pso);
- UNREFERENCED_PARAMETER(pstro);
- UNREFERENCED_PARAMETER(pfo);
- UNREFERENCED_PARAMETER(pco);
- UNREFERENCED_PARAMETER(prclExtra);
- UNREFERENCED_PARAMETER(prclOpaque);
- UNREFERENCED_PARAMETER(pboFore);
- UNREFERENCED_PARAMETER(pboOpaque);
- UNREFERENCED_PARAMETER(pptlOrg);
- UNREFERENCED_PARAMETER(mix);
-
- // When implemented, the return from GetImplementedMethod
- // for this method name must be S_OK.
-
- return E_NOTIMPL;
-}
-
-HRESULT __stdcall IWmarkUni::TTYGetInfo(
- PDEVOBJ pdevobj,
- DWORD dwInfoIndex,
- PVOID pOutputBuf,
- DWORD dwSize,
- DWORD *pcbcNeeded)
-{
- VERBOSE(DLLTEXT("IWmarkUni::TTYGetInfo() entry.\r\n"));
-
- UNREFERENCED_PARAMETER(pdevobj);
- UNREFERENCED_PARAMETER(dwInfoIndex);
- UNREFERENCED_PARAMETER(pOutputBuf);
- UNREFERENCED_PARAMETER(dwSize);
- UNREFERENCED_PARAMETER(pcbcNeeded);
-
- // When implemented, the return from GetImplementedMethod
- // for this method name must be S_OK.
-
- return E_NOTIMPL;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// oem class factory
-//
-class IOemCF : public IClassFactory
-{
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- // *** IClassFactory methods ***
- STDMETHOD(CreateInstance) (THIS_
- LPUNKNOWN pUnkOuter,
- REFIID riid,
- LPVOID FAR* ppvObject);
- STDMETHOD(LockServer) (THIS_ BOOL bLock);
-
-
- // Constructor
- IOemCF(): m_cRef(1) { };
- ~IOemCF() { };
-
-protected:
- LONG m_cRef;
-
-};
-
-///////////////////////////////////////////////////////////
-//
-// Class factory body
-//
-HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv)
-{
- if ((iid == IID_IUnknown) || (iid == IID_IClassFactory))
- {
- *ppv = static_cast<IOemCF*>(this);
- }
- else
- {
- *ppv = NULL;
- VERBOSE(DLLTEXT("IOemCF::QueryInterface interface not supported.\r\n"));
- return E_NOINTERFACE;
- }
- reinterpret_cast<IUnknown*>(*ppv)->AddRef();
- return S_OK;
-}
-
-ULONG __stdcall IOemCF::AddRef()
-{
- return InterlockedIncrement(&m_cRef);
-}
-
-_At_(this, __drv_freesMem(object))
-ULONG __stdcall IOemCF::Release()
-{
- ASSERT( 0 != m_cRef);
- ULONG cRef = InterlockedDecrement(&m_cRef);
- if (0 == cRef)
- {
- delete this;
-
- }
- return cRef;
-}
-
-// IClassFactory implementation
-HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter,
- const IID& iid,
- void** ppv)
-{
- //VERBOSE(DLLTEXT("Class factory:\t\tCreate component."));
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Cannot aggregate.
- if (pUnknownOuter != NULL)
- {
- return CLASS_E_NOAGGREGATION;
- }
-
- // Create component.
- IWmarkUni* pOemCP = new IWmarkUni;
- if (pOemCP == NULL)
- {
- return E_OUTOFMEMORY;
- }
-
- // Get the requested interface.
- HRESULT hr = pOemCP->QueryInterface(iid, ppv);
-
- // Release the IUnknown pointer.
- // (If QueryInterface failed, component will delete itself.)
- pOemCP->Release();
- return hr;
-}
-
-// LockServer
-HRESULT __stdcall IOemCF::LockServer(BOOL bLock)
-{
- if (bLock)
- {
- InterlockedIncrement(&g_cServerLocks);
- }
- else
- {
- InterlockedDecrement(&g_cServerLocks);
- }
- return S_OK;
-}
-
-
-//
-// Registration functions
-//
-
-//
-// Can DLL unload now?
-//
-STDAPI DllCanUnloadNow()
-{
- //
- // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers
- // are unloaded, Unidrv and Pscript driver ignore the return value of
- // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL.
- //
- // If OEM DLL spins off a working thread that also uses the OEM DLL, the
- // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise
- // it may crash after Unidrv or Pscript calls FreeLibrary.
- //
-
- VERBOSE(DLLTEXT("DllCanUnloadNow entered.\r\n"));
-
- if ((g_cComponents == 0) && (g_cServerLocks == 0))
- {
- return S_OK;
- }
- else
- {
- return S_FALSE;
- }
-}
-
-//
-// Get class factory
-//
-STDAPI DllGetClassObject(
- _In_ REFCLSID clsid,
- _In_ REFIID iid,
- _Outptr_ LPVOID* ppv)
-{
- VERBOSE(DLLTEXT("DllGetClassObject:\tCreate class factory.\r\n"));
-
- if (ppv == NULL)
- {
- return E_POINTER;
- }
- *ppv = NULL;
-
- // Can we create this component?
- if (clsid != CLSID_OEMRENDER)
- {
- return CLASS_E_CLASSNOTAVAILABLE;
- }
-
- // Create class factory.
- IOemCF* pFontCF = new IOemCF; // Reference count set to 1
- // in constructor
- if (pFontCF == NULL)
- {
- return E_OUTOFMEMORY;
- }
-
- // Get requested interface.
- HRESULT hr = pFontCF->QueryInterface(iid, ppv);
- pFontCF->Release();
-
- return hr;
-}
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/intrface.h
deleted file mode 100644
index a87f5ba4..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/intrface.h
+++ /dev/null
@@ -1,254 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Intrface.H
-//
-//
-// PURPOSE: Define COM interface for User Mode Printer Customization DLL.
-//
-#pragma once
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// IWmarkUni
-//
-// Interface for Unidrv OEM sample rendering module
-//
-class IWmarkUni : public IPrintOemUni
-{
-public:
-public:
- // *** IUnknown methods ***
-
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
-
- STDMETHOD_(ULONG,AddRef) (THIS);
-
- // the _At_ tag here tells prefast that once release
- // is called, the memory should not be considered leaked
- _At_(this, __drv_freesMem(object))
- STDMETHOD_(ULONG,Release) (THIS);
-
- //
- // Method for publishing Driver interface.
- //
- STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown);
-
- //
- // Method for getting the implemented methods.
- // Returns S_OK if the given method is implemneted.
- // Returns S_FALSE if the given method is notimplemneted.
- //
-
- STDMETHOD(GetImplementedMethod)(THIS_ _In_ PSTR pMethodName);
-
- //
- // Method for OEM to specify DDI hook out
- //
-
- STDMETHOD(EnableDriver) (THIS_ DWORD DriverVersion,
- DWORD cbSize,
- PDRVENABLEDATA pded);
-
- //
- // Method to notify OEM plugin that it is no longer required
- //
-
- STDMETHOD(DisableDriver) (THIS);
-
- //
- // Method for OEM to contruct its own PDEV
- //
-
- STDMETHOD(EnablePDEV) (THIS_ PDEVOBJ pdevobj,
- _In_ PWSTR pPrinterName,
- ULONG cPatterns,
- HSURF *phsurfPatterns,
- ULONG cjGdiInfo,
- GDIINFO *pGdiInfo,
- ULONG cjDevInfo,
- DEVINFO *pDevInfo,
- DRVENABLEDATA *pded,
- OUT PDEVOEM *pDevOem);
-
- //
- // Method for OEM to free any resource associated with its PDEV
- //
-
- STDMETHOD(DisablePDEV) (THIS_ PDEVOBJ pdevobj);
-
- //
- // Method for OEM to transfer from old PDEV to new PDEV
- //
-
- STDMETHOD(ResetPDEV) (THIS_ PDEVOBJ pdevobjOld,
- PDEVOBJ pdevobjNew);
-
- //
- // Get OEM dll related information
- //
-
- STDMETHOD(GetInfo) (THIS_ DWORD dwMode,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded);
-
- //
- // OEMDriverDMS - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(DriverDMS)(THIS_ PVOID pDevObj,
- PVOID pBuffer,
- DWORD cbSize,
- PDWORD pcbNeeded);
-
- //
- // OEMDevMode
- //
-
- STDMETHOD(DevMode) (THIS_ DWORD dwMode,
- POEMDMPARAM pOemDMParam);
-
- //
- // OEMCommandCallback - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(CommandCallback)(THIS_ PDEVOBJ pdevobj,
- DWORD dwCallbackID,
- DWORD dwCount,
- PDWORD pdwParams,
- OUT INT *piResult);
-
- //
- // OEMImageProcessing - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(ImageProcessing)(THIS_ PDEVOBJ pdevobj,
- PBYTE pSrcBitmap,
- PBITMAPINFOHEADER pBitmapInfoHeader,
- PBYTE pColorTable,
- DWORD dwCallbackID,
- PIPPARAMS pIPParams,
- OUT PBYTE *ppbResult);
-
- //
- // OEMFilterGraphics - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(FilterGraphics) (THIS_ PDEVOBJ pdevobj,
- PBYTE pBuf,
- DWORD dwLen);
- //
- // OEMCompression - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(Compression)(THIS_ PDEVOBJ pdevobj,
- PBYTE pInBuf,
- PBYTE pOutBuf,
- DWORD dwInLen,
- DWORD dwOutLen,
- OUT INT *piResult);
-
- //
- // OEMHalftone - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(HalftonePattern) (THIS_ PDEVOBJ pdevobj,
- PBYTE pHTPattern,
- DWORD dwHTPatternX,
- DWORD dwHTPatternY,
- DWORD dwHTNumPatterns,
- DWORD dwCallbackID,
- PBYTE pResource,
- DWORD dwResourceSize);
-
- //
- // OEMMemoryUsage - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(MemoryUsage) (THIS_ PDEVOBJ pdevobj,
- POEMMEMORYUSAGE pMemoryUsage);
-
- //
- // OEMTTYGetInfo - UNIDRV only, return E_NOTIMPL on Pscript
- //
-
- STDMETHOD(TTYGetInfo)(THIS_ PDEVOBJ pdevobj,
- DWORD dwInfoIndex,
- PVOID pOutputBuf,
- DWORD dwSize,
- DWORD *pcbcNeeded);
-
- //
- // OEMDownloadFontheader - UNIDRV only
- //
-
- STDMETHOD(DownloadFontHeader)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- OUT DWORD *pdwResult);
-
- //
- // OEMDownloadCharGlyph - UNIDRV only
- //
-
- STDMETHOD(DownloadCharGlyph)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- HGLYPH hGlyph,
- PDWORD pdwWidth,
- OUT DWORD *pdwResult);
-
- //
- // OEMTTDownloadMethod - UNIDRV only
- //
-
- STDMETHOD(TTDownloadMethod)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- OUT DWORD *pdwResult);
-
- //
- // OEMOutputCharStr - UNIDRV only
- //
-
- STDMETHOD(OutputCharStr)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- DWORD dwType,
- DWORD dwCount,
- PVOID pGlyph);
-
- //
- // OEMSendFontCmd - UNIDRV only
- //
-
-
- STDMETHOD(SendFontCmd)(THIS_ PDEVOBJ pdevobj,
- PUNIFONTOBJ pUFObj,
- PFINVOCATION pFInv);
-
- //
- // OEMTextOutAsBitmap - UNIDRV only
- //
-
- STDMETHOD(TextOutAsBitmap)(THIS_ SURFOBJ *pso,
- STROBJ *pstro,
- FONTOBJ *pfo,
- CLIPOBJ *pco,
- RECTL *prclExtra,
- RECTL *prclOpaque,
- BRUSHOBJ *pboFore,
- BRUSHOBJ *pboOpaque,
- POINTL *pptlOrg,
- MIX mix);
-
-
- IWmarkUni() { m_cRef = 1; m_pOEMHelp = NULL; };
- ~IWmarkUni();
-
-protected:
- LONG m_cRef;
- IPrintOemDriverUni* m_pOEMHelp;
-};
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/name.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/name.h
deleted file mode 100644
index 3018823b..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/name.h
+++ /dev/null
@@ -1,34 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: Name.H
-//
-//
-// PURPOSE: Define string literals for interface funcion names.
-//
-#pragma once
-
-/////////////////////////////////////////////////////////
-// String Leterals
-/////////////////////////////////////////////////////////
-
-
-CONST CHAR NAME_CommandCallback[] = "CommandCallback";
-CONST CHAR NAME_Compression[] = "Compression";
-CONST CHAR NAME_DownloadCharGlyph[] = "DownloadCharGlyph";
-CONST CHAR NAME_DownloadFontHeader[] = "DownloadFontHeader";
-CONST CHAR NAME_FilterGraphics[] = "FilterGraphics";
-CONST CHAR NAME_HalftonePattern[] = "HalftonePattern";
-CONST CHAR NAME_ImageProcessing[] = "ImageProcessing";
-CONST CHAR NAME_MemoryUsage[] = "MemoryUsage";
-CONST CHAR NAME_OutputCharStr[] = "OutputCharStr";
-CONST CHAR NAME_SendFontCmd[] = "SendFontCmd";
-CONST CHAR NAME_TextOutAsBitmap[] = "TextOutAsBitmap";
-CONST CHAR NAME_TTDownloadMethod[] = "TTDownloadMethod";
-CONST CHAR NAME_TTYGetInfo[] = "TTYGetInfo";
-CONST CHAR NAME_WritePrinter[] = "WritePrinter";
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/precomp.h
deleted file mode 100644
index 48078a7d..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/precomp.h
+++ /dev/null
@@ -1,53 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: precomp.H
-//
-//
-// PURPOSE: Optimize compilation of headers that don't change frequently.
-//
-#pragma once
-
-// Necessary for compiling under VC.
-#if(!defined(WINVER) || (WINVER < 0x0500))
- #undef WINVER
- #define WINVER 0x0500
-#endif
-#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500))
- #undef _WIN32_WINNT
- #define _WIN32_WINNT 0x0500
-#endif
-
-
-
-// Required header files that shouldn't change often.
-
-
-#include <STDDEF.H>
-#include <STDLIB.H>
-#include <OBJBASE.H>
-#include <STDARG.H>
-#include <STDIO.H>
-#include <WINDEF.H>
-#include <WINERROR.H>
-#include <WINBASE.H>
-#include <WINGDI.H>
-#include <WINDDI.H>
-#include <TCHAR.H>
-#include <EXCPT.H>
-#include <ASSERT.H>
-#include <PRINTOEM.H>
-#include <INITGUID.H>
-#include <PRCOMOEM.H>
-
-// Safe integer functions to detect integer overflow/underflow conditions:
-#include <intsafe.h>
-
-// StrSafe.h needs to be included last
-// to disallow unsafe string functions.
-#include <STRSAFE.H>
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/precompsrc.cpp
deleted file mode 100644
index 5944cf51..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/precompsrc.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "precomp.h" \ No newline at end of file
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/resource.h
deleted file mode 100644
index 35637c60..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/resource.h
+++ /dev/null
@@ -1,17 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by WMARKUNI.rc
-//
-
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 103
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.def b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.def
deleted file mode 100644
index 86e376e8..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY WMARKUNI
-EXPORTS DllGetClassObject PRIVATE
- DllCanUnloadNow PRIVATE
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.h
deleted file mode 100644
index 87415a42..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
-//
-// FILE: WMARKUNI.H
-//
-//
-// PURPOSE: Define common data types, and external function prototypes
-// for debug.cpp.
-//
-#pragma once
-
-#include "OEM.H"
-#include "DEVMODE.H"
-
-
-////////////////////////////////////////////////////////
-// OEM Defines
-////////////////////////////////////////////////////////
-
-#define DLLTEXT(s) "WMARKUNI: " s
-
-///////////////////////////////////////////////////////
-// Warning: the following enum order must match the
-// order in OEMHookFuncs[].
-///////////////////////////////////////////////////////
-typedef enum tag_Hooks {
- UD_DrvRealizeBrush,
- UD_DrvDitherColor,
- UD_DrvCopyBits,
- UD_DrvBitBlt,
- UD_DrvStretchBlt,
- UD_DrvTextOut,
- UD_DrvStrokePath,
- UD_DrvFillPath,
- UD_DrvStrokeAndFillPath,
- UD_DrvPaint,
- UD_DrvLineTo,
- UD_DrvStartPage,
- UD_DrvSendPage,
- UD_DrvEscape,
- UD_DrvStartDoc,
- UD_DrvEndDoc,
- UD_DrvNextBand,
- UD_DrvStartBanding,
- UD_DrvQueryFont,
- UD_DrvQueryFontTree,
- UD_DrvQueryFontData,
- UD_DrvQueryAdvanceWidths,
- UD_DrvFontManagement,
- UD_DrvGetGlyphMode,
- UD_DrvStretchBltROP,
- UD_DrvPlgBlt,
- UD_DrvTransparentBlt,
- UD_DrvAlphaBlend,
- UD_DrvGradientFill,
-
- MAX_DDI_HOOKS,
-
-} ENUMHOOKS;
-
-
-typedef struct _OEMPDEV {
- //
- // define whatever needed, such as working buffers, tracking information,
- // etc.
- //
- // This test DLL hooks out every drawing DDI. So it needs to remember
- // Unidrv's hook function pointer so it call back.
- //
- PFN pfnUnidrv[MAX_DDI_HOOKS];
-
- //
- // define whatever needed, such as working buffers, tracking information,
- // etc.
- //
- DWORD dwReserved[1];
-
-} OEMPDEV, *POEMPDEV;
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.rc b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.rc
deleted file mode 100644
index 54b0f627..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.rc
+++ /dev/null
@@ -1,104 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments", "Written by Printing & Imaging Team"
- VALUE "CompanyName", "Microsoft Corp."
- VALUE "FileDescription", "Watermark Unidriver Sample"
- VALUE "FileVersion", "1, 0, 0, 1"
- VALUE "InternalName", "OEMPS"
- VALUE "LegalCopyright", "Copyright � 1998-2003"
- VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation"
- VALUE "OriginalFilename", "WMARKUNI.DLL"
- VALUE "ProductName", "Microsoft WMARKUNI"
- VALUE "ProductVersion", "1.0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""winres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/winxp.inf b/print/OEM Printer Customization Plug-in Samples/C++/winxp.inf
deleted file mode 100644
index cf0ab050..00000000
--- a/print/OEM Printer Customization Plug-in Samples/C++/winxp.inf
+++ /dev/null
Binary files differ