<!- Copyright (c) 1999-2001 Microsoft Corporation, All Rights Reserved -> <!doctype html public "-//W3C//DTD HTML 4.0 Draft//EN"> <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="-//W3C//DTD HTML 4.0//EN"> <head> <meta http-equiv=Content-Type content="text/html; charset=windows-1251"> <meta name=ProgId content=Word.Document> <meta name=Generator content="Microsoft Word 9"> <meta name=Originator content="Microsoft Word 9"> <link rel=File-List href="./DiskPerfWbem_files/filelist.xml"> <title>WMI SDK Sample - DiskPerfWbem</title> <!--[if gte mso 9]><xml> <o:DocumentProperties> <o:Author>Michael Maston</o:Author> <o:Template>Normal</o:Template> <o:LastAuthor>Michael Maston</o:LastAuthor> <o:Revision>9</o:Revision> <o:TotalTime>218</o:TotalTime> <o:Created>1999-01-25T17:25:00Z</o:Created> <o:LastSaved>1999-01-28T21:43:00Z</o:LastSaved> <o:Pages>2</o:Pages> <o:Words>522</o:Words> <o:Characters>2978</o:Characters> <o:Company>Microsoft</o:Company> <o:Lines>24</o:Lines> <o:Paragraphs>5</o:Paragraphs> <o:CharactersWithSpaces>3657</o:CharactersWithSpaces> <o:Version>9.2408</o:Version> </o:DocumentProperties> </xml><![endif]--> <style> <!-- /* Font Definitions */ @font-face {font-family:"MS Mincho"; panose-1:2 2 6 9 4 2 5 8 3 4; mso-font-alt:"MS Mincho"; mso-font-charset:128; mso-generic-font-family:modern; mso-font-pitch:fixed; mso-font-signature:-1610612033 1757936891 16 0 131231 0;} @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;} @font-face {font-family:"\@MS Mincho"; panose-1:2 2 6 9 4 2 5 8 3 4; mso-font-charset:128; mso-generic-font-family:modern; mso-font-pitch:fixed; mso-font-signature:-1610612033 1757936891 16 0 131231 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"; color:black;} a:link, span.MsoHyperlink {color:blue; text-decoration:underline; text-underline:single;} a:visited, span.MsoHyperlinkFollowed {color:blue; text-decoration:underline; text-underline:single;} p.MsoPlainText, li.MsoPlainText, div.MsoPlainText {margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Courier New"; mso-fareast-font-family:"Times New Roman";} @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;} /* List Definitions */ @list l0 {mso-list-id:994183607; mso-list-type:hybrid; mso-list-template-ids:-208100182 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l0:level1 {mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; font-family:"Times New Roman";} @list l1 {mso-list-id:1026715116; mso-list-type:hybrid; mso-list-template-ids:-1887773018 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l1:level1 {mso-level-text:"%1\)"; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in;} ol {margin-bottom:0in;} ul {margin-bottom:0in;} --> </style> <!--[if gte mso 9]><xml> <o:shapedefaults v:ext="edit" spidmax="1027"/> </xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext="edit"> <o:idmap v:ext="edit" data="1"/> </o:shapelayout></xml><![endif]--> <meta name=MS-HAID content=VJsamples> </head> <body bgcolor=white lang=EN-US link=blue vlink=blue style='tab-interval:.5in'> <div class=Section1> <table border=0 cellpadding=0 width="100%" style='width:100.0%;mso-cellspacing: 1.5pt;mso-padding-alt:0in 0in 0in 0in'> <tr> <td width=160 style='width:120.0pt;background:#330099;padding:.75pt .75pt .75pt .75pt'> <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana; color:white'> <nobr><b>Windows Management Instrumentation SDK Sample</b></span> <o:p></o:p></p> </td> </tr> </table> <p class=MsoPlainText><br> <strong><span style='font-size:13.5pt;font-family:Verdana'>DiskPerfWbem</span></strong><br style='mso-special-character:line-break'> <![if !supportLineBreakNewLine]><br style='mso-special-character:line-break'> <![endif]></p> <p class=MsoPlainText><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho"'>The DiskPerfWbem sample surfaces disk performance information produced by the DiskPerf driver using WMI. The driver produces disk partition performance instrumentation data and exposes this data through a WMI interface.<span style="mso-spacerun: yes">� </span>The information provided includes statistics such as number of bytes read and written, number of read and write operations performed and the time these operations took to complete.<span style="mso-spacerun: yes">� </span>The DiskPerf driver is included as a sample on the Windows 2000 Professional Beta 3 DDK and is also standard as part of the Windows 2000 Professional Beta 3 operating system installation.<o:p></o:p></span></p> <p class=MsoPlainText><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoPlainText><b><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho"'>NOTE</span></b><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho"'>:<span style="mso-spacerun: yes">� </span>The DiskPerf sample driver was also present in the Windows 2000 Beta 2 DDK. While the DiskPerfWbem sample application may also work with Windows 2000 Beta 2 and the Windows 2000 Beta 2 DDK version of the driver, it is highly recommended that Windows 2000 Beta 3 and the Windows 2000 Beta 3 DDK version of the driver be used.<o:p></o:p></span></p> <p class=MsoPlainText><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoPlainText><strong><span style='font-size:12.0pt;mso-bidi-font-size: 10.0pt;font-family:Verdana;font-weight:normal'>Getting Started with the DiskPerfWbem Sample<o:p></o:p></span></strong></p> <p class=MsoPlainText><span style='font-size:12.0pt;mso-bidi-font-size:10.0pt; font-family:Verdana;mso-fareast-font-family:"MS Mincho"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoPlainText><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho"'>To use this sample, the following steps are required:<o:p></o:p></span></p> <p class=MsoPlainText><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoPlainText style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo2; tab-stops:list .5in'><![if !supportLists]><span style='font-family:Verdana; mso-fareast-font-family:"MS Mincho"'>1)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho"'>Install Windows 2000 Professional Beta 3 operating system.<o:p></o:p></span></p> <p class=MsoPlainText style='tab-stops:list .5in'><span style='font-family: Verdana;mso-fareast-font-family:"MS Mincho"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoPlainText style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo2; tab-stops:list .5in'><![if !supportLists]><span style='font-family:Verdana; mso-fareast-font-family:"MS Mincho"'>2)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho"'>Install the WMI SDK for Windows 2000 Professional Beta 3.<o:p></o:p></span></p> <p class=MsoPlainText style='tab-stops:list .5in'><span style='font-family: Verdana;mso-fareast-font-family:"MS Mincho"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoPlainText style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo2; tab-stops:list .5in'><![if !supportLists]><span style='font-family:Verdana; mso-fareast-font-family:"MS Mincho"'>3)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho"'>Compile the sample application provided here, using the WMI SDK to produce dpwbem.exe.<o:p></o:p></span></p> <p class=MsoPlainText style='tab-stops:list .5in'><span style='font-family: Verdana;mso-fareast-font-family:"MS Mincho"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoPlainText style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo2; tab-stops:list .5in'><![if !supportLists]><span style='font-family:Verdana; mso-fareast-font-family:"MS Mincho"'>4)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho"'>If desired, the DiskPerf driver in the Windows 2000 Professional Beta 3 DDK can replace the one from the operating system install.<span style="mso-spacerun: yes">� </span>To do so, compile the DiskPerf driver in the DDK substitute it for the standard driver.<o:p></o:p></span></p> <p class=MsoPlainText style='tab-stops:list .5in'><span style='font-family: Verdana;mso-fareast-font-family:"MS Mincho"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoPlainText style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo2; tab-stops:list .5in'><![if !supportLists]><span style='font-family:Verdana; mso-fareast-font-family:"MS Mincho"'>5)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho"'>Open Device Manager.<span style="mso-spacerun: yes">� </span>Select Disk Drives and view properties via the Action menu.<span style="mso-spacerun: yes">� </span>Choose the �Advanced� tab and check the �Enable Disk Performance Counters� option.<o:p></o:p></span></p> <p class=MsoPlainText style='tab-stops:list .5in'><span style='font-family: Verdana;mso-fareast-font-family:"MS Mincho"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoPlainText style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo2; tab-stops:list .5in'><![if !supportLists]><span style='font-family:Verdana; mso-fareast-font-family:"MS Mincho";mso-bidi-font-family:"Times New Roman"'>6)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-family:Verdana;mso-fareast-font-family:"MS Mincho"'>Restart Windows 2000 Professional and run dpwbem.exe. You should now see instrumentation data produced by the DiskPerf driver visible via the WMI application.</span><span style='font-family:Verdana;mso-fareast-font-family:"MS Mincho";mso-bidi-font-family: "Times New Roman"'><o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:list .5in'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> <p class=MsoNormal style='tab-stops:list .5in'><strong><span style='font-family: Verdana;font-weight:normal'>General Notes<o:p></o:p></span></strong></p> <p class=MsoNormal style='tab-stops:list .5in'><strong><span style='font-family: Verdana;font-weight:normal'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></strong></p> <p class=MsoPlainText style='tab-stops:list .5in'><span style='font-family: Verdana;mso-fareast-font-family:"MS Mincho";mso-bidi-font-family:"Times New Roman"'>Things to remember when you're building your own WMI client application:<o:p></o:p></span></p> <p class=MsoPlainText style='tab-stops:list .5in'><span style='font-family: Verdana;mso-fareast-font-family:"MS Mincho";mso-bidi-font-family:"Times New Roman"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoPlainText style='margin-left:.25in;text-indent:-.25in;mso-list: l0 level1 lfo4;tab-stops:list .25in .5in'><![if !supportLists]><span style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho"'>1.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho";mso-bidi-font-family:"Times New Roman"'>If you want your client to run on NT and non-DCOM versions of Windows 95, manually load the ole32.dll and see if CoInitializeSecurity() exists. This routine won�t exist on Windows 95 installations that don�t have DCOM installed separately. If this routine doesn't exist, the asynchronous routines in this sample won�t work because of mismatched security level problems. The synchronous techniques will still work.<o:p></o:p></span></p> <p class=MsoPlainText style='tab-stops:list .5in'><span style='font-family: Verdana;mso-fareast-font-family:"MS Mincho";mso-bidi-font-family:"Times New Roman"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoPlainText style='margin-left:.25in;text-indent:-.25in;mso-list: l0 level1 lfo4;tab-stops:list .25in .5in'><![if !supportLists]><span style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho"'>2.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho";mso-bidi-font-family:"Times New Roman"'>If you don�t care about non-DCOM versions of Windows 95, you can define<span style="mso-spacerun: yes">� </span>_WIN32_DCOM so that CoInitializeSecurity() is available for implicit linking. Don't use _WIN32_WINNT to get this prototype since it won't compile under the Windows 95/98 operating systems.<o:p></o:p></span></p> <p class=MsoPlainText style='tab-stops:list .5in'><span style='font-family: Verdana;mso-fareast-font-family:"MS Mincho";mso-bidi-font-family:"Times New Roman"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoPlainText style='margin-left:.25in;text-indent:-.25in;mso-list: l0 level1 lfo4;tab-stops:list .25in .5in'><![if !supportLists]><span style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho"'>3.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho";mso-bidi-font-family:"Times New Roman"'>In any case, the CoInitializeSecurity() call (in InitInstance()) is required to work around a security problem when WMI trying to call a Sink object but won't identify itself. The CoInitializeSecurity() call turns off the authentication requirement. <o:p></o:p></span></p> <p class=MsoPlainText style='tab-stops:list .5in'><span style='font-family: Verdana;mso-fareast-font-family:"MS Mincho";mso-bidi-font-family:"Times New Roman"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoPlainText style='margin-left:.25in;text-indent:-.25in;mso-list: l0 level1 lfo4;tab-stops:list .25in .5in'><![if !supportLists]><span style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho"'>4.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho";mso-bidi-font-family:"Times New Roman"'>WMI interfaces are defined in wbemcli.h and wbemprov.h found in the wmi\include directory.<span style="mso-spacerun: yes">� </span>You may #include both these files by including just wbemidl.h located in the same directory.<o:p></o:p></span></p> <p class=MsoPlainText style='tab-stops:list .5in'><span style='font-family: Verdana;mso-fareast-font-family:"MS Mincho";mso-bidi-font-family:"Times New Roman"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoPlainText style='margin-left:.25in;text-indent:-.25in;mso-list: l0 level1 lfo4;tab-stops:list .25in .5in'><![if !supportLists]><span style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho"'>5.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho";mso-bidi-font-family:"Times New Roman"'>WMI interface CLSIDs are defined in wbemuuid.lib. If you get unresolved externals in interfaces and CLSIDs, this is what is missing. <o:p></o:p></span></p> <p class=MsoPlainText style='tab-stops:list .5in'><span style='font-family: Verdana;mso-fareast-font-family:"MS Mincho";mso-bidi-font-family:"Times New Roman"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoPlainText style='margin-left:.25in;text-indent:-.25in;mso-list: l0 level1 lfo4;tab-stops:list .25in .5in'><![if !supportLists]><span style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho"'>6.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho";mso-bidi-font-family:"Times New Roman"'>You'll need to link with oleaut32.lib and ole32.lib to get the needed COM support.<o:p></o:p></span></p> <p class=MsoPlainText style='tab-stops:list .5in'><span style='font-family: Verdana;mso-fareast-font-family:"MS Mincho";mso-bidi-font-family:"Times New Roman"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoPlainText style='margin-left:.25in;text-indent:-.25in;mso-list: l0 level1 lfo4;tab-stops:list .25in .5in'><![if !supportLists]><span style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho"'>7.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho";mso-bidi-font-family:"Times New Roman"'>In the Link|Output settings, specify 'wWinMainCRTStartup' as the entry point. This is per the Unicode programming instructions.<o:p></o:p></span></p> <p class=MsoPlainText style='tab-stops:list .5in'><span style='font-family: Verdana;mso-fareast-font-family:"MS Mincho";mso-bidi-font-family:"Times New Roman"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoPlainText style='margin-left:.25in;text-indent:-.25in;mso-list: l0 level1 lfo4;tab-stops:list .25in .5in'><![if !supportLists]><span style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho"'>8.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-family:Verdana;mso-fareast-font-family: "MS Mincho"'>If you're using the makefiles, don't forget to set the VC vars. In VC++ 5.0, it is VCVARS32.BAT.<o:p></o:p></span></p> <p class=MsoNormal style='tab-stops:list .5in'><br> <span style='font-family:Arial'><a href="http://www.microsoft.com/misc/CPYRIGHT.HTM"><b>� 1998-1999 Microsoft Corporation. All rights reserved.</b></a></span></p> </div> </body> </html>