SlideShare a Scribd company logo
1 of 20
Download to read offline
 Building “old” Windows drivers (XP, Vista, 2003
and 2008) with Visual Studio 2013
Dmitry Fleytman, dmitry@daynix.com
Yan Vugenfirer, yan@daynix.com
Daynix Computing LTD
Daynix Computing LTD
Agenda
Motivation
XPVistaServer 2003Server 2008 WDM driver step by
step configuration
And don’t forget KMDF
2
Daynix Computing LTD
Motivation
Maintain single code base for variety of Windows OSes
Build XP and Vista drivers with Visual Studio 2013
Use C++11 features of Visual Studio 2013 compiler for
the development of kernel drivers
3
Daynix Computing LTD
What are the basic steps?
Use VS2013 compiler
Compile XP and Vista drivers using legacy DDK for
include files and libraries
Change appropriate preprocessor definitions
Adjust linker options
Adjust packaging for KMDF
4
Daynix Computing LTD
Create configuration
Create
configuration for
desired OS and
platform by
copying existing
configuration (for
example
Windows 7)
5
Daynix Computing LTD
Adjust includes and libraries paths
Include directories (when using Win7 DDK):
C:WinDDK7600.16385.1incddk;C:WinDDK
7600.16385.1inccrt;C:WinDDK7600.16385.1incapi
6
Daynix Computing LTD
Adjust libraries path
7
XP 32bit C:WinDDK7600.16385.1libwxpi386
Windows Server
32 bit
C:WinDDK7600.16385.1libwneti386
Windows Server
64 bit
C:WinDDK7600.16385.1libwnet
amd64
Vista 32bit C:WinDDK7600.16385.1libwlhi386
Vista 64bit C:WinDDK7600.16385.1libwlhamd64
Change your libraries path according to the
following table:
Daynix Computing LTD
Adjust preprocessor
definitions
Use the following link to set correct versions according to the
target OS for:
WINVER
NTDDI_VERSION
_WIN32_WINNT
Example for Windows Vista:
_WIN32_WINNT=0x0600;WINVER=0x0600;NTDDI_VERSIO
N=0x06000000
8
Daynix Computing LTD
Adjust linker settings (1)
Adjust “Additional
Library Directories” to
point to legacy DDK
directory according to
your platform (see also
“Adjust libraries path”
slide)
9
Daynix Computing LTD
Adjust linker settings (2)
Change “Additional
dependencies” to
reflect needed libraries
The screenshot is an
example of NDIS
miniport driver
For WDM driver
remove ndis.lib and
add wdm.lib
10
Daynix Computing LTD
Adjust linker settings (3)
Change “version” and
“subsystem”
parameter to reflect
correct Windows
version.
For the versions
numbers check http://
msdn.microsoft.com/
en-us/library/
windows/desktop/
aa383745(v=vs.
11
Daynix Computing LTD
Package project
Adjust OS list for
Inf2Cat
Possible options:
XP_X86, Server2003_X86,
XP_X64, Server2003_X64,
Server2003_IA64, Vista_X86,
Server2008_X86, Vista_X64,
Server2008_X64,
Server2008_IA64
12
Daynix Computing LTD
Check command lines of
compiler and linker
Check compiler (CC++) and linker command line for
references to new WDK (Windows Kits8.1 or Windows
Kits8.0)
Check that all the version numbers reflect correct
Windows version
Fix if needed according to previous slides
13
BUILD THE DRIVER
14
Daynix Computing LTD
KMDF driver configuration (1)
Add paths to
KMDF libraries
and include
directories as
well
15
Daynix Computing LTD
KMDF driver configuration (2)
Change driver
model setting
to “WDM”
This will allow
to copy
correct
version of the
WDF
coinstaller
from old DDK
16
Daynix Computing LTD
KMDF driver configuration (3)
Change driver
entry point
17
Daynix Computing LTD
KMDF driver configuration (4)
In package project add a correct version of the WDF
coinstaller from old DDK (can be a post build step or
add it as a file that is part of the package).
18
BUILD THE DRIVER
19
Daynix Computing LTD
Links
Download Windows 7 DDK - http://
www.microsoft.com/en-us/download/details.aspx?
id=11800
Values for versions definitions - http://
msdn.microsoft.com/en-us/library/windows/desktop/
aa383745(v=vs.85).aspx
20

More Related Content

What's hot

Cisco Catalyst 2960-X Series Switching Architecture
Cisco Catalyst 2960-X Series Switching ArchitectureCisco Catalyst 2960-X Series Switching Architecture
Cisco Catalyst 2960-X Series Switching ArchitectureSunil Kumar Guduru
 
Radio Network Design & Roll Out
Radio Network Design & Roll OutRadio Network Design & Roll Out
Radio Network Design & Roll OutRathnaKumar47
 
Introduccion al direccionamiento IPv6
Introduccion al direccionamiento IPv6Introduccion al direccionamiento IPv6
Introduccion al direccionamiento IPv6ZONA 802
 
The Aruba Tech Support Top 10: WLAN design, configuration and troubleshooting...
The Aruba Tech Support Top 10: WLAN design, configuration and troubleshooting...The Aruba Tech Support Top 10: WLAN design, configuration and troubleshooting...
The Aruba Tech Support Top 10: WLAN design, configuration and troubleshooting...Aruba, a Hewlett Packard Enterprise company
 
6.5.1.3 packet tracer layer 2 vlan security instructor
6.5.1.3 packet tracer   layer 2 vlan security instructor6.5.1.3 packet tracer   layer 2 vlan security instructor
6.5.1.3 packet tracer layer 2 vlan security instructorSalem Trabelsi
 
Actividad 1 diseño de una red lan en una planta potabilizadora de agua
Actividad 1  diseño de una red lan en una planta potabilizadora de aguaActividad 1  diseño de una red lan en una planta potabilizadora de agua
Actividad 1 diseño de una red lan en una planta potabilizadora de aguaJosé Angel López Ruiz
 
Handling Common Faults and Alarms for Huawei RTN Microwaves
Handling Common Faults and Alarms for Huawei RTN MicrowavesHandling Common Faults and Alarms for Huawei RTN Microwaves
Handling Common Faults and Alarms for Huawei RTN Microwavesibrahimnabil17
 
DigSILENT PF - 06 (es) short circuit theory
DigSILENT PF - 06 (es) short circuit theoryDigSILENT PF - 06 (es) short circuit theory
DigSILENT PF - 06 (es) short circuit theoryHimmelstern
 
Proyecto Hotspot mikrotik
Proyecto Hotspot mikrotikProyecto Hotspot mikrotik
Proyecto Hotspot mikrotikDavid Pérez
 
ABB TPU6 Indoor Current Transformers (CT) MV Medium Voltage 24kV 25kV
ABB TPU6 Indoor Current Transformers (CT) MV Medium Voltage 24kV 25kVABB TPU6 Indoor Current Transformers (CT) MV Medium Voltage 24kV 25kV
ABB TPU6 Indoor Current Transformers (CT) MV Medium Voltage 24kV 25kVThorne & Derrick International
 
Cisco data center support
Cisco data center supportCisco data center support
Cisco data center supportKrunal Shah
 
ATE Pattern Structure Basics
ATE Pattern Structure BasicsATE Pattern Structure Basics
ATE Pattern Structure Basicsstn_tkiller
 

What's hot (20)

Advanced RF Design & Troubleshooting
Advanced RF Design & TroubleshootingAdvanced RF Design & Troubleshooting
Advanced RF Design & Troubleshooting
 
I2C BUS PROTOCOL
I2C BUS PROTOCOLI2C BUS PROTOCOL
I2C BUS PROTOCOL
 
Network design
Network designNetwork design
Network design
 
Cisco Catalyst 2960-X Series Switching Architecture
Cisco Catalyst 2960-X Series Switching ArchitectureCisco Catalyst 2960-X Series Switching Architecture
Cisco Catalyst 2960-X Series Switching Architecture
 
Radio Network Design & Roll Out
Radio Network Design & Roll OutRadio Network Design & Roll Out
Radio Network Design & Roll Out
 
Protocol snmp
Protocol snmpProtocol snmp
Protocol snmp
 
Introduccion al direccionamiento IPv6
Introduccion al direccionamiento IPv6Introduccion al direccionamiento IPv6
Introduccion al direccionamiento IPv6
 
The Aruba Tech Support Top 10: WLAN design, configuration and troubleshooting...
The Aruba Tech Support Top 10: WLAN design, configuration and troubleshooting...The Aruba Tech Support Top 10: WLAN design, configuration and troubleshooting...
The Aruba Tech Support Top 10: WLAN design, configuration and troubleshooting...
 
6.5.1.3 packet tracer layer 2 vlan security instructor
6.5.1.3 packet tracer   layer 2 vlan security instructor6.5.1.3 packet tracer   layer 2 vlan security instructor
6.5.1.3 packet tracer layer 2 vlan security instructor
 
Transformers stdm
Transformers stdmTransformers stdm
Transformers stdm
 
Actividad 1 diseño de una red lan en una planta potabilizadora de agua
Actividad 1  diseño de una red lan en una planta potabilizadora de aguaActividad 1  diseño de una red lan en una planta potabilizadora de agua
Actividad 1 diseño de una red lan en una planta potabilizadora de agua
 
Handling Common Faults and Alarms for Huawei RTN Microwaves
Handling Common Faults and Alarms for Huawei RTN MicrowavesHandling Common Faults and Alarms for Huawei RTN Microwaves
Handling Common Faults and Alarms for Huawei RTN Microwaves
 
BTS NOKIA EBENEZA.pptx
BTS NOKIA EBENEZA.pptxBTS NOKIA EBENEZA.pptx
BTS NOKIA EBENEZA.pptx
 
DigSILENT PF - 06 (es) short circuit theory
DigSILENT PF - 06 (es) short circuit theoryDigSILENT PF - 06 (es) short circuit theory
DigSILENT PF - 06 (es) short circuit theory
 
Ejercicios-de-subneteo(listos)
 Ejercicios-de-subneteo(listos) Ejercicios-de-subneteo(listos)
Ejercicios-de-subneteo(listos)
 
Proyecto Hotspot mikrotik
Proyecto Hotspot mikrotikProyecto Hotspot mikrotik
Proyecto Hotspot mikrotik
 
ABB TPU6 Indoor Current Transformers (CT) MV Medium Voltage 24kV 25kV
ABB TPU6 Indoor Current Transformers (CT) MV Medium Voltage 24kV 25kVABB TPU6 Indoor Current Transformers (CT) MV Medium Voltage 24kV 25kV
ABB TPU6 Indoor Current Transformers (CT) MV Medium Voltage 24kV 25kV
 
Cisco data center support
Cisco data center supportCisco data center support
Cisco data center support
 
EMEA Airheads- Switch stacking_ ArubaOS Switch
EMEA Airheads- Switch stacking_ ArubaOS SwitchEMEA Airheads- Switch stacking_ ArubaOS Switch
EMEA Airheads- Switch stacking_ ArubaOS Switch
 
ATE Pattern Structure Basics
ATE Pattern Structure BasicsATE Pattern Structure Basics
ATE Pattern Structure Basics
 

Similar to Building “old” Windows drivers (XP, Vista, 2003 and 2008) with Visual Studio 2013

Windows containers troubleshooting
Windows containers troubleshootingWindows containers troubleshooting
Windows containers troubleshootingAlexey Bokov
 
Ibm db2 10.5 for linux, unix, and windows db2 connect installing and config...
Ibm db2 10.5 for linux, unix, and windows   db2 connect installing and config...Ibm db2 10.5 for linux, unix, and windows   db2 connect installing and config...
Ibm db2 10.5 for linux, unix, and windows db2 connect installing and config...bupbechanhgmail
 
Ibm db2 10.5 for linux, unix, and windows installing ibm data server clients
Ibm db2 10.5 for linux, unix, and windows   installing ibm data server clientsIbm db2 10.5 for linux, unix, and windows   installing ibm data server clients
Ibm db2 10.5 for linux, unix, and windows installing ibm data server clientsbupbechanhgmail
 
Windows Server 2008 R2 Dev Session 01
Windows Server 2008 R2 Dev Session 01Windows Server 2008 R2 Dev Session 01
Windows Server 2008 R2 Dev Session 01Clint Edmonson
 
WIndows Embedded Compact 2013 – What’s news
WIndows Embedded Compact 2013 – What’s newsWIndows Embedded Compact 2013 – What’s news
WIndows Embedded Compact 2013 – What’s newsMirco Vanini
 
Microsoft Windows Server.pdf
Microsoft Windows Server.pdfMicrosoft Windows Server.pdf
Microsoft Windows Server.pdfJames Brown
 
CloverDX 6.2 Release
CloverDX 6.2 ReleaseCloverDX 6.2 Release
CloverDX 6.2 ReleaseCloverDX
 
Architecting .NET solutions in a Docker ecosystem - .NET Fest Kyiv 2019
Architecting .NET solutions in a Docker ecosystem - .NET Fest Kyiv 2019Architecting .NET solutions in a Docker ecosystem - .NET Fest Kyiv 2019
Architecting .NET solutions in a Docker ecosystem - .NET Fest Kyiv 2019Alex Thissen
 
Ibm db2 10.5 for linux, unix, and windows getting started with db2 installa...
Ibm db2 10.5 for linux, unix, and windows   getting started with db2 installa...Ibm db2 10.5 for linux, unix, and windows   getting started with db2 installa...
Ibm db2 10.5 for linux, unix, and windows getting started with db2 installa...bupbechanhgmail
 
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystemNETFest
 
Containerize Legacy .NET Framework Web Apps for Cloud Migration
Containerize Legacy .NET Framework Web Apps for Cloud MigrationContainerize Legacy .NET Framework Web Apps for Cloud Migration
Containerize Legacy .NET Framework Web Apps for Cloud MigrationAmazon Web Services
 
Ibm db2 10.5 for linux, unix, and windows developing ado.net and ole db app...
Ibm db2 10.5 for linux, unix, and windows   developing ado.net and ole db app...Ibm db2 10.5 for linux, unix, and windows   developing ado.net and ole db app...
Ibm db2 10.5 for linux, unix, and windows developing ado.net and ole db app...bupbechanhgmail
 
Windows Server 2022_ Enhanced Performance and Security
Windows Server 2022_ Enhanced Performance and SecurityWindows Server 2022_ Enhanced Performance and Security
Windows Server 2022_ Enhanced Performance and Securitybuyantiviruskey.in patel
 

Similar to Building “old” Windows drivers (XP, Vista, 2003 and 2008) with Visual Studio 2013 (20)

Windows containers troubleshooting
Windows containers troubleshootingWindows containers troubleshooting
Windows containers troubleshooting
 
Ibm db2 10.5 for linux, unix, and windows db2 connect installing and config...
Ibm db2 10.5 for linux, unix, and windows   db2 connect installing and config...Ibm db2 10.5 for linux, unix, and windows   db2 connect installing and config...
Ibm db2 10.5 for linux, unix, and windows db2 connect installing and config...
 
C++Builder XE5 Datasheet
C++Builder XE5 DatasheetC++Builder XE5 Datasheet
C++Builder XE5 Datasheet
 
Ibm db2 10.5 for linux, unix, and windows installing ibm data server clients
Ibm db2 10.5 for linux, unix, and windows   installing ibm data server clientsIbm db2 10.5 for linux, unix, and windows   installing ibm data server clients
Ibm db2 10.5 for linux, unix, and windows installing ibm data server clients
 
Windows Server 2008 R2 Dev Session 01
Windows Server 2008 R2 Dev Session 01Windows Server 2008 R2 Dev Session 01
Windows Server 2008 R2 Dev Session 01
 
WIndows Embedded Compact 2013 – What’s news
WIndows Embedded Compact 2013 – What’s newsWIndows Embedded Compact 2013 – What’s news
WIndows Embedded Compact 2013 – What’s news
 
Microsoft Windows Server.pdf
Microsoft Windows Server.pdfMicrosoft Windows Server.pdf
Microsoft Windows Server.pdf
 
CloverDX 6.2 Release
CloverDX 6.2 ReleaseCloverDX 6.2 Release
CloverDX 6.2 Release
 
Fedora15 lovelock-pres
Fedora15 lovelock-presFedora15 lovelock-pres
Fedora15 lovelock-pres
 
Architecting .NET solutions in a Docker ecosystem - .NET Fest Kyiv 2019
Architecting .NET solutions in a Docker ecosystem - .NET Fest Kyiv 2019Architecting .NET solutions in a Docker ecosystem - .NET Fest Kyiv 2019
Architecting .NET solutions in a Docker ecosystem - .NET Fest Kyiv 2019
 
1) planning
1) planning1) planning
1) planning
 
Ibm db2 10.5 for linux, unix, and windows getting started with db2 installa...
Ibm db2 10.5 for linux, unix, and windows   getting started with db2 installa...Ibm db2 10.5 for linux, unix, and windows   getting started with db2 installa...
Ibm db2 10.5 for linux, unix, and windows getting started with db2 installa...
 
Quick beginning for db2 server
Quick beginning for db2 serverQuick beginning for db2 server
Quick beginning for db2 server
 
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
.NET Fest 2019. Alex Thissen. Architecting .NET solutions in a Docker ecosystem
 
Containerize Legacy .NET Framework Web Apps for Cloud Migration
Containerize Legacy .NET Framework Web Apps for Cloud MigrationContainerize Legacy .NET Framework Web Apps for Cloud Migration
Containerize Legacy .NET Framework Web Apps for Cloud Migration
 
Ibm db2 10.5 for linux, unix, and windows developing ado.net and ole db app...
Ibm db2 10.5 for linux, unix, and windows   developing ado.net and ole db app...Ibm db2 10.5 for linux, unix, and windows   developing ado.net and ole db app...
Ibm db2 10.5 for linux, unix, and windows developing ado.net and ole db app...
 
DB2UDB_the_Basics
DB2UDB_the_BasicsDB2UDB_the_Basics
DB2UDB_the_Basics
 
Windows Server 2022_ Enhanced Performance and Security
Windows Server 2022_ Enhanced Performance and SecurityWindows Server 2022_ Enhanced Performance and Security
Windows Server 2022_ Enhanced Performance and Security
 
Db2 howto-linux
Db2 howto-linuxDb2 howto-linux
Db2 howto-linux
 
Genode Programming
Genode ProgrammingGenode Programming
Genode Programming
 

More from Yan Vugenfirer

HCK-CI: Enabling CI for Windows Guest Paravirtualized Drivers - Kostiantyn Ko...
HCK-CI: Enabling CI for Windows Guest Paravirtualized Drivers - Kostiantyn Ko...HCK-CI: Enabling CI for Windows Guest Paravirtualized Drivers - Kostiantyn Ko...
HCK-CI: Enabling CI for Windows Guest Paravirtualized Drivers - Kostiantyn Ko...Yan Vugenfirer
 
Receive side scaling (RSS) with eBPF in QEMU and virtio-net
Receive side scaling (RSS) with eBPF in QEMU and virtio-netReceive side scaling (RSS) with eBPF in QEMU and virtio-net
Receive side scaling (RSS) with eBPF in QEMU and virtio-netYan Vugenfirer
 
Implementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migrationImplementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migrationYan Vugenfirer
 
Qemu device prototyping
Qemu device prototypingQemu device prototyping
Qemu device prototypingYan Vugenfirer
 
Windows network teaming
Windows network teamingWindows network teaming
Windows network teamingYan Vugenfirer
 
Rebuild presentation - IoT Israel MeetUp
Rebuild presentation - IoT Israel MeetUpRebuild presentation - IoT Israel MeetUp
Rebuild presentation - IoT Israel MeetUpYan Vugenfirer
 
Rebuild presentation during Docker's Birthday party
Rebuild presentation during Docker's Birthday partyRebuild presentation during Docker's Birthday party
Rebuild presentation during Docker's Birthday partyYan Vugenfirer
 
Contributing to open source using Git
Contributing to open source using GitContributing to open source using Git
Contributing to open source using GitYan Vugenfirer
 
Microsoft Hardware Certification Kit (HCK) setup
Microsoft Hardware Certification Kit (HCK) setupMicrosoft Hardware Certification Kit (HCK) setup
Microsoft Hardware Certification Kit (HCK) setupYan Vugenfirer
 
Advanced NDISTest options
Advanced NDISTest optionsAdvanced NDISTest options
Advanced NDISTest optionsYan Vugenfirer
 
QEMU Development and Testing Automation Using MS HCK - Anton Nayshtut and Yan...
QEMU Development and Testing Automation Using MS HCK - Anton Nayshtut and Yan...QEMU Development and Testing Automation Using MS HCK - Anton Nayshtut and Yan...
QEMU Development and Testing Automation Using MS HCK - Anton Nayshtut and Yan...Yan Vugenfirer
 
Windows guest debugging presentation from KVM Forum 2012
Windows guest debugging presentation from KVM Forum 2012Windows guest debugging presentation from KVM Forum 2012
Windows guest debugging presentation from KVM Forum 2012Yan Vugenfirer
 

More from Yan Vugenfirer (14)

HCK-CI: Enabling CI for Windows Guest Paravirtualized Drivers - Kostiantyn Ko...
HCK-CI: Enabling CI for Windows Guest Paravirtualized Drivers - Kostiantyn Ko...HCK-CI: Enabling CI for Windows Guest Paravirtualized Drivers - Kostiantyn Ko...
HCK-CI: Enabling CI for Windows Guest Paravirtualized Drivers - Kostiantyn Ko...
 
Receive side scaling (RSS) with eBPF in QEMU and virtio-net
Receive side scaling (RSS) with eBPF in QEMU and virtio-netReceive side scaling (RSS) with eBPF in QEMU and virtio-net
Receive side scaling (RSS) with eBPF in QEMU and virtio-net
 
Implementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migrationImplementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migration
 
Qemu device prototyping
Qemu device prototypingQemu device prototyping
Qemu device prototyping
 
Windows network teaming
Windows network teamingWindows network teaming
Windows network teaming
 
Rebuild presentation - IoT Israel MeetUp
Rebuild presentation - IoT Israel MeetUpRebuild presentation - IoT Israel MeetUp
Rebuild presentation - IoT Israel MeetUp
 
Rebuild presentation during Docker's Birthday party
Rebuild presentation during Docker's Birthday partyRebuild presentation during Docker's Birthday party
Rebuild presentation during Docker's Birthday party
 
Contributing to open source using Git
Contributing to open source using GitContributing to open source using Git
Contributing to open source using Git
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Microsoft Hardware Certification Kit (HCK) setup
Microsoft Hardware Certification Kit (HCK) setupMicrosoft Hardware Certification Kit (HCK) setup
Microsoft Hardware Certification Kit (HCK) setup
 
UsbDk at a Glance 
UsbDk at a Glance UsbDk at a Glance 
UsbDk at a Glance 
 
Advanced NDISTest options
Advanced NDISTest optionsAdvanced NDISTest options
Advanced NDISTest options
 
QEMU Development and Testing Automation Using MS HCK - Anton Nayshtut and Yan...
QEMU Development and Testing Automation Using MS HCK - Anton Nayshtut and Yan...QEMU Development and Testing Automation Using MS HCK - Anton Nayshtut and Yan...
QEMU Development and Testing Automation Using MS HCK - Anton Nayshtut and Yan...
 
Windows guest debugging presentation from KVM Forum 2012
Windows guest debugging presentation from KVM Forum 2012Windows guest debugging presentation from KVM Forum 2012
Windows guest debugging presentation from KVM Forum 2012
 

Recently uploaded

OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 

Recently uploaded (20)

OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 

Building “old” Windows drivers (XP, Vista, 2003 and 2008) with Visual Studio 2013

  • 1.  Building “old” Windows drivers (XP, Vista, 2003 and 2008) with Visual Studio 2013 Dmitry Fleytman, dmitry@daynix.com Yan Vugenfirer, yan@daynix.com Daynix Computing LTD
  • 2. Daynix Computing LTD Agenda Motivation XPVistaServer 2003Server 2008 WDM driver step by step configuration And don’t forget KMDF 2
  • 3. Daynix Computing LTD Motivation Maintain single code base for variety of Windows OSes Build XP and Vista drivers with Visual Studio 2013 Use C++11 features of Visual Studio 2013 compiler for the development of kernel drivers 3
  • 4. Daynix Computing LTD What are the basic steps? Use VS2013 compiler Compile XP and Vista drivers using legacy DDK for include files and libraries Change appropriate preprocessor definitions Adjust linker options Adjust packaging for KMDF 4
  • 5. Daynix Computing LTD Create configuration Create configuration for desired OS and platform by copying existing configuration (for example Windows 7) 5
  • 6. Daynix Computing LTD Adjust includes and libraries paths Include directories (when using Win7 DDK): C:WinDDK7600.16385.1incddk;C:WinDDK 7600.16385.1inccrt;C:WinDDK7600.16385.1incapi 6
  • 7. Daynix Computing LTD Adjust libraries path 7 XP 32bit C:WinDDK7600.16385.1libwxpi386 Windows Server 32 bit C:WinDDK7600.16385.1libwneti386 Windows Server 64 bit C:WinDDK7600.16385.1libwnet amd64 Vista 32bit C:WinDDK7600.16385.1libwlhi386 Vista 64bit C:WinDDK7600.16385.1libwlhamd64 Change your libraries path according to the following table:
  • 8. Daynix Computing LTD Adjust preprocessor definitions Use the following link to set correct versions according to the target OS for: WINVER NTDDI_VERSION _WIN32_WINNT Example for Windows Vista: _WIN32_WINNT=0x0600;WINVER=0x0600;NTDDI_VERSIO N=0x06000000 8
  • 9. Daynix Computing LTD Adjust linker settings (1) Adjust “Additional Library Directories” to point to legacy DDK directory according to your platform (see also “Adjust libraries path” slide) 9
  • 10. Daynix Computing LTD Adjust linker settings (2) Change “Additional dependencies” to reflect needed libraries The screenshot is an example of NDIS miniport driver For WDM driver remove ndis.lib and add wdm.lib 10
  • 11. Daynix Computing LTD Adjust linker settings (3) Change “version” and “subsystem” parameter to reflect correct Windows version. For the versions numbers check http:// msdn.microsoft.com/ en-us/library/ windows/desktop/ aa383745(v=vs. 11
  • 12. Daynix Computing LTD Package project Adjust OS list for Inf2Cat Possible options: XP_X86, Server2003_X86, XP_X64, Server2003_X64, Server2003_IA64, Vista_X86, Server2008_X86, Vista_X64, Server2008_X64, Server2008_IA64 12
  • 13. Daynix Computing LTD Check command lines of compiler and linker Check compiler (CC++) and linker command line for references to new WDK (Windows Kits8.1 or Windows Kits8.0) Check that all the version numbers reflect correct Windows version Fix if needed according to previous slides 13
  • 15. Daynix Computing LTD KMDF driver configuration (1) Add paths to KMDF libraries and include directories as well 15
  • 16. Daynix Computing LTD KMDF driver configuration (2) Change driver model setting to “WDM” This will allow to copy correct version of the WDF coinstaller from old DDK 16
  • 17. Daynix Computing LTD KMDF driver configuration (3) Change driver entry point 17
  • 18. Daynix Computing LTD KMDF driver configuration (4) In package project add a correct version of the WDF coinstaller from old DDK (can be a post build step or add it as a file that is part of the package). 18
  • 20. Daynix Computing LTD Links Download Windows 7 DDK - http:// www.microsoft.com/en-us/download/details.aspx? id=11800 Values for versions definitions - http:// msdn.microsoft.com/en-us/library/windows/desktop/ aa383745(v=vs.85).aspx 20