<html 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=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<title>RE: [ofw] WDK build environment migration thoughts</title>
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;}
p
        {mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=blue>

<div class=Section1>

<div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'>

<p><b><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial;
font-weight:bold'>Q5. Let’s remove all void *PTR64 macro</span></font></b><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>!</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>It’s
a key idea of our solution</span></font> <font size=2 face=Wingdings><span
style='font-size:10.0pt;font-family:Wingdings'>J</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>TO_LONG_PTR
macro comes to replace __ptr64 inside ioctls.</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>The
rest of macros were defined according to place where __ptr64 had been removed.</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>FUNC_PTR64
– inside function signature</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>VOID_PTR64
– inside raw code</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>STRUCT_PTR64
– inside struct that is know (for sure) it is not used inside ioctls</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Etc.</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>These
temporarily macros will be removed in the next release (or even after). Now,
I’d like to preserve them for the case of debug: one can easily redefine
them back to __ptr64 or just compare to old code. Please, do not remove this
now!<o:p></o:p></span></font></p>

<p><font size=2 color=blue face=Arial><span style='font-size:10.0pt;font-family:
Arial;color:blue'>These macros never should have been committed, and absolutely
should be removed.  They do nothing, and serve no purpose in the code
except to make it confusing.  This is why patches must be self
contained.  If the patch breaks something, then reverting it is the
correct solution.<o:p></o:p></span></font></p>

<p><font size=2 color=blue face=Arial><span style='font-size:10.0pt;font-family:
Arial;color:blue'>- Sean<o:p></o:p></span></font></p>

</div>

</div>

</body>

</html>