https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/101130&feed=atom&action=history
Microsoft KB Archive/101130 - Revision history
2024-03-29T08:30:57Z
Revision history for this page on the wiki
MediaWiki 1.39.3
https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/101130&diff=272270&oldid=prev
X010: Text replacement - "<" to "<"
2020-07-20T13:39:46Z
<p>Text replacement - "<" to "<"</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en-GB">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 13:39, 20 July 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l36">Line 36:</td>
<td colspan="2" class="diff-lineno">Line 36:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>At this point, the application does not display the Print dialog box and the debugging kernel displays the following message:</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>At this point, the application does not display the Print dialog box and the debugging kernel displays the following message:</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><pre class="CODESAMP"> err <del style="font-weight: bold; text-decoration: none;">&lt;</del>Mappname>-<del style="font-weight: bold; text-decoration: none;">&lt;</del>COMMDLG GLOBALLOCK+C: Invalid global handle </pre></div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><pre class="CODESAMP"> err <ins style="font-weight: bold; text-decoration: none;"><</ins>Mappname>-<ins style="font-weight: bold; text-decoration: none;"><</ins>COMMDLG GLOBALLOCK+C: Invalid global handle </pre></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The retail (nondebugging) Windows kernel does not display the Print dialog box; no other error occurs.<br /></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The retail (nondebugging) Windows kernel does not display the Print dialog box; no other error occurs.<br /></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><br /></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><br /></div></td></tr>
</table>
X010
https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/101130&diff=263448&oldid=prev
X010: Text replacement - ">" to ">"
2020-07-20T09:03:49Z
<p>Text replacement - ">" to ">"</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en-GB">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 09:03, 20 July 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l36">Line 36:</td>
<td colspan="2" class="diff-lineno">Line 36:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>At this point, the application does not display the Print dialog box and the debugging kernel displays the following message:</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>At this point, the application does not display the Print dialog box and the debugging kernel displays the following message:</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><pre class="CODESAMP"> err &lt;Mappname<del style="font-weight: bold; text-decoration: none;">&gt;</del>-&lt;COMMDLG GLOBALLOCK+C: Invalid global handle </pre></div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><pre class="CODESAMP"> err &lt;Mappname<ins style="font-weight: bold; text-decoration: none;">></ins>-&lt;COMMDLG GLOBALLOCK+C: Invalid global handle </pre></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The retail (nondebugging) Windows kernel does not display the Print dialog box; no other error occurs.<br /></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The retail (nondebugging) Windows kernel does not display the Print dialog box; no other error occurs.<br /></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><br /></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><br /></div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l70">Line 70:</td>
<td colspan="2" class="diff-lineno">Line 70:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> {</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> {</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> BOOL bRetValue;</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> BOOL bRetValue;</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> HANDLE hDevMode = ((CScribbleApp*)AfxGetApp())-<del style="font-weight: bold; text-decoration: none;">&gt;</del>GetDevMode();</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> HANDLE hDevMode = ((CScribbleApp*)AfxGetApp())-<ins style="font-weight: bold; text-decoration: none;">></ins>GetDevMode();</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> HANDLE hDevNames = ((CScribbleApp*)AfxGetApp())-<del style="font-weight: bold; text-decoration: none;">&gt;</del>GetDevNames();</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> HANDLE hDevNames = ((CScribbleApp*)AfxGetApp())-<ins style="font-weight: bold; text-decoration: none;">></ins>GetDevNames();</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> pInfo-<del style="font-weight: bold; text-decoration: none;">&gt;</del>SetMaxPage(2); // the document is two pages long:</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> pInfo-<ins style="font-weight: bold; text-decoration: none;">></ins>SetMaxPage(2); // the document is two pages long:</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> // the first page is the title page</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> // the first page is the title page</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> // the second is the drawing</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> // the second is the drawing</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> pInfo-<del style="font-weight: bold; text-decoration: none;">&gt;</del>m_nNumPreviewPages = 2; // preview 2 pages at a time</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> pInfo-<ins style="font-weight: bold; text-decoration: none;">></ins>m_nNumPreviewPages = 2; // preview 2 pages at a time</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> // default preparation</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> // default preparation</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> bRetValue = DoPreparePrinting(pInfo);</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> bRetValue = DoPreparePrinting(pInfo);</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l85">Line 85:</td>
<td colspan="2" class="diff-lineno">Line 85:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> // variables.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> // variables.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> {</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> {</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> if (hDevMode != pInfo-<del style="font-weight: bold; text-decoration: none;">&gt;</del>m_pPD-<del style="font-weight: bold; text-decoration: none;">&gt;</del>m_pd.hDevMode)</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> if (hDevMode != pInfo-<ins style="font-weight: bold; text-decoration: none;">></ins>m_pPD-<ins style="font-weight: bold; text-decoration: none;">></ins>m_pd.hDevMode)</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> ((CScribbleApp*)AfxGetApp())-<del style="font-weight: bold; text-decoration: none;">&gt;</del></div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> ((CScribbleApp*)AfxGetApp())-<ins style="font-weight: bold; text-decoration: none;">></ins></div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> SetDevMode(pInfo-<del style="font-weight: bold; text-decoration: none;">&gt;</del>m_pPD-<del style="font-weight: bold; text-decoration: none;">&gt;</del>m_pd.hDevMode);</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> SetDevMode(pInfo-<ins style="font-weight: bold; text-decoration: none;">></ins>m_pPD-<ins style="font-weight: bold; text-decoration: none;">></ins>m_pd.hDevMode);</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> if (hDevNames != pInfo-<del style="font-weight: bold; text-decoration: none;">&gt;</del>m_pPD-<del style="font-weight: bold; text-decoration: none;">&gt;</del>m_pd.hDevNames)</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> if (hDevNames != pInfo-<ins style="font-weight: bold; text-decoration: none;">></ins>m_pPD-<ins style="font-weight: bold; text-decoration: none;">></ins>m_pd.hDevNames)</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> ((CScribbleApp*)AfxGetApp())-<del style="font-weight: bold; text-decoration: none;">&gt;</del></div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> ((CScribbleApp*)AfxGetApp())-<ins style="font-weight: bold; text-decoration: none;">></ins></div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> SetDevNames(pInfo-<del style="font-weight: bold; text-decoration: none;">&gt;</del>m_pPD-<del style="font-weight: bold; text-decoration: none;">&gt;</del>m_pd.hDevNames);</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> SetDevNames(pInfo-<ins style="font-weight: bold; text-decoration: none;">></ins>m_pPD-<ins style="font-weight: bold; text-decoration: none;">></ins>m_pd.hDevNames);</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> }</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> }</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
</table>
X010
https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/101130&diff=46320&oldid=prev
3155ffGd: importing KB archive
2020-07-18T15:02:08Z
<p>importing KB archive</p>
<p><b>New page</b></p><div>{|<br />
|width="100%"|<br />
== FIX: No Print Dialog Box Using Foundation Class Library ==<br />
|}<br />
<br />
Q101130<br />
<br />
<br />
-----<br />
<br />
The information in this article applies to:<br /><br />
<br />
<br />
* The Microsoft Foundation Classes (MFC), used with:<br />
** Microsoft Visual C++, version 1.0<br />
<br />
<br />
-----<br />
<br />
<br /><br />
<br />
<br />
== SYMPTOMS ==<br />
<br />
When an application uses the default printing implementation provided by the Microsoft Foundation Class Library, an attempt to perform the following steps generates an error in the Microsoft Windows debugging kernel:<br /><br />
<br /><br />
<br />
<br />
# Choose Print from the File menu to open the Print dialog box.<br />
# Choose the Setup button.<br />
# Change the orientation from portrait to landscape.<br />
# Choose OK to close the Setup dialog box.<br />
# Choose Cancel to close the Print dialog box.<br />
# Choose Print from the File menu to open the Print dialog box.<br />
<br />
At this point, the application does not display the Print dialog box and the debugging kernel displays the following message:<br />
<br />
<pre class="CODESAMP"> err &lt;Mappname&gt;-&lt;COMMDLG GLOBALLOCK+C: Invalid global handle </pre><br />
The retail (nondebugging) Windows kernel does not display the Print dialog box; no other error occurs.<br /><br />
<br /><br />
In step 3 above, if the user chooses to change the printer to another printer rather than changing the orientation, another symptom occurs for the same reasons as discussed in the Cause section below. Rather than the print dialog box not appearing, an assertion occurs. The assertion occurs in the APPPRNT.CPP source file on line 52.<br />
<br />
<br /><br />
<br />
<br />
== CAUSE ==<br />
<br />
The CWinApp class contains two member variables, m_hDevMode and m_hDevNames, that contain handles to memory that describes the current printer selection.<br /><br />
<br /><br />
When the Print dialog box invokes the Setup dialog box, changes some settings and chooses OK, the internal hDevMode and hDevNames that describe the printer change as well. However, at this point, the Print dialog box remains active. When the user chooses Cancel in the Print dialog box, the Foundation Class Library executes its error handling logic which does not properly update the m_hDevMode and m_hDevNames variables in this case.<br /><br />
<br /><br />
Therefore, the next time the user invokes the Print dialog box, these handles refer to invalid memory and the debugging kernel generates an error.<br />
<br />
<br /><br />
<br />
<br />
== RESOLUTION ==<br />
<br />
This problem has been fixed in version 2.5 of the Microsoft Foundation Classes. So the workaround below is only necessary if you are using the Microsoft Foundation Classes version 2.0.<br /><br />
<br /><br />
Add the following four functions to your application class derived from CWinApp:<br />
<br />
<pre class="CODESAMP"> void SetDevNames(HANDLE hDevNames) {m_hDevNames = hDevNames;}<br />
void SetDevMode(HANDLE hDevMode) {m_hDevMode = hDevMode;}<br />
HANDLE GetDevNames() {return m_hDevNames;}<br />
HANDLE GetDevMode() {return m_hDevMode;} </pre><br />
Then, modify the OnPreparePrinting() function to correct this problem. In step 5 of the SCRIBBLE sample, modify the function as follows:<br />
<br />
<pre class="CODESAMP"> BOOL CScribView::OnPreparePrinting(CPrintInfo* pInfo)<br />
{<br />
BOOL bRetValue;<br />
HANDLE hDevMode = ((CScribbleApp*)AfxGetApp())-&gt;GetDevMode();<br />
HANDLE hDevNames = ((CScribbleApp*)AfxGetApp())-&gt;GetDevNames();<br />
<br />
pInfo-&gt;SetMaxPage(2); // the document is two pages long:<br />
// the first page is the title page<br />
// the second is the drawing<br />
pInfo-&gt;m_nNumPreviewPages = 2; // preview 2 pages at a time<br />
// default preparation<br />
bRetValue = DoPreparePrinting(pInfo);<br />
<br />
if (!bRetValue) // User canceled dialog box or an error<br />
// occurred. In either case, if hDevMode or<br />
// hDevNames changed, update the member<br />
// variables.<br />
{<br />
if (hDevMode != pInfo-&gt;m_pPD-&gt;m_pd.hDevMode)<br />
((CScribbleApp*)AfxGetApp())-&gt;<br />
SetDevMode(pInfo-&gt;m_pPD-&gt;m_pd.hDevMode);<br />
if (hDevNames != pInfo-&gt;m_pPD-&gt;m_pd.hDevNames)<br />
((CScribbleApp*)AfxGetApp())-&gt;<br />
SetDevNames(pInfo-&gt;m_pPD-&gt;m_pd.hDevNames);<br />
}<br />
<br />
return bRetValue;<br />
} </pre><br />
<br /><br />
<br />
<br />
== STATUS ==<br />
<br />
Microsoft confirmed this to be a problem in version 2.0 of the Microsoft Foundation classes. This problem was corrected in version 2.5 of the Microsoft Foundation classes and in version 1.5 of Visual C/C++ for Windows. In addition, this is not a problem in Visual C/C++ 1.0 for Windows NT with Microsoft Foundation Classes, version 2.1.<br />
<br />
Additional query words:<br />
<br />
Keywords : kberrmsg kbprint kb16bitonly kbMFC kbPrinting kbVC kbVC100fix kbDSupport<br /><br />
Issue type : kbbug<br /><br />
Technology : kbAudDeveloper kbMFC<br />
<br />
{|<br />
|width="100%"| <br /><br />
Last Reviewed: May 8, 2001<br /><br />
<span>© 2001 Microsoft Corporation. All rights reserved. Terms of Use.</span><br /><br />
|}</div>
3155ffGd