Path: blob/master/Resources/taoframework-2.1.0/bin/Tao.Platform.Windows.xml
178 views
<?xml version="1.0"?>1<doc>2<assembly>3<name>Tao.Platform.Windows</name>4</assembly>5<members>6<member name="T:Tao.Platform.Windows.WinNt">7<summary>8WinNT binding for .NET, implementing Windows NT-specific functionality.9</summary>10</member>11<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_INTEL_386">12<summary>13Intel i386 processor.14</summary>15</member>16<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_INTEL_486">17<summary>18Intel i486 processor.19</summary>20</member>21<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_INTEL_PENTIUM">22<summary>23Intel Pentium processor.24</summary>25</member>26<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_INTEL_IA64">27<summary>28Intel IA64 processor.29</summary>30</member>31<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_AMD_X8664">32<summary>33AMD X86 64 processor.34</summary>35</member>36<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_MIPS_R4000">37<summary>38MIPS R4000, R4101, R3910 processor.39</summary>40</member>41<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_ALPHA_21064">42<summary>43Alpha 210 64 processor.44</summary>45</member>46<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_PPC_601">47<summary>48PPC 601 processor.49</summary>50</member>51<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_PPC_603">52<summary>53PPC 603 processor.54</summary>55</member>56<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_PPC_604">57<summary>58PPC 604 processor.59</summary>60</member>61<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_PPC_620">62<summary>63PPC 620 processor.64</summary>65</member>66<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_HITACHI_SH3">67<summary>68Hitachi SH3 processor.69</summary>70</member>71<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_HITACHI_SH3E">72<summary>73Hitachi SH3E processor.74</summary>75</member>76<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_HITACHI_SH4">77<summary>78Hitachi SH4 processor.79</summary>80</member>81<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_MOTOROLA_821">82<summary>83Motorola 821 processor.84</summary>85</member>86<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_SHx_SH3">87<summary>88SHx SH3 processor.89</summary>90</member>91<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_SHx_SH4">92<summary>93SHx SH4 processor.94</summary>95</member>96<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_STRONGARM">97<summary>98StrongARM processor.99</summary>100</member>101<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARM720">102<summary>103ARM 720 processor.104</summary>105</member>106<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARM820">107<summary>108ARM 820 processor.109</summary>110</member>111<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARM920">112<summary>113ARM 920 processor.114</summary>115</member>116<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARM_7TDMI">117<summary>118ARM 7TDMI processor.119</summary>120</member>121<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_OPTIL">122<summary>123MSIL processor.124</summary>125</member>126<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_INTEL">127<summary>128Intel architecture.129</summary>130</member>131<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_MIPS">132<summary>133MIPS architecture.134</summary>135</member>136<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_ALPHA">137<summary>138Alpha architecture.139</summary>140</member>141<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_PPC">142<summary>143PPC architecture.144</summary>145</member>146<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_SHX">147<summary>148SHX architecture.149</summary>150</member>151<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_ARM">152<summary>153ARM architecture.154</summary>155</member>156<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_IA64">157<summary>158IA64 architecture.159</summary>160</member>161<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_ALPHA64">162<summary>163Alpha64 architecture.164</summary>165</member>166<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_MSIL">167<summary>168MSIL architecture.169</summary>170</member>171<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_AMD64">172<summary>173AMD64 architecture.174</summary>175</member>176<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_IA32_ON_WIN64">177<summary>178IA32 On Win64 architecture.179</summary>180</member>181<member name="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_UNKNOWN">182<summary>183Unknown architecture.184</summary>185</member>186<member name="F:Tao.Platform.Windows.WinNt.PF_FLOATING_POINT_PRECISION_ERRATA">187<summary>188In rare circumstances, on a Pentium, a floating-point precision error can occur.189</summary>190</member>191<member name="F:Tao.Platform.Windows.WinNt.PF_FLOATING_POINT_EMULATED">192<summary>193Floating-point operations are emulated using a software emulator.194</summary>195</member>196<member name="F:Tao.Platform.Windows.WinNt.PF_COMPARE_EXCHANGE_DOUBLE">197<summary>198The compare and exchange double operation is available (Pentium, MIPS, and Alpha).199</summary>200</member>201<member name="F:Tao.Platform.Windows.WinNt.PF_MMX_INSTRUCTIONS_AVAILABLE">202<summary>203The MMX instruction set is available.204</summary>205</member>206<member name="F:Tao.Platform.Windows.WinNt.PF_PPC_MOVEMEM_64BIT_OK">207<summary>208Unknown.209</summary>210</member>211<member name="F:Tao.Platform.Windows.WinNt.PF_ALPHA_BYTE_INSTRUCTIONS">212<summary>213Unknown.214</summary>215</member>216<member name="F:Tao.Platform.Windows.WinNt.PF_XMMI_INSTRUCTIONS_AVAILABLE">217<summary>218The SSE instruction set is available.219</summary>220</member>221<member name="F:Tao.Platform.Windows.WinNt.PF_3DNOW_INSTRUCTIONS_AVAILABLE">222<summary>223The 3D-Now instruction set is available.224</summary>225</member>226<member name="F:Tao.Platform.Windows.WinNt.PF_RDTSC_INSTRUCTION_AVAILABLE">227<summary>228The RDTSC instruction is available.229</summary>230</member>231<member name="F:Tao.Platform.Windows.WinNt.PF_PAE_ENABLED">232<summary>233The processor is PAE-enabled.234</summary>235</member>236<member name="F:Tao.Platform.Windows.WinNt.PF_XMMI64_INSTRUCTIONS_AVAILABLE">237<summary>238The SSE2 instruction set is available.239</summary>240</member>241<member name="T:Tao.Platform.Windows.Kernel">242<summary>243Kernel binding for .NET, implementing Windows-specific kernel functionality.244</summary>245<remarks>246Binds functions and definitions in kernel32.dll.247</remarks>248</member>249<member name="F:Tao.Platform.Windows.Kernel.KERNEL_NATIVE_LIBRARY">250<summary>251Specifies Kernel32's native library archive.252</summary>253<remarks>254Specifies kernel32.dll for Windows.255</remarks>256</member>257<member name="F:Tao.Platform.Windows.Kernel.CALLING_CONVENTION">258<summary>259Specifies the calling convention.260</summary>261<remarks>262Specifies <see cref="F:System.Runtime.InteropServices.CallingConvention.StdCall"/>.263</remarks>264</member>265<member name="M:Tao.Platform.Windows.Kernel.Beep(System.Int32,System.Int32)">266<summary>267The <b>Beep</b> function generates simple tones on the speaker. The function is268synchronous; it does not return control to its caller until the sound finishes.269</summary>270<param name="frequency">271<para>272Frequency of the sound, in hertz. This parameter must be in the range27337 through 32,767 (0x25 through 0x7FFF).274</para>275<para>276<b>Windows 95/98/Me:</b> The <b>Beep</b> function ignores this parameter.277</para>278</param>279<param name="duration">280<para>281Duration of the sound, in milliseconds.282</para>283<para>284<b>Windows 95/98/Me:</b> The <b>Beep</b> function ignores this parameter.285</para>286</param>287<returns>288<para>289If the function succeeds, the return value is true.290</para>291<para>292If the function fails, the return value is false. To get extended error293information, call <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>.294</para>295</returns>296<remarks>297<para>298<b>Terminal Services:</b> The beep is redirected to the client.299</para>300<para>301<b>Windows 95/98/Me:</b> On computers with a sound card, the function302plays the default sound event. On computers without a sound card, the303function plays the standard system beep.304</para>305</remarks>306</member>307<member name="M:Tao.Platform.Windows.Kernel.FreeLibrary(System.IntPtr)">308<summary>309The <b>FreeLibrary</b> function decrements the reference count of the loaded310dynamic-link library (DLL). When the reference count reaches zero, the module311is unmapped from the address space of the calling process and the handle is no312longer valid.313</summary>314<param name="moduleHandle">315Handle to the loaded DLL module. The <see cref="M:Tao.Platform.Windows.Kernel.LoadLibrary(System.String)"/> or316<see cref="M:Tao.Platform.Windows.Kernel.GetModuleHandle(System.String)"/> function returns this handle.317</param>318<returns>319<para>320If the function succeeds, the return value is true.321</para>322<para>323If the function fails, the return value is false. To get extended error324information, call <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>.325</para>326</returns>327<remarks>328<para>329Each process maintains a reference count for each loaded library module. This330reference count is incremented each time <see cref="M:Tao.Platform.Windows.Kernel.LoadLibrary(System.String)"/> is called331and is decremented each time <b>FreeLibrary</b> is called. A DLL module332loaded at process initialization due to load-time dynamic linking has a333reference count of one. This count is incremented if the same module is334loaded by a call to <see cref="M:Tao.Platform.Windows.Kernel.LoadLibrary(System.String)"/>.335</para>336<para>337Before unmapping a library module, the system enables the DLL to detach from338the process by calling the DLL's <b>DllMain</b> function, if it has one, with339the DLL_PROCESS_DETACH value. Doing so gives the DLL an opportunity to clean340up resources allocated on behalf of the current process. After the341entry-point function returns, the library module is removed from the address342space of the current process.343</para>344<para>345It is not safe to call <b>FreeLibrary</b> from <b>DllMain</b>. For more346information, see the Remarks section in <b>DllMain</b>.347</para>348<para>349Calling <b>FreeLibrary</b> does not affect other processes using the same350library module.351</para>352</remarks>353<seealso cref="M:Tao.Platform.Windows.Kernel.GetModuleHandle(System.String)"/>354<seealso cref="M:Tao.Platform.Windows.Kernel.LoadLibrary(System.String)"/>355</member>356<member name="M:Tao.Platform.Windows.Kernel.GetDllDirectory(System.Int32,System.Text.StringBuilder)">357<summary>358The <b>GetDllDirectory</b> function retrieves the application-specific portion of359the search path used to locate DLLs for the application.360</summary>361<param name="bufferLength">362Size of the output buffer, in characters.363</param>364<param name="buffer">365Pointer to a buffer that receives the application-specific portion of the search path.366</param>367<returns>368<para>369If the function succeeds, the return value is the length of the string copied370to <i>buffer</i>, in characters, not including the terminating null character.371If the return value is greater than <i>bufferLength</i>, it specifies the size372of the buffer required for the path.373</para>374<para>375If the function fails, the return value is zero. To get extended error376information, call <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>.377</para>378</returns>379<seealso cref="M:Tao.Platform.Windows.Kernel.SetDllDirectory(System.String)"/>380</member>381<member name="M:Tao.Platform.Windows.Kernel.GetModuleFileName(System.IntPtr,System.Text.StringBuilder,System.Int32)">382<summary>383<para>384The <b>GetModuleFileName</b> function retrieves the fully qualified path for385the specified module.386</para>387<para>388To specify the process that contains the module, use the389<b>GetModuleFileNameEx</b> function.390</para>391</summary>392<param name="module">393Handle to the module whose path is being requested. If this parameter is NULL,394<b>GetModuleFileName</b> retrieves the path for the current module.395</param>396<param name="fileName">397<para>398Pointer to a buffer that receives a null-terminated string that specifies the399fully-qualified path of the module. If the length of the path exceeds the400size specified by the <i>size</i> parameter, the function succeeds and the401string is truncated to <i>size</i> characters and null terminated.402</para>403<para>404The path can have the prefix "\\?\", depending on how the module was loaded.405</para>406</param>407<param name="size">408Size of the <i>filename</i> buffer, in TCHARs.409</param>410<returns>411<para>412If the function succeeds, the return value is the length of the string copied413to the buffer, in TCHARs. If the buffer is too small to hold the module name,414the string is truncated to <i>size</i>, and the function returns <i>size</i>.415</para>416<para>417If the function fails, the return value is zero. To get extended error418information, call <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>.419</para>420</returns>421<remarks>422<para>423If a DLL is loaded in two processes, its file name in one process may differ424in case from its file name in the other process.425</para>426<para>427For the ANSI version of the function, the number of TCHARs is the number of428bytes; for the Unicode version, it is the number of characters.429</para>430<para>431<b>Windows Me/98/95:</b> This function retrieves long file names when an432application's version number is greater than or equal to 4.00 and the long433file name is available. Otherwise, it returns only 8.3 format file names.434</para>435</remarks>436<seealso cref="M:Tao.Platform.Windows.Kernel.GetModuleHandle(System.String)"/>437<seealso cref="M:Tao.Platform.Windows.Kernel.LoadLibrary(System.String)"/>438</member>439<member name="M:Tao.Platform.Windows.Kernel.GetModuleHandle(System.String)">440<summary>441<para>442The <b>GetModuleHandle</b> function retrieves a module handle for the443specified module if the file has been mapped into the address space of the444calling process.445</para>446<para>447To avoid the race conditions described in the Remarks section, use the448<b>GetModuleHandleEx</b> function.449</para>450</summary>451<param name="moduleName">452<para>453Pointer to a null-terminated string that contains the name of the module454(either a .dll or .exe file). If the file name extension is omitted, the455default library extension .dll is appended. The file name string can include456a trailing point character (.) to indicate that the module name has no457extension. The string does not have to specify a path. When specifying a458path, be sure to use backslashes (\), not forward slashes (/). The name is459compared (case independently) to the names of modules currently mapped into460the address space of the calling process.461</para>462<para>463If this parameter is NULL, <b>GetModuleHandle</b> returns a handle to the464file used to create the calling process.465</para>466</param>467<returns>468<para>469If the function succeeds, the return value is a handle to the specified module470(IntPtr).471</para>472<para>473If the function fails, the return value is NULL (IntPtr.Zero). To get474extended error information, call <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>.475</para>476</returns>477<remarks>478<para>479The returned handle is not global or inheritable. It cannot be duplicated480or used by another process.481</para>482<para>483The <b>GetModuleHandle</b> function returns a handle to a mapped module484without incrementing its reference count. Therefore, use care when passing485the handle to the <see cref="M:Tao.Platform.Windows.Kernel.FreeLibrary(System.IntPtr)"/> function, because doing so can486cause a DLL module to be unmapped prematurely.487</para>488<para>489This function must be used carefully in a multithreaded application. There490is no guarantee that the module handle remains valid between the time this491function returns the handle and the time it is used. For example, a thread492retrieves a module handle, but before it uses the handle, a second thread493frees the module. If the system loads another module, it could reuse the494module handle that was recently freed. Therefore, first thread would have495a handle to a module different than the one intended.496</para>497</remarks>498<seealso cref="M:Tao.Platform.Windows.Kernel.FreeLibrary(System.IntPtr)"/>499<seealso cref="M:Tao.Platform.Windows.Kernel.GetModuleFileName(System.IntPtr,System.Text.StringBuilder,System.Int32)"/>500</member>501<member name="M:Tao.Platform.Windows.Kernel.GetProcAddress(System.IntPtr,System.String)">502<summary>503The <b>GetProcAddress</b> function retrieves the address of an exported function504or variable from the specified dynamic-link library (DLL).505</summary>506<param name="module">507Handle to the DLL module that contains the function or variable. The508<see cref="M:Tao.Platform.Windows.Kernel.LoadLibrary(System.String)"/> or <see cref="M:Tao.Platform.Windows.Kernel.GetModuleHandle(System.String)"/> function returns509this handle.510</param>511<param name="processName">512Pointer to a null-terminated string that specifies the function or variable name,513or the function's ordinal value. If this parameter is an ordinal value, it must514be in the low-order word; the high-order word must be zero.515</param>516<returns>517<para>518If the function succeeds, the return value is the address of the exported519function or variable.520</para>521<para>522If the function fails, the return value is NULL (IntPtr.Zero). To get523extended error information, call <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>.524</para>525</returns>526<remarks>527<para>528The spelling and case of a function name pointed to by <i>processName</i> must529be identical to that in the EXPORTS statement of the source DLL's530module-definition (.def) file. The exported names of functions may differ531from the names you use when calling these functions in your code. This532difference is hidden by macros used in the SDK header files.533</para>534<para>535The <i>processName</i> parameter can identify the DLL function by specifying536an ordinal value associated with the function in the EXPORTS statement.537<b>GetProcAddress</b> verifies that the specified ordinal is in the range 1538through the highest ordinal value exported in the .def file. The function539then uses the ordinal as an index to read the function's address from a540function table. If the .def file does not number the functions consecutively541from 1 to N (where N is the number of exported functions), an error can occur542where <b>GetProcAddress</b> returns an invalid, non-NULL address, even though543there is no function with the specified ordinal.544</para>545<para>546In cases where the function may not exist, the function should be specified by547name rather than by ordinal value.548</para>549</remarks>550<seealso cref="M:Tao.Platform.Windows.Kernel.FreeLibrary(System.IntPtr)"/>551<seealso cref="M:Tao.Platform.Windows.Kernel.GetModuleHandle(System.String)"/>552<seealso cref="M:Tao.Platform.Windows.Kernel.LoadLibrary(System.String)"/>553</member>554<member name="M:Tao.Platform.Windows.Kernel.GetProcessWorkingSetSize(System.IntPtr,System.Int32@,System.Int32@)">555<summary>556The <b>GetProcessWorkingSetSize</b> function retrieves the minimum and maximum557working set sizes of the specified process.558</summary>559<param name="process">560Handle to the process whose working set sizes will be obtained. The handle must561have the PROCESS_QUERY_INFORMATION access right.562</param>563<param name="minimumWorkingSetSize">564Pointer to a variable that receives the minimum working set size of the specified565process, in bytes. The virtual memory manager attempts to keep at least this much566memory resident in the process whenever the process is active.567</param>568<param name="maximumWorkingSetSize">569Pointer to a variable that receives the maximum working set size of the specified570process, in bytes. The virtual memory manager attempts to keep no more than this571much memory resident in the process whenever the process is active when memory is572in short supply.573</param>574<returns>575<para>576If the function succeeds, the return value is true.577</para>578<para>579If the function fails, the return value is false. To get extended error580information, call <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>.581</para>582</returns>583<remarks>584The "working set" of a process is the set of memory pages currently visible to585the process in physical RAM memory. These pages are resident and available for586an application to use without triggering a page fault. The minimum and maximum587working set sizes affect the virtual memory paging behavior of a process.588</remarks>589<seealso cref="M:Tao.Platform.Windows.Kernel.SetProcessWorkingSetSize(System.IntPtr,System.Int32,System.Int32)"/>590</member>591<member name="M:Tao.Platform.Windows.Kernel.GetSystemDirectory(System.Text.StringBuilder,System.Int32)">592<summary>593<para>594The <b>GetSystemDirectory</b> function retrieves the path of the system595directory. The system directory contains system such files such as596dynamic-link libraries, drivers, and font files.597</para>598<para>599This function is provided primarily for compatibility. Applications should600store code in the Program Files folder and persistent data in the Application601Data folder in the user's profile.602</para>603</summary>604<param name="buffer">605Pointer to the buffer to receive the null-terminated string containing the path.606This path does not end with a backslash unless the system directory is the root607directory. For example, if the system directory is named Windows\System on drive608C, the path of the system directory retrieved by this function is609C:\Windows\System.610</param>611<param name="size">612Maximum size of the buffer, in TCHARs. This value should be set to at least613MAX_PATH+1 to allow sufficient space for the path and the null terminator.614</param>615<returns>616<para>617If the function succeeds, the return value is the length, in TCHARs, of the618string copied to the buffer, not including the terminating null character. If619the length is greater than the size of the buffer, the return value is the620size of the buffer required to hold the path.621</para>622<para>623If the function fails, the return value is zero. To get extended error624information, call <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>.625</para>626</returns>627<remarks>628Applications should not create files in the system directory. If the user is629running a shared version of the operating system, the application does not have630write access to the system directory.631</remarks>632<seealso cref="M:Tao.Platform.Windows.Kernel.GetWindowsDirectory(System.Text.StringBuilder,System.Int32)"/>633</member>634<member name="M:Tao.Platform.Windows.Kernel.GetSystemInfo(Tao.Platform.Windows.Kernel.SYSTEM_INFO@)">635<summary>636<para>637The <b>GetSystemInfo</b> function returns information about the current638system.639</para>640<para>641To retrieve accurate information for a Win32-based application running on642WOW64, call the <b>GetNativeSystemInfo</b> function.643</para>644</summary>645<param name="systemInfo">646Pointer to a <see cref="T:Tao.Platform.Windows.Kernel.SYSTEM_INFO"/> structure that receives the information.647</param>648<seealso cref="T:Tao.Platform.Windows.Kernel.SYSTEM_INFO"/>649</member>650<member name="M:Tao.Platform.Windows.Kernel.GetSystemWindowsDirectory(System.Text.StringBuilder,System.Int32)">651<summary>652The <b>GetSystemWindowsDirectory</b> function retrieves the path of the shared653Windows directory on a multi-user system.654</summary>655<param name="buffer">656Pointer to the buffer to receive a null-terminated string containing the path.657This path does not end with a backslash unless the Windows directory is the root658directory. For example, if the Windows directory is named Windows on drive C,659the path of the Windows directory retrieved by this function is C:\Windows. If660the system was installed in the root directory of drive C, the path retrieved661is C:\.662</param>663<param name="size">664Maximum size of the buffer specified by the <i>buffer</i> parameter, in TCHARs.665This value should be set to at least MAX_PATH+1 to allow sufficient space for the666path and the null-terminating character.667</param>668<returns>669<para>670If the function succeeds, the return value is the length of the string copied671to the buffer, in TCHARs, not including the terminating null character.672</para>673<para>674If the length is greater than the size of the buffer, the return value is the675size of the buffer required to hold the path.676</para>677<para>678If the function fails, the return value is zero. To get extended error679information, call <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>.680</para>681</returns>682<remarks>683<para>684On a system that is running Terminal Server, each user has a unique Windows685directory. The system Windows directory is shared by all users, so it is the686directory where an application should store initialization and help files that687apply to all users.688</para>689<para>690With Terminal Services, the <b>GetSystemWindowsDirectory</b> function691retrieves the path of the system Windows directory, while the692<see cref="M:Tao.Platform.Windows.Kernel.GetWindowsDirectory(System.Text.StringBuilder,System.Int32)"/> function retrieves the path of a Windows693directory that is private for each user. On a single-user system,694<b>GetSystemWindowsDirectory</b> is the same as695<see cref="M:Tao.Platform.Windows.Kernel.GetWindowsDirectory(System.Text.StringBuilder,System.Int32)"/>.696</para>697<para>698<b>Windows NT 4.0 Terminal Server Edition:</b> To retrieve the shared699Windows directory, call <see cref="M:Tao.Platform.Windows.Kernel.GetSystemDirectory(System.Text.StringBuilder,System.Int32)"/> and trim the700"System32" element from the end of the returned path.701</para>702</remarks>703<seealso cref="M:Tao.Platform.Windows.Kernel.GetWindowsDirectory(System.Text.StringBuilder,System.Int32)"/>704</member>705<member name="M:Tao.Platform.Windows.Kernel.GetTickCount">706<summary>707The <b>GetTickCount</b> function retrieves the number of milliseconds that have708elapsed since the system was started. It is limited to the resolution of the709system timer. To obtain the system timer resolution, use the710<b>GetSystemTimeAdjustment</b> function.711</summary>712<returns>713The return value is the number of milliseconds that have elapsed since the system714was started.715</returns>716<remarks>717<para>718The elapsed time is stored as a DWORD value. Therefore, the time will wrap719around to zero if the system is run continuously for 49.7 days.720</para>721<para>722If you need a higher resolution timer, use a multimedia timer or a723high-resolution timer.724</para>725<para>726To obtain the time elapsed since the computer was started, retrieve the System727Up Time counter in the performance data in the registry key728HKEY_PERFORMANCE_DATA. The value returned is an 8-byte value.729</para>730</remarks>731</member>732<member name="M:Tao.Platform.Windows.Kernel.GetWindowsDirectory(System.Text.StringBuilder,System.Int32)">733<summary>734<para>735The <b>GetWindowsDirectory</b> function retrieves the path of the Windows736directory. The Windows directory contains such files as applications,737initialization files, and help files.738</para>739<para>740This function is provided primarily for compatibility. Applications should741store code in the Program Files folder and persistent data in the Application742Data folder in the user's profile.743</para>744</summary>745<param name="buffer">746Pointer to the buffer to receive the null-terminated string containing the path.747This path does not end with a backslash unless the Windows directory is the root748directory. For example, if the Windows directory is named Windows on drive C, the749path of the Windows directory retrieved by this function is C:\Windows. If the750system was installed in the root directory of drive C, the path retrieved is C:\.751</param>752<param name="size">753Maximum size of the buffer specified by the <i>buffer</i> parameter, in TCHARs.754This value should be set to MAX_PATH.755</param>756<returns>757<para>758If the function succeeds, the return value is the length of the string copied759to the buffer, in TCHARs, not including the terminating null character.760</para>761<para>762If the length is greater than the size of the buffer, the return value is the763size of the buffer required to hold the path.764</para>765<para>766If the function fails, the return value is zero. To get extended error767information, call <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>.768</para>769</returns>770<remarks>771<para>772The Windows directory is the directory where an application should store773initialization and help files. If the user is running a shared version of the774system, the Windows directory is guaranteed to be private for each user.775</para>776<para>777If an application creates other files that it wants to store on a per-user778basis, it should place them in the directory specified by the HOMEPATH779environment variable. This directory will be different for each user, if so780specified by an administrator, through the User Manager administrative tool.781HOMEPATH always specifies either the user's home directory, which is782guaranteed to be private for each user, or a default directory (for example,783C:\USERS\DEFAULT) where the user will have all access.784</para>785<para>786<b>Terminal Services:</b> If the application is running in a Terminal787Services environment, each user has a unique Windows directory. If an788application that is not Terminal-Services-aware calls this function, it789retrieves the path of the Windows directory on the client, not the Windows790directory on the server.791</para>792</remarks>793<seealso cref="M:Tao.Platform.Windows.Kernel.GetSystemDirectory(System.Text.StringBuilder,System.Int32)"/>794<seealso cref="M:Tao.Platform.Windows.Kernel.GetSystemWindowsDirectory(System.Text.StringBuilder,System.Int32)"/>795</member>796<member name="M:Tao.Platform.Windows.Kernel.GlobalMemoryStatus(Tao.Platform.Windows.Kernel.MEMORYSTATUS@)">797<summary>798<para>799The <b>GlobalMemoryStatus</b> function obtains information about the system's800current usage of both physical and virtual memory.801</para>802<para>803To obtain information about the extended portion of the virtual address space,804or if your application may run on computers with more than 4 GB of main805memory, use the <b>GlobalMemoryStatusEx</b> function.806</para>807</summary>808<param name="buffer">809Pointer to a <see cref="T:Tao.Platform.Windows.Kernel.MEMORYSTATUS"/> structure. The <b>GlobalMemoryStatus</b>810function stores information about current memory availability into this structure.811</param>812<remarks>813<para>814You can use the <b>GlobalMemoryStatus</b> function to determine how much815memory your application can allocate without severely impacting other816applications.817</para>818<para>819The information returned by the <b>GlobalMemoryStatus</b> function is820volatile. There is no guarantee that two sequential calls to this function821will return the same information.822</para>823<para>824On computers with more than 4 GB of memory, the <b>GlobalMemoryStatus</b>825function can return incorrect information. Windows 2000 and later report a826value of -1 to indicate an overflow. Earlier versions of Windows NT report a827value that is the real amount of memory, modulo 4 GB. For this reason, use828the <b>GlobalMemoryStatusEx</b> function instead.829</para>830<para>831On Intel x86 computers with more than 2 GB and less than 4 GB of memory, the832<b>GlobalMemoryStatus</b> function will always return 2 GB in the833<see cref="F:Tao.Platform.Windows.Kernel.MEMORYSTATUS.TotalPhys"/> member of the834<see cref="T:Tao.Platform.Windows.Kernel.MEMORYSTATUS"/> structure. Similarly, if the total available835memory is between 2 and 4 GB, the <see cref="F:Tao.Platform.Windows.Kernel.MEMORYSTATUS.AvailPhys"/> member836of the <see cref="T:Tao.Platform.Windows.Kernel.MEMORYSTATUS"/> structure will be rounded down to 2 GB. If837the executable is linked using the /LARGEADDRESSWARE linker option, then the838<b>GlobalMemoryStatus</b> function will return the correct amount of physical839memory in both members.840</para>841</remarks>842<seealso cref="T:Tao.Platform.Windows.Kernel.MEMORYSTATUS"/>843</member>844<member name="M:Tao.Platform.Windows.Kernel.IsProcessorFeaturePresent(System.Int32)">845<summary>846The <b>IsProcessorFeaturePresent</b> function determines whether the specified847processor feature is supported by the current computer.848</summary>849<param name="processorFeature">850<para>851Processor feature to be tested. This parameter can be one of the following852values:853</para>854<para>855<list type="table">856<listheader>857<term>Value</term>858<description>Description</description>859</listheader>860<item>861<term><see cref="F:Tao.Platform.Windows.WinNt.PF_3DNOW_INSTRUCTIONS_AVAILABLE"/></term>862<description>863The 3D-Now instruction set is available.864</description>865</item>866<item>867<term><see cref="F:Tao.Platform.Windows.WinNt.PF_COMPARE_EXCHANGE_DOUBLE"/></term>868<description>869The compare and exchange double operation is available (Pentium,870MIPS, and Alpha).871</description>872</item>873<item>874<term><see cref="F:Tao.Platform.Windows.WinNt.PF_FLOATING_POINT_EMULATED"/></term>875<description>876<para>877Floating-point operations are emulated using a software878emulator.879</para>880<para>881This function returns true if floating-point operations are882emulated; otherwise, it returns false.883</para>884<para>885<b>Windows NT 4.0:</b> This function returns false if886floating-point operations are emulated; otherwise, it returns887true. This behavior is a bug that is fixed in later versions.888</para>889</description>890</item>891<item>892<term><see cref="F:Tao.Platform.Windows.WinNt.PF_FLOATING_POINT_PRECISION_ERRATA"/></term>893<description>894<b>Pentium:</b> In rare circumstances, a floating-point precision895error can occur.896</description>897</item>898<item>899<term><see cref="F:Tao.Platform.Windows.WinNt.PF_MMX_INSTRUCTIONS_AVAILABLE"/></term>900<description>901The MMX instruction set is available.902</description>903</item>904<item>905<term><see cref="F:Tao.Platform.Windows.WinNt.PF_PAE_ENABLED"/></term>906<description>907The processor is PAE-enabled.908</description>909</item>910<item>911<term><see cref="F:Tao.Platform.Windows.WinNt.PF_RDTSC_INSTRUCTION_AVAILABLE"/></term>912<description>913The RDTSC instruction is available.914</description>915</item>916<item>917<term><see cref="F:Tao.Platform.Windows.WinNt.PF_XMMI_INSTRUCTIONS_AVAILABLE"/></term>918<description>919The SSE instruction set is available.920</description>921</item>922<item>923<term><see cref="F:Tao.Platform.Windows.WinNt.PF_XMMI64_INSTRUCTIONS_AVAILABLE"/></term>924<description>925The SSE2 instruction set is available.926</description>927</item>928</list>929</para>930</param>931<returns>932<para>933If the feature is supported, the return value is true.934</para>935<para>936If the feature is not supported, the return value is false.937</para>938</returns>939</member>940<member name="M:Tao.Platform.Windows.Kernel.LoadLibrary(System.String)">941<summary>942The <b>LoadLibrary</b> function maps the specified executable module into the943address space of the calling process.944</summary>945<param name="fileName">946<para>947Pointer to a null-terminated string that names the executable module (either948a .dll or .exe file). The name specified is the file name of the module and949is not related to the name stored in the library module itself, as specified950by the LIBRARY keyword in the module-definition (.def) file.951</para>952<para>953If the string specifies a path but the file does not exist in the specified954directory, the function fails. When specifying a path, be sure to use955backslashes (\), not forward slashes (/).956</para>957<para>958If the string does not specify a path, the function uses a standard search959strategy to find the file. See the Remarks for more information.960</para>961</param>962<returns>963<para>964If the function succeeds, the return value is a handle to the module (IntPtr).965</para>966<para>967If the function fails, the return value is NULL (IntPtr.Zero). To get968extended error information, call <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>.969</para>970<para>971<b>Windows Me/98/95:</b> If you are using <b>LoadLibrary</b> to load a module972that contains a resource whose numeric identifier is greater than 0x7FFF,973<b>LoadLibrary</b> fails. If you are attempting to load a 16-bit DLL directly974from 32-bit code, <b>LoadLibrary</b> fails. If you are attempting to load a975DLL whose subsystem version is greater than 4.0, <b>LoadLibrary</b> fails. If976your <b>DllMain</b> function tries to call the Unicode version of a function,977<b>LoadLibrary</b> fails.978</para>979</returns>980<remarks>981<para>982<b>LoadLibrary</b> can be used to map a DLL module and return a handle that983can be used in <see cref="M:Tao.Platform.Windows.Kernel.GetProcAddress(System.IntPtr,System.String)"/> to get the address of a DLL984function. <b>LoadLibrary</b> can also be used to map other executable985modules. For example, the function can specify an .exe file to get a986handle that can be used in <b>FindResource</b> or <b>LoadResource</b>.987However, do not use <b>LoadLibrary</b> to run an .exe file, use the988<b>CreateProcess</b> function.989</para>990<para>991If the module is a DLL not already mapped for the calling process, the system992calls the DLL's <b>DllMain</b> function with the DLL_PROCESS_ATTACH value. If993the DLL's entry-point function does not return TRUE, <b>LoadLibrary</b> fails994and returns NULL. (The system immediately calls your entry-point function995with DLL_PROCESS_DETACH and unloads the DLL.)996</para>997<para>998It is not safe to call <b>LoadLibrary</b> from <b>DllMain</b>. For more999information, see the Remarks section in <b>DllMain</b>.1000</para>1001<para>1002Module handles are not global or inheritable. A call to <b>LoadLibrary</b> by1003one process does not produce a handle that another process can use — for1004example, in calling <see cref="M:Tao.Platform.Windows.Kernel.GetProcAddress(System.IntPtr,System.String)"/>. The other process must1005make its own call to <b>LoadLibrary</b> for the module before calling1006<see cref="M:Tao.Platform.Windows.Kernel.GetProcAddress(System.IntPtr,System.String)"/>.1007</para>1008<para>1009If no file name extension is specified in the <i>fileName</i> parameter, the1010default library extension .dll is appended. However, the file name string1011can include a trailing point character (.) to indicate that the module name1012has no extension. When no path is specified, the function searches for loaded1013modules whose base name matches the base name of the module to be loaded. If1014the name matches, the load succeeds. Otherwise, the function searches for the1015file in the following sequence:1016</para>1017<para>1018<list type="number">1019<item>1020<description>1021The directory from which the application loaded.1022</description>1023</item>1024<item>1025<description>1026The current directory.1027</description>1028</item>1029<item>1030<description>1031The system directory. Use the <see cref="M:Tao.Platform.Windows.Kernel.GetSystemDirectory(System.Text.StringBuilder,System.Int32)"/>1032function to get the path of this directory.1033</description>1034</item>1035<item>1036<description>1037<para>1038The 16-bit system directory. There is no function that1039obtains the path of this directory, but it is searched.1040</para>1041<para>1042<b>Windows Me/98/95:</b> This directory does not exist.1043</para>1044</description>1045</item>1046<item>1047<description>1048The Windows directory. Use the <see cref="M:Tao.Platform.Windows.Kernel.GetWindowsDirectory(System.Text.StringBuilder,System.Int32)"/>1049function to get the path of this directory.1050</description>1051</item>1052<item>1053<description>1054The directories that are listed in the PATH environment variable.1055</description>1056</item>1057</list>1058</para>1059<para>1060<b>Windows Server 2003, Windows XP SP1:</b> The default value of1061HKLM\System\CurrentControlSet\Control\Session Manager\SafeDllSearchMode is 11062(current directory is searched after the system and Windows directories).1063</para>1064<para>1065<b>Windows XP:</b> If1066HKLM\System\CurrentControlSet\Control\Session Manager\SafeDllSearchMode is 1,1067the current directory is searched after the system and Windows directories,1068but before the directories in the PATH environment variable. The default1069value is 0 (current directory is searched before the system and Windows1070directories).1071</para>1072<para>1073The first directory searched is the one directory containing the image file1074used to create the calling process (for more information, see the1075<b>CreateProcess</b> function). Doing this allows private dynamic-link1076library (DLL) files associated with a process to be found without adding the1077process's installed directory to the PATH environment variable.1078</para>1079<para>1080The search path can be altered using the <see cref="M:Tao.Platform.Windows.Kernel.SetDllDirectory(System.String)"/>1081function. This solution is recommended instead of using1082<b>SetCurrentDirectory</b> or hard-coding the full path to the DLL.1083</para>1084<para>1085If a path is specified and there is a redirection file for the application,1086the function searches for the module in the application's directory. If the1087module exists in the application's directory, the <b>LoadLibrary</b> function1088ignores the specified path and loads the module from the application's1089directory. If the module does not exist in the application's directory,1090<b>LoadLibrary</b> loads the module from the specified directory.1091</para>1092</remarks>1093<seealso cref="M:Tao.Platform.Windows.Kernel.FreeLibrary(System.IntPtr)"/>1094<seealso cref="M:Tao.Platform.Windows.Kernel.GetProcAddress(System.IntPtr,System.String)"/>1095<seealso cref="M:Tao.Platform.Windows.Kernel.GetSystemDirectory(System.Text.StringBuilder,System.Int32)"/>1096<seealso cref="M:Tao.Platform.Windows.Kernel.GetWindowsDirectory(System.Text.StringBuilder,System.Int32)"/>1097<seealso cref="M:Tao.Platform.Windows.Kernel.SetDllDirectory(System.String)"/>1098</member>1099<member name="M:Tao.Platform.Windows.Kernel.QueryPerformanceCounter(System.Int64@)">1100<summary>1101The <b>QueryPerformanceCounter</b> function retrieves the current value of the1102high-resolution performance counter.1103</summary>1104<param name="performanceCount">1105Pointer to a variable that receives the current performance-counter value, in1106counts.1107</param>1108<returns>1109<para>1110If the function succeeds, the return value is true.1111</para>1112<para>1113If the function fails, the return value is false. To get extended error1114information, call <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>.1115</para>1116</returns>1117<remarks>1118On a multiprocessor machine, it should not matter which processor is called.1119However, you can get different results on different processors due to bugs in the1120BIOS or the HAL. To specify processor affinity for a thread, use the1121<b>SetThreadAffinityMask</b> function.1122</remarks>1123<seealso cref="M:Tao.Platform.Windows.Kernel.QueryPerformanceCounterFast(System.Int64@)"/>1124<seealso cref="M:Tao.Platform.Windows.Kernel.QueryPerformanceFrequency(System.Int64@)"/>1125</member>1126<member name="M:Tao.Platform.Windows.Kernel.QueryPerformanceCounterFast(System.Int64@)">1127<summary>1128The <b>QueryPerformanceCounterFast</b> function retrieves the current value of the1129high-resolution performance counter.1130</summary>1131<param name="performanceCount">1132Pointer to a variable that receives the current performance-counter value, in1133counts.1134</param>1135<returns>1136<para>1137If the function succeeds, the return value is true.1138</para>1139<para>1140If the function fails, the return value is false.1141</para>1142</returns>1143<remarks>1144<para>1145This version of <see cref="M:Tao.Platform.Windows.Kernel.QueryPerformanceCounter(System.Int64@)"/> is slightly faster. It1146does not set the last Windows error. Use with care.1147</para>1148<para>1149On a multiprocessor machine, it should not matter which processor is called.1150However, you can get different results on different processors due to bugs in1151the BIOS or the HAL. To specify processor affinity for a thread, use the1152<b>SetThreadAffinityMask</b> function.1153</para>1154</remarks>1155<seealso cref="M:Tao.Platform.Windows.Kernel.QueryPerformanceCounter(System.Int64@)"/>1156<seealso cref="M:Tao.Platform.Windows.Kernel.QueryPerformanceFrequency(System.Int64@)"/>1157</member>1158<member name="M:Tao.Platform.Windows.Kernel.QueryPerformanceFrequency(System.Int64@)">1159<summary>1160The <b>QueryPerformanceFrequency</b> function retrieves the frequency of the1161high-resolution performance counter, if one exists. The frequency cannot change1162while the system is running.1163</summary>1164<param name="frequency">1165Pointer to a variable that receives the current performance-counter frequency, in1166counts per second. If the installed hardware does not support a high-resolution1167performance counter, this parameter can be zero.1168</param>1169<returns>1170<para>1171If the installed hardware supports a high-resolution performance counter, the1172return value is true.1173</para>1174<para>1175If the function fails, the return value is false. To get extended error1176information, call <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>. For example, if1177the installed hardware does not support a high-resolution performance counter,1178the function fails.1179</para>1180</returns>1181<remarks>1182<b>Note</b> The frequency of the high-resolution performance counter is not the1183processor speed.1184</remarks>1185<seealso cref="M:Tao.Platform.Windows.Kernel.QueryPerformanceCounter(System.Int64@)"/>1186</member>1187<member name="M:Tao.Platform.Windows.Kernel.SetDllDirectory(System.String)">1188<summary>1189The <b>SetDllDirectory</b> function modifies the search path used to locate DLLs1190for the application.1191</summary>1192<param name="pathName">1193Pointer to a null-terminated string that specifies the directories to be added to1194the search path, separated by semicolons. If this parameter is NULL, the default1195search path is used.1196</param>1197<returns>1198<para>1199If the function succeeds, the return value is true.1200</para>1201<para>1202If the function fails, the return value is false. To get extended error1203information, call <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>.1204</para>1205</returns>1206<remarks>1207<para>1208The <b>SetDllDirectory</b> function affects all subsequent calls to the1209<see cref="M:Tao.Platform.Windows.Kernel.LoadLibrary(System.String)"/> and <b>LoadLibraryEx</b> functions. After calling1210<b>SetDllDirectory</b>, the DLL search path is:1211</para>1212<para>1213<list type="number">1214<item>1215<description>1216The directory from which the application loaded.1217</description>1218</item>1219<item>1220<description>1221The directory specified by the <i>pathName</i> parameter.1222</description>1223</item>1224<item>1225<description>1226The system directory. Use the <see cref="M:Tao.Platform.Windows.Kernel.GetSystemDirectory(System.Text.StringBuilder,System.Int32)"/>1227function to get the path of this directory. The name of this1228directory is System32.1229</description>1230</item>1231<item>1232<description>1233The 16-bit system directory. There is no function that obtains1234the path of this directory, but it is searched. The name of this1235directory is System.1236</description>1237</item>1238<item>1239<description>1240The Windows directory. Use the <see cref="M:Tao.Platform.Windows.Kernel.GetWindowsDirectory(System.Text.StringBuilder,System.Int32)"/>1241function to get the path of this directory.1242</description>1243</item>1244<item>1245<description>1246The directories that are listed in the PATH environment variable.1247</description>1248</item>1249</list>1250</para>1251<para>1252To revert to the default search path used by <see cref="M:Tao.Platform.Windows.Kernel.LoadLibrary(System.String)"/> and1253<b>LoadLibraryEx</b>, call <b>SetDllDirectory</b> with NULL.1254</para>1255</remarks>1256<seealso cref="M:Tao.Platform.Windows.Kernel.GetDllDirectory(System.Int32,System.Text.StringBuilder)"/>1257<seealso cref="M:Tao.Platform.Windows.Kernel.GetSystemDirectory(System.Text.StringBuilder,System.Int32)"/>1258<seealso cref="M:Tao.Platform.Windows.Kernel.GetWindowsDirectory(System.Text.StringBuilder,System.Int32)"/>1259<seealso cref="M:Tao.Platform.Windows.Kernel.LoadLibrary(System.String)"/>1260</member>1261<member name="M:Tao.Platform.Windows.Kernel.SetProcessWorkingSetSize(System.IntPtr,System.Int32,System.Int32)">1262<summary>1263The <b>SetProcessWorkingSetSize</b> function sets the minimum and maximum working1264set sizes for the specified process.1265</summary>1266<param name="process">1267<para>1268Handle to the process whose working set sizes is to be set.1269</para>1270<para>1271The handle must have the PROCESS_SET_QUOTA access right.1272</para>1273</param>1274<param name="minimumWorkingSetSize">1275<para>1276Minimum working set size for the process, in bytes. The virtual memory1277manager attempts to keep at least this much memory resident in the1278process whenever the process is active.1279</para>1280<para>1281If both <i>minimumWorkingSetSize</i> and <i>maximumWorkingSetSize</i> have the1282value -1, the function temporarily trims the working set of the specified1283process to zero. This essentially swaps the process out of physical RAM1284memory.1285</para>1286</param>1287<param name="maximumWorkingSetSize">1288<para>1289Maximum working set size for the process, in bytes. The virtual memory1290manager attempts to keep no more than this much memory resident in the1291process whenever the process is active and memory is in short supply.1292</para>1293<para>1294If both <i>minimumWorkingSetSize</i> and <i>maximumWorkingSetSize</i> have the1295value -1, the function temporarily trims the working set of the specified1296process to zero. This essentially swaps the process out of physical RAM1297memory.1298</para>1299</param>1300<returns>1301<para>1302If the function succeeds, the return value is true.1303</para>1304<para>1305If the function fails, the return value is false. To get extended error1306information, call <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>.1307</para>1308</returns>1309<remarks>1310<para>1311The working set of a process is the set of memory pages currently visible to1312the process in physical RAM memory. These pages are resident and available1313for an application to use without triggering a page fault. The minimum and1314maximum working set sizes affect the virtual memory paging behavior of a1315process.1316</para>1317<para>1318The working set of the specified process can be emptied by specifying the1319value -1 for both the minimum and maximum working set sizes.1320</para>1321<para>1322If the values of either <i>minimumWorkingSetSize</i> or1323<i>maximumWorkingSetSize</i> are greater than the process' current working1324set sizes, the specified process must have the SE_INC_BASE_PRIORITY_NAME1325privilege. Users in the Administrators and Power Users groups generally1326have this privilege.1327</para>1328<para>1329The operating system allocates working set sizes on a first-come,1330first-served basis. For example, if an application successfully sets 401331megabytes as its minimum working set size on a 64-megabyte system, and a1332second application requests a 40-megabyte working set size, the operating1333system denies the second application's request.1334</para>1335<para>1336Using the <b>SetProcessWorkingSetSize</b> function to set an application's1337minimum and maximum working set sizes does not guarantee that the requested1338memory will be reserved, or that it will remain resident at all times. When1339the application is idle, or a low-memory situation causes a demand for memory,1340the operating system can reduce the application's working set. An application1341can use the <b>VirtualLock</b> function to lock ranges of the application's1342virtual address space in memory; however, that can potentially degrade the1343performance of the system.1344</para>1345<para>1346When you increase the working set size of an application, you are taking away1347physical memory from the rest of the system. This can degrade the performance1348of other applications and the system as a whole. It can also lead to failures1349of operations that require physical memory to be present; for example,1350creating processes, threads, and kernel pool. Thus, you must use the1351<b>SetProcessWorkingSetSize</b> function carefully. You must always consider1352the performance of the whole system when you are designing an application.1353</para>1354</remarks>1355<seealso cref="M:Tao.Platform.Windows.Kernel.GetProcessWorkingSetSize(System.IntPtr,System.Int32@,System.Int32@)"/>1356</member>1357<member name="T:Tao.Platform.Windows.Kernel.MEMORYSTATUS">1358<summary>1359<para>1360The <b>MEMORYSTATUS</b> structure contains information about the current state1361of both physical and virtual memory.1362</para>1363<para>1364The <see cref="M:Tao.Platform.Windows.Kernel.GlobalMemoryStatus(Tao.Platform.Windows.Kernel.MEMORYSTATUS@)"/> function stores information in a1365<b>MEMORYSTATUS</b> structure.1366</para>1367</summary>1368<remarks>1369<para>1370<b>MEMORYSTATUS</b> reflects the state of memory at the time of the call. It1371reflects the size of the paging file at that time. The operating system can1372enlarge the paging file up to the maximum size set by the administrator.1373</para>1374<para>1375On computers with more than 4 GB of memory, the <b>MEMORYSTATUS</b> structure1376can return incorrect information. Windows reports a value of -1 to indicate1377an overflow, while Windows NT reports a value that is the real amount of1378memory, modulo 4 GB. If your application is at risk for this behavior, use1379the <b>GlobalMemoryStatusEx</b> function instead of the1380<see cref="M:Tao.Platform.Windows.Kernel.GlobalMemoryStatus(Tao.Platform.Windows.Kernel.MEMORYSTATUS@)"/> function.1381</para>1382</remarks>1383<seealso cref="M:Tao.Platform.Windows.Kernel.GlobalMemoryStatus(Tao.Platform.Windows.Kernel.MEMORYSTATUS@)"/>1384</member>1385<member name="F:Tao.Platform.Windows.Kernel.MEMORYSTATUS.Length">1386<summary>1387Size of the <b>MEMORYSTATUS</b> data structure, in bytes. You do not need to1388set this member before calling the <see cref="M:Tao.Platform.Windows.Kernel.GlobalMemoryStatus(Tao.Platform.Windows.Kernel.MEMORYSTATUS@)"/> function;1389the function sets it.1390</summary>1391</member>1392<member name="F:Tao.Platform.Windows.Kernel.MEMORYSTATUS.MemoryLoad">1393<summary>1394<para>1395Approximate percentage of total physical memory that is in use.1396</para>1397<para>1398<b>Windows NT:</b> Percentage of approximately the last 1000 pages of1399physical memory that is in use.1400</para>1401</summary>1402</member>1403<member name="F:Tao.Platform.Windows.Kernel.MEMORYSTATUS.TotalPhys">1404<summary>1405Total size of physical memory, in bytes.1406</summary>1407</member>1408<member name="F:Tao.Platform.Windows.Kernel.MEMORYSTATUS.AvailPhys">1409<summary>1410Size of physical memory available, in bytes.1411</summary>1412</member>1413<member name="F:Tao.Platform.Windows.Kernel.MEMORYSTATUS.TotalPageFile">1414<summary>1415Size of the committed memory limit, in bytes.1416</summary>1417</member>1418<member name="F:Tao.Platform.Windows.Kernel.MEMORYSTATUS.AvailPageFile">1419<summary>1420Size of available memory to commit, in bytes.1421</summary>1422</member>1423<member name="F:Tao.Platform.Windows.Kernel.MEMORYSTATUS.TotalVirtual">1424<summary>1425Total size of the user mode portion of the virtual address space of the1426calling process, in bytes.1427</summary>1428</member>1429<member name="F:Tao.Platform.Windows.Kernel.MEMORYSTATUS.AvailVirtual">1430<summary>1431Size of unreserved and uncommitted memory in the user mode portion of the1432virtual address space of the calling process, in bytes.1433</summary>1434</member>1435<member name="T:Tao.Platform.Windows.Kernel.SYSTEM_INFO">1436<summary>1437The <b>SYSTEM_INFO</b> structure contains information about the current computer1438system. This includes the architecture and type of the processor, the number of1439processors in the system, the page size, and other such information.1440</summary>1441<seealso cref="M:Tao.Platform.Windows.Kernel.GetSystemInfo(Tao.Platform.Windows.Kernel.SYSTEM_INFO@)"/>1442<seealso cref="T:Tao.Platform.Windows.Kernel.SYSTEM_INFO_UNION"/>1443</member>1444<member name="F:Tao.Platform.Windows.Kernel.SYSTEM_INFO.SystemInfoUnion">1445<summary>1446Union for the OemId, ProcessorArchitecture, and Reserved fields of the1447SYSTEM_INFO structure. See <see cref="T:Tao.Platform.Windows.Kernel.SYSTEM_INFO_UNION"/>.1448</summary>1449</member>1450<member name="F:Tao.Platform.Windows.Kernel.SYSTEM_INFO.PageSize">1451<summary>1452Page size and the granularity of page protection and commitment. This is the1453page size used by the <b>VirtualAlloc</b> function.1454</summary>1455</member>1456<member name="F:Tao.Platform.Windows.Kernel.SYSTEM_INFO.MinimumApplicationAddress">1457<summary>1458Pointer to the lowest memory address accessible to applications and1459dynamic-link libraries (DLLs).1460</summary>1461</member>1462<member name="F:Tao.Platform.Windows.Kernel.SYSTEM_INFO.MaximumApplicationAddress">1463<summary>1464Pointer to the highest memory address accessible to applications and DLLs.1465</summary>1466</member>1467<member name="F:Tao.Platform.Windows.Kernel.SYSTEM_INFO.ActiveProcessorMask">1468<summary>1469Mask representing the set of processors configured into the system. Bit 0 is1470processor 0; bit 31 is processor 31.1471</summary>1472</member>1473<member name="F:Tao.Platform.Windows.Kernel.SYSTEM_INFO.NumberOfProcessors">1474<summary>1475Number of processors in the system.1476</summary>1477</member>1478<member name="F:Tao.Platform.Windows.Kernel.SYSTEM_INFO.ProcessorType">1479<summary>1480<para>1481An obsolete member that is retained for compatibility with Windows NT 3.51482and earlier. Use the <i>SystemInfoUnion.ProcessorArchitecture</i>,1483<i>ProcessorLevel</i>, and <i>ProcessorRevision</i> members to determine1484the type of processor.1485</para>1486<para>1487<b>Windows Me/98/95:</b> Specifies the type of processor in the system.1488This member is one of the following values:1489</para>1490<para>1491<see cref="F:Tao.Platform.Windows.WinNt.PROCESSOR_INTEL_386"/>1492</para>1493<para>1494<see cref="F:Tao.Platform.Windows.WinNt.PROCESSOR_INTEL_486"/>1495</para>1496<para>1497<see cref="F:Tao.Platform.Windows.WinNt.PROCESSOR_INTEL_PENTIUM"/>1498</para>1499</summary>1500</member>1501<member name="F:Tao.Platform.Windows.Kernel.SYSTEM_INFO.AllocationGranularity">1502<summary>1503Granularity with which virtual memory is allocated. For example, a1504<b>VirtualAlloc</b> request to allocate 1 byte will reserve an address space1505of <i>AllocationGranularity</i> bytes. This value was hard coded as 64K in1506the past, but other hardware architectures may require different values.1507</summary>1508</member>1509<member name="F:Tao.Platform.Windows.Kernel.SYSTEM_INFO.ProcessorLevel">1510<summary>1511<para>1512System's architecture-dependent processor level. It should be used only1513for display purposes. To determine the feature set of a processor, use1514the <see cref="M:Tao.Platform.Windows.Kernel.IsProcessorFeaturePresent(System.Int32)"/> function.1515</para>1516<para>1517If <i>SystemInfoUnion.ProcessorArchitecture</i> is1518<see cref="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_INTEL"/>, <i>ProcessorLevel</i>1519is defined by the CPU vendor.1520</para>1521<para>1522If <i>SystemInfoUnion.ProcessorArchitecture</i> is1523<see cref="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_IA64"/>, <i>ProcessorLevel</i> is1524set to 1.1525</para>1526<para>1527If <i>SystemInfoUnion.ProcessorArchitecture</i> is1528<see cref="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_MIPS"/>, <i>ProcessorLevel</i> is1529of the form 00xx, where xx is an 8-bit implementation number (bits 8-15 of1530the PRId register). The member can be the following value:1531</para>1532<para>1533<list type="table">1534<listheader>1535<term>Value</term>1536<description>Description</description>1537</listheader>1538<item>1539<term>0004</term>1540<description>MIPS R4000</description>1541</item>1542</list>1543</para>1544<para>1545If <i>SystemInfoUnion.ProcessorArchitecture</i> is1546<see cref="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_ALPHA"/>, <i>ProcessorLevel</i>1547is of the form xxxx, where xxxx is a 16-bit processor version number (the1548low-order 16 bits of a version number from the firmware). The member can1549be one of the following values:1550</para>1551<para>1552<list type="table">1553<listheader>1554<term>Value</term>1555<description>Description</description>1556</listheader>1557<item>1558<term>21064</term>1559<description>Alpha 21064</description>1560</item>1561<item>1562<term>21066</term>1563<description>Alpha 21066</description>1564</item>1565<item>1566<term>21164</term>1567<description>Alpha 21164</description>1568</item>1569</list>1570</para>1571<para>1572If <i>SystemInfoUnion.ProcessorArchitecture</i> is1573<see cref="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_PPC"/>, <i>ProcessorLevel</i> is1574of the form xxxx, where xxxx is a 16-bit processor version number (the1575high-order 16 bits of the Processor Version Register). The member can be1576one of the following values:1577</para>1578<para>1579<list type="table">1580<listheader>1581<term>Value</term>1582<description>Description</description>1583</listheader>1584<item>1585<term>1</term>1586<description>PPC 601</description>1587</item>1588<item>1589<term>3</term>1590<description>PPC 603</description>1591</item>1592<item>1593<term>4</term>1594<description>PPC 604</description>1595</item>1596<item>1597<term>6</term>1598<description>PPC 603+</description>1599</item>1600<item>1601<term>9</term>1602<description>PPC 604+</description>1603</item>1604<item>1605<term>20</term>1606<description>PPC 620</description>1607</item>1608</list>1609</para>1610</summary>1611</member>1612<member name="F:Tao.Platform.Windows.Kernel.SYSTEM_INFO.ProcessorRevision">1613<summary>1614<para>1615Architecture-dependent processor revision. The following table shows how1616the revision value is assembled for each type of processor architecture:1617</para>1618<para>1619<list type="table">1620<listheader>1621<term>Processor</term>1622<description>Description</description>1623</listheader>1624<item>1625<term>Intel 80386 or 80486</term>1626<description>1627<para>1628A value of the form xxyz.1629</para>1630<para>1631If xx is equal to 0xFF, y - 0xA is the model number, and1632z is the stepping identifier. For example, an Intel163380486-D0 system returns 0xFFD0.1634</para>1635<para>1636If xx is not equal to 0xFF, xx + 'A' is the stepping1637letter and yz is the minor stepping.1638</para>1639</description>1640</item>1641<item>1642<term>Intel Pentium, Cyrix, or NextGen 586</term>1643<description>1644<para>1645A value of the form xxyy, where xx is the model number and1646yy is the stepping. Display this value of 0x0201 as1647follows:1648</para>1649<para>1650Model xx, Stepping yy.1651</para>1652</description>1653</item>1654<item>1655<term>MIPS</term>1656<description>1657A value of the form 00xx, where xx is the 8-bit revision1658number of the processor (the low-order 8 bits of the1659PRId register).1660</description>1661</item>1662<item>1663<term>ALPHA</term>1664<description>1665<para>1666A value of the form xxyy, where xxyy is the low-order 161667bits of the processor revision number from the firmware.1668Display this value as follows:1669</para>1670<para>1671Model A+xx, Pass yy.1672</para>1673</description>1674</item>1675<item>1676<term>PPC</term>1677<description>1678<para>1679A value of the form xxyy, where xxyy is the low-order 161680bits of the processor version register. Display this1681value as follows:1682</para>1683<para>1684xx.yy.1685</para>1686</description>1687</item>1688</list>1689</para>1690</summary>1691</member>1692<member name="T:Tao.Platform.Windows.Kernel.SYSTEM_INFO_UNION">1693<summary>1694Union for the OemId, ProcessorArchitecture, and Reserved fields of the1695<see cref="T:Tao.Platform.Windows.Kernel.SYSTEM_INFO"/> structure.1696</summary>1697<seealso cref="T:Tao.Platform.Windows.Kernel.SYSTEM_INFO"/>1698</member>1699<member name="F:Tao.Platform.Windows.Kernel.SYSTEM_INFO_UNION.OemId">1700<summary>1701<para>1702An obsolete member that is retained for compatibility with Windows NT 3.51703and earlier. New applications should use the <i>ProcessorArchitecture</i>1704branch of the union.1705</para>1706<para>1707<b>Windows Me/98/95:</b> The system always sets this member to zero, the1708value defined for <see cref="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_INTEL"/>.1709</para>1710</summary>1711</member>1712<member name="F:Tao.Platform.Windows.Kernel.SYSTEM_INFO_UNION.ProcessorArchitecture">1713<summary>1714<para>1715System's processor architecture. This value can be one of the following1716values:1717</para>1718<para>1719<see cref="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_UNKNOWN"/>1720</para>1721<para>1722<see cref="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_INTEL"/>1723</para>1724<para>1725<b>Windows NT 3.51:</b> <see cref="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_MIPS"/>1726</para>1727<para>1728<b>Windows NT 4.0 and earlier:</b>1729<see cref="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_ALPHA"/>1730</para>1731<para>1732<b>Windows NT 4.0 and earlier:</b>1733<see cref="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_PPC"/>1734</para>1735<para>1736<b>64-bit Windows:</b> <see cref="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_IA64"/>,1737<see cref="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_IA32_ON_WIN64"/>,1738<see cref="F:Tao.Platform.Windows.WinNt.PROCESSOR_ARCHITECTURE_AMD64"/>1739</para>1740</summary>1741</member>1742<member name="F:Tao.Platform.Windows.Kernel.SYSTEM_INFO_UNION.Reserved">1743<summary>1744Reserved for future use.1745</summary>1746</member>1747<member name="T:Tao.Platform.Windows.IlasmAttribute">1748<summary>1749Injects supplied MSIL into the method's body.1750</summary>1751<remarks>1752This is a hack as the C# compiler does not allow inline MSIL. This is extracted and1753the appropriate MSIL injected by the PostProcessTao utility.1754</remarks>1755</member>1756<member name="M:Tao.Platform.Windows.IlasmAttribute.#ctor(System.String)">1757<summary>1758Injects the supplied MSIL into the tagged method's body.1759</summary>1760<param name="msil">1761The MSIL to inject.1762</param>1763</member>1764<member name="M:Tao.Platform.Windows.Wgl.GetDelegate(System.String,System.Type)">1765<summary>1766Creates a System.Delegate that can be used to call an OpenGL function, core or extension.1767</summary>1768<param name="name">The name of the OpenGL function (eg. "glNewList")</param>1769<param name="signature">The signature of the OpenGL function.</param>1770<returns>1771A System.Delegate that can be used to call this OpenGL function, or null if the specified1772function name did not correspond to an OpenGL function.1773</returns>1774</member>1775<member name="M:Tao.Platform.Windows.Wgl.ReloadFunctions">1776<summary>1777Loads all OpenGL functions (core and extensions).1778</summary>1779<remarks>1780<para>1781This function will be automatically called the first time you use any opengl function. There is1782</para>1783<para>1784Call this function manually whenever you need to update OpenGL entry points.1785This need may arise if you change the pixelformat/visual, or in case you cannot1786(or do not want) to use the automatic initialization of the GL class.1787</para>1788</remarks>1789</member>1790<member name="M:Tao.Platform.Windows.Wgl.Load(System.String)">1791<summary>1792Tries to reload the given OpenGL function (core or extension).1793</summary>1794<param name="function">The name of the OpenGL function (i.e. glShaderSource)</param>1795<returns>True if the function was found and reloaded, false otherwise.</returns>1796<remarks>1797<para>1798Use this function if you require greater granularity when loading OpenGL entry points.1799</para>1800<para>1801While the automatic initialisation will load all OpenGL entry points, in some cases1802the initialisation can take place before an OpenGL Context has been established.1803In this case, use this function to load the entry points for the OpenGL functions1804you will need, or use ReloadFunctions() to load all available entry points.1805</para>1806<para>1807This function returns true if the given OpenGL function is supported, false otherwise.1808</para>1809<para>1810To query for supported extensions use the IsExtensionSupported() function instead.1811</para>1812</remarks>1813</member>1814<member name="M:Tao.Platform.Windows.Wgl.GetExtensionDelegate(System.String,System.Type)">1815<summary>1816Creates a System.Delegate that can be used to call a dynamically exported OpenGL function.1817</summary>1818<param name="name">The name of the OpenGL function (eg. "glNewList")</param>1819<param name="signature">The signature of the OpenGL function.</param>1820<returns>1821A System.Delegate that can be used to call this OpenGL function or null1822if the function is not available in the current OpenGL context.1823</returns>1824</member>1825<member name="M:Tao.Platform.Windows.Wgl.IsExtensionSupported(System.String)">1826<summary>1827Determines whether the specified OpenGL extension category is available in1828the current OpenGL context. Equivalent to IsExtensionSupported(name, true)1829</summary>1830<param name="name">The string for the OpenGL extension category (eg. "GL_ARB_multitexture")</param>1831<returns>True if the specified extension is available, false otherwise.</returns>1832</member>1833<member name="T:Tao.Platform.Windows.Wgl.Imports">1834<summary>1835Contains DllImports for the core OpenGL functions.1836</summary>1837</member>1838<member name="F:Tao.Platform.Windows.Wgl.Imports.FunctionMap">1839<summary>1840Build a string->MethodInfo map to speed up extension loading.1841</summary>1842</member>1843<member name="T:Tao.Platform.Windows.Winmm">1844<summary>1845Windows Multimedia binding for .NET, implementing Windows-specific multimedia1846functionality.1847</summary>1848<remarks>1849Binds functions and definitions in winmm.dll.1850</remarks>1851</member>1852<member name="F:Tao.Platform.Windows.Winmm.WINMM_NATIVE_LIBRARY">1853<summary>1854Specifies Winmm's native library archive.1855</summary>1856<remarks>1857Specifies winmm.dll for Windows.1858</remarks>1859</member>1860<member name="F:Tao.Platform.Windows.Winmm.CALLING_CONVENTION">1861<summary>1862Specifies the calling convention.1863</summary>1864<remarks>1865Specifies <see cref="F:System.Runtime.InteropServices.CallingConvention.StdCall"/>.1866</remarks>1867</member>1868<member name="F:Tao.Platform.Windows.Winmm.SND_SYNC">1869<summary>1870Synchronous playback of a sound event. <b>PlaySound</b> returns after the sound1871event completes.1872</summary>1873</member>1874<member name="F:Tao.Platform.Windows.Winmm.SND_ASYNC">1875<summary>1876The sound is played asynchronously and <b>PlaySound</b> returns immediately after1877beginning the sound. To terminate an asynchronously played waveform sound, call1878<b>PlaySound</b> with <i>sound</i> set to NULL.1879</summary>1880</member>1881<member name="F:Tao.Platform.Windows.Winmm.SND_NODEFAULT">1882<summary>1883No default sound event is used. If the sound cannot be found, <b>PlaySound</b>1884returns silently without playing the default sound.1885</summary>1886</member>1887<member name="F:Tao.Platform.Windows.Winmm.SND_MEMORY">1888<summary>1889A sound event's file is loaded in RAM. The parameter specified by <i>sound</i>1890must point to an image of a sound in memory.1891</summary>1892</member>1893<member name="F:Tao.Platform.Windows.Winmm.SND_LOOP">1894<summary>1895The sound plays repeatedly until <b>PlaySound</b> is called again with the1896<i>sound</i> parameter set to NULL. You must also specify the1897<see cref="F:Tao.Platform.Windows.Winmm.SND_ASYNC"/> flag to indicate an asynchronous sound event.1898</summary>1899</member>1900<member name="F:Tao.Platform.Windows.Winmm.SND_NOSTOP">1901<summary>1902<para>1903The specified sound event will yield to another sound event that is already1904playing. If a sound cannot be played because the resource needed to1905generate that sound is busy playing another sound, the function immediately1906returns FALSE without playing the requested sound.1907</para>1908<para>1909If this flag is not specified, <b>PlaySound</b> attempts to stop the currently1910playing sound so that the device can be used to play the new sound.1911</para>1912</summary>1913</member>1914<member name="F:Tao.Platform.Windows.Winmm.SND_NOWAIT">1915<summary>1916If the driver is busy, return immediately without playing the sound.1917</summary>1918</member>1919<member name="F:Tao.Platform.Windows.Winmm.SND_ALIAS">1920<summary>1921The <i>sound</i> parameter is a system-event alias in the registry or the WIN.INI1922file. Do not use with either <see cref="F:Tao.Platform.Windows.Winmm.SND_FILENAME"/> or1923<see cref="F:Tao.Platform.Windows.Winmm.SND_RESOURCE"/>.1924</summary>1925</member>1926<member name="F:Tao.Platform.Windows.Winmm.SND_ALIAS_ID">1927<summary>1928The <i>sound</i> parameter is a predefined sound identifier.1929</summary>1930</member>1931<member name="F:Tao.Platform.Windows.Winmm.SND_FILENAME">1932<summary>1933The <i>sound</i> parameter is a filename.1934</summary>1935</member>1936<member name="F:Tao.Platform.Windows.Winmm.SND_RESOURCE">1937<summary>1938The <i>sound</i> parameter is a resource identifier; <i>mod</i> must identify the1939instance that contains the resource.1940</summary>1941</member>1942<member name="F:Tao.Platform.Windows.Winmm.SND_PURGE">1943<summary>1944<para>1945Sounds are to be stopped for the calling task. If <i>sound</i> is not1946NULL, all instances of the specified sound are stopped. If <i>sound</i> is1947NULL, all sounds that are playing on behalf of the calling task are stopped.1948</para>1949<para>1950You must also specify the instance handle to stop <see cref="F:Tao.Platform.Windows.Winmm.SND_RESOURCE"/>1951events.1952</para>1953</summary>1954</member>1955<member name="F:Tao.Platform.Windows.Winmm.SND_APPLICATION">1956<summary>1957The sound is played using an application-specific association.1958</summary>1959</member>1960<member name="F:Tao.Platform.Windows.Winmm.TIMERR_BASE">1961<summary>1962Timer base identifier.1963</summary>1964</member>1965<member name="F:Tao.Platform.Windows.Winmm.TIMERR_NOERROR">1966<summary>1967Successful.1968</summary>1969</member>1970<member name="F:Tao.Platform.Windows.Winmm.TIMERR_NOCANDO">1971<summary>1972Resolution specified is out of range.1973</summary>1974</member>1975<member name="F:Tao.Platform.Windows.Winmm.JOY_BUTTON1">1976<summary>1977First joystick button is pressed.1978</summary>1979</member>1980<member name="F:Tao.Platform.Windows.Winmm.JOY_BUTTON2">1981<summary>1982Second joystick button is pressed.1983</summary>1984</member>1985<member name="F:Tao.Platform.Windows.Winmm.JOY_BUTTON3">1986<summary>1987Third joystick button is pressed.1988</summary>1989</member>1990<member name="F:Tao.Platform.Windows.Winmm.JOY_BUTTON4">1991<summary>1992Four joystick button is pressed.1993</summary>1994</member>1995<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS_HASZ">1996<summary>1997Joystick has z-coordinate information.1998</summary>1999</member>2000<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS_HASR">2001<summary>2002Joystick has rudder (fourth axis) information.2003</summary>2004</member>2005<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS_HASU">2006<summary>2007Joystick has u-coordinate (fifth axis) information.2008</summary>2009</member>2010<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS_HASV">2011<summary>2012Joystick has v-coordinate (sixth axis) information.2013</summary>2014</member>2015<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS_HASPOV">2016<summary>2017Joystick has point-of-view information.2018</summary>2019</member>2020<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS_POV4DIR">2021<summary>2022Joystick point-of-view supports discrete values (centered, forward, backward, left, and right).2023</summary>2024</member>2025<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS_POVCTS">2026<summary>2027Joystick point-of-view supports continuous degree bearings.2028</summary>2029</member>2030<member name="F:Tao.Platform.Windows.Winmm.JOY_RETURNX">2031<summary></summary>2032</member>2033<member name="F:Tao.Platform.Windows.Winmm.JOY_RETURNY">2034<summary></summary>2035</member>2036<member name="F:Tao.Platform.Windows.Winmm.JOY_RETURNZ">2037<summary></summary>2038</member>2039<member name="F:Tao.Platform.Windows.Winmm.JOY_RETURNR">2040<summary></summary>2041</member>2042<member name="F:Tao.Platform.Windows.Winmm.JOY_RETURNU">2043<summary></summary>2044</member>2045<member name="F:Tao.Platform.Windows.Winmm.JOY_RETURNV">2046<summary></summary>2047</member>2048<member name="F:Tao.Platform.Windows.Winmm.JOY_RETURNPOV">2049<summary></summary>2050</member>2051<member name="F:Tao.Platform.Windows.Winmm.JOY_RETURNBUTTONS">2052<summary></summary>2053</member>2054<member name="F:Tao.Platform.Windows.Winmm.JOY_RETURNRAWDATA">2055<summary></summary>2056</member>2057<member name="F:Tao.Platform.Windows.Winmm.JOY_RETURNPOVCTS">2058<summary></summary>2059</member>2060<member name="F:Tao.Platform.Windows.Winmm.JOY_RETURNCENTERED">2061<summary></summary>2062</member>2063<member name="F:Tao.Platform.Windows.Winmm.JOY_USEDEADZONE">2064<summary></summary>2065</member>2066<member name="F:Tao.Platform.Windows.Winmm.JOY_RETURNALL">2067<summary></summary>2068</member>2069<member name="F:Tao.Platform.Windows.Winmm.JOY_CAL_READALWAYS">2070<summary></summary>2071</member>2072<member name="F:Tao.Platform.Windows.Winmm.JOY_CAL_READXYONLY">2073<summary></summary>2074</member>2075<member name="F:Tao.Platform.Windows.Winmm.JOY_CAL_READ3">2076<summary></summary>2077</member>2078<member name="F:Tao.Platform.Windows.Winmm.JOY_CAL_READ4">2079<summary></summary>2080</member>2081<member name="F:Tao.Platform.Windows.Winmm.JOY_CAL_READXONLY">2082<summary></summary>2083</member>2084<member name="F:Tao.Platform.Windows.Winmm.JOY_CAL_READYONLY">2085<summary></summary>2086</member>2087<member name="F:Tao.Platform.Windows.Winmm.JOY_CAL_READ5">2088<summary></summary>2089</member>2090<member name="F:Tao.Platform.Windows.Winmm.JOY_CAL_READ6">2091<summary></summary>2092</member>2093<member name="F:Tao.Platform.Windows.Winmm.JOY_CAL_READZONLY">2094<summary></summary>2095</member>2096<member name="F:Tao.Platform.Windows.Winmm.JOY_CAL_READRONLY">2097<summary></summary>2098</member>2099<member name="F:Tao.Platform.Windows.Winmm.JOY_CAL_READUONLY">2100<summary></summary>2101</member>2102<member name="F:Tao.Platform.Windows.Winmm.JOY_CAL_READVONLY">2103<summary></summary>2104</member>2105<member name="F:Tao.Platform.Windows.Winmm.JOY_POVCENTERED">2106<summary></summary>2107</member>2108<member name="F:Tao.Platform.Windows.Winmm.JOY_POVFORWARD">2109<summary></summary>2110</member>2111<member name="F:Tao.Platform.Windows.Winmm.JOY_POVRIGHT">2112<summary></summary>2113</member>2114<member name="F:Tao.Platform.Windows.Winmm.JOY_POVBACKWARD">2115<summary></summary>2116</member>2117<member name="F:Tao.Platform.Windows.Winmm.JOY_POVLEFT">2118<summary></summary>2119</member>2120<member name="F:Tao.Platform.Windows.Winmm.MMSYSERR_BASE">2121<summary></summary>2122</member>2123<member name="F:Tao.Platform.Windows.Winmm.MMSYSERR_NOERROR">2124<summary></summary>2125</member>2126<member name="F:Tao.Platform.Windows.Winmm.MMSYSERR_ERROR">2127<summary></summary>2128</member>2129<member name="F:Tao.Platform.Windows.Winmm.MMSYSERR_BADDEVICEID">2130<summary></summary>2131</member>2132<member name="F:Tao.Platform.Windows.Winmm.MMSYSERR_NOTENABLED">2133<summary></summary>2134</member>2135<member name="F:Tao.Platform.Windows.Winmm.MMSYSERR_ALLOCATED">2136<summary></summary>2137</member>2138<member name="F:Tao.Platform.Windows.Winmm.MMSYSERR_INVALHANDLE">2139<summary></summary>2140</member>2141<member name="F:Tao.Platform.Windows.Winmm.MMSYSERR_NODRIVER">2142<summary></summary>2143</member>2144<member name="F:Tao.Platform.Windows.Winmm.MMSYSERR_NOMEM">2145<summary></summary>2146</member>2147<member name="F:Tao.Platform.Windows.Winmm.MMSYSERR_NOTSUPPORTED">2148<summary></summary>2149</member>2150<member name="F:Tao.Platform.Windows.Winmm.MMSYSERR_BADERRNUM">2151<summary></summary>2152</member>2153<member name="F:Tao.Platform.Windows.Winmm.MMSYSERR_INVALFLAG">2154<summary></summary>2155</member>2156<member name="F:Tao.Platform.Windows.Winmm.MMSYSERR_INVALPARAM">2157<summary></summary>2158</member>2159<member name="F:Tao.Platform.Windows.Winmm.MMSYSERR_LASTERROR">2160<summary></summary>2161</member>2162<member name="F:Tao.Platform.Windows.Winmm.JOYERR_NOERROR">2163<summary></summary>2164</member>2165<member name="F:Tao.Platform.Windows.Winmm.JOYERR_PARMS">2166<summary></summary>2167</member>2168<member name="F:Tao.Platform.Windows.Winmm.JOYERR_NOCANDO">2169<summary></summary>2170</member>2171<member name="F:Tao.Platform.Windows.Winmm.JOYERR_UNPLUGGED">2172<summary></summary>2173</member>2174<member name="F:Tao.Platform.Windows.Winmm.JOYSTICKID1">2175<summary></summary>2176</member>2177<member name="F:Tao.Platform.Windows.Winmm.JOYSTICKID2">2178<summary></summary>2179</member>2180<member name="F:Tao.Platform.Windows.Winmm.MM_JOY1MOVE">2181<summary></summary>2182</member>2183<member name="F:Tao.Platform.Windows.Winmm.MM_JOY2MOVE">2184<summary></summary>2185</member>2186<member name="F:Tao.Platform.Windows.Winmm.MM_JOY1ZMOVE">2187<summary></summary>2188</member>2189<member name="F:Tao.Platform.Windows.Winmm.MM_JOY2ZMOVE">2190<summary></summary>2191</member>2192<member name="M:Tao.Platform.Windows.Winmm.PlaySound(System.String,System.IntPtr,System.Int32)">2193<summary>2194The <b>PlaySound</b> function plays a sound specified by the given filename,2195resource, or system event. (A system event may be associated with a sound in the2196registry or in the WIN.INI file.)2197</summary>2198<param name="sound">2199<para>2200A string that specifies the sound to play. If this parameter is NULL, any2201currently playing waveform sound is stopped. To stop a non-waveform sound,2202specify <see cref="F:Tao.Platform.Windows.Winmm.SND_PURGE"/> in the <i>soundFlags</i> parameter.2203</para>2204<para>2205Three flags in <i>soundFlags</i> (<see cref="F:Tao.Platform.Windows.Winmm.SND_ALIAS"/>,2206<see cref="F:Tao.Platform.Windows.Winmm.SND_FILENAME"/>, and <see cref="F:Tao.Platform.Windows.Winmm.SND_RESOURCE"/>) determine2207whether the name is interpreted as an alias for a system event, a filename, or2208a resource identifier. If none of these flags are specified, <b>PlaySound</b>2209searches the registry or the WIN.INI file for an association with the2210specified sound name. If an association is found, the sound event is played.2211If no association is found in the registry, the name is interpreted as a2212filename.2213</para>2214</param>2215<param name="mod">2216Handle to the executable file that contains the resource to be loaded. This2217parameter must be NULL unless <see cref="F:Tao.Platform.Windows.Winmm.SND_RESOURCE"/> is specified in2218<i>soundFlags</i>.2219</param>2220<param name="soundFlags">2221<para>2222Flags for playing the sound. The following values are defined:2223</para>2224<para>2225<list type="table">2226<listheader>2227<term>Value</term>2228<description>Description</description>2229</listheader>2230<item>2231<term><see cref="F:Tao.Platform.Windows.Winmm.SND_APPLICATION"/></term>2232<description>2233The sound is played using an application-specific association.2234</description>2235</item>2236<item>2237<term><see cref="F:Tao.Platform.Windows.Winmm.SND_ALIAS"/></term>2238<description>2239The <i>sound</i> parameter is a system-event alias in the registry2240or the WIN.INI file. Do not use with either2241<see cref="F:Tao.Platform.Windows.Winmm.SND_FILENAME"/> or <see cref="F:Tao.Platform.Windows.Winmm.SND_RESOURCE"/>.2242</description>2243</item>2244<item>2245<term><see cref="F:Tao.Platform.Windows.Winmm.SND_ALIAS_ID"/></term>2246<description>2247The <i>sound</i> parameter is a predefined sound identifier.2248</description>2249</item>2250<item>2251<term><see cref="F:Tao.Platform.Windows.Winmm.SND_ASYNC"/></term>2252<description>2253The sound is played asynchronously and <b>PlaySound</b> returns2254immediately after beginning the sound. To terminate an2255asynchronously played waveform sound, call <b>PlaySound</b> with2256<i>sound</i> set to NULL.2257</description>2258</item>2259<item>2260<term><see cref="F:Tao.Platform.Windows.Winmm.SND_FILENAME"/></term>2261<description>2262The <i>sound</i> parameter is a filename.2263</description>2264</item>2265<item>2266<term><see cref="F:Tao.Platform.Windows.Winmm.SND_LOOP"/></term>2267<description>2268The sound plays repeatedly until <b>PlaySound</b> is called again2269with the <i>sound</i> parameter set to NULL. You must also2270specify the <see cref="F:Tao.Platform.Windows.Winmm.SND_ASYNC"/> flag to indicate an2271asynchronous sound event.2272</description>2273</item>2274<item>2275<term><see cref="F:Tao.Platform.Windows.Winmm.SND_MEMORY"/></term>2276<description>2277A sound event's file is loaded in RAM. The parameter specified by2278<i>sound</i> must point to an image of a sound in memory.2279</description>2280</item>2281<item>2282<term><see cref="F:Tao.Platform.Windows.Winmm.SND_NODEFAULT"/></term>2283<description>2284No default sound event is used. If the sound cannot be found,2285<b>PlaySound</b> returns silently without playing the default2286sound.2287</description>2288</item>2289<item>2290<term><see cref="F:Tao.Platform.Windows.Winmm.SND_NOSTOP"/></term>2291<description>2292<para>2293The specified sound event will yield to another sound event2294that is already playing. If a sound cannot be played because2295the resource needed to generate that sound is busy playing2296another sound, the function immediately returns FALSE without2297playing the requested sound.2298</para>2299<para>2300If this flag is not specified, <b>PlaySound</b> attempts to2301stop the currently playing sound so that the device can be2302used to play the new sound.2303</para>2304</description>2305</item>2306<item>2307<term><see cref="F:Tao.Platform.Windows.Winmm.SND_NOWAIT"/></term>2308<description>2309If the driver is busy, return immediately without playing the2310sound.2311</description>2312</item>2313<item>2314<term><see cref="F:Tao.Platform.Windows.Winmm.SND_PURGE"/></term>2315<description>2316<para>2317Sounds are to be stopped for the calling task. If2318<i>sound</i> is not NULL, all instances of the specified sound2319are stopped. If <i>sound</i> is NULL, all sounds that are2320playing on behalf of the calling task are stopped.2321</para>2322<para>2323You must also specify the instance handle to stop2324<see cref="F:Tao.Platform.Windows.Winmm.SND_RESOURCE"/> events.2325</para>2326</description>2327</item>2328<item>2329<term><see cref="F:Tao.Platform.Windows.Winmm.SND_RESOURCE"/></term>2330<description>2331The <i>sound</i> parameter is a resource identifier; <i>mod</i>2332must identify the instance that contains the resource.2333</description>2334</item>2335<item>2336<term><see cref="F:Tao.Platform.Windows.Winmm.SND_SYNC"/></term>2337<description>2338Synchronous playback of a sound event. <b>PlaySound</b> returns2339after the sound event completes.2340</description>2341</item>2342</list>2343</para>2344</param>2345<returns>2346Returns TRUE if successful or FALSE otherwise.2347</returns>2348<remarks>2349<para>2350The sound specified by <i>sound</i> must fit into available physical memory2351and be playable by an installed waveform-audio device driver.2352<b>PlaySound</b> searches the following directories for sound files: the2353current directory; the Windows directory; the Windows system directory;2354directories listed in the PATH environment variable; and the list of2355directories mapped in a network. For more information about the directory2356search order, see the documentation for the <b>OpenFile</b> function.2357</para>2358<para>2359If it cannot find the specified sound, <b>PlaySound</b> uses the default2360system event sound entry instead. If the function can find neither the2361system default entry nor the default sound, it makes no sound and returns2362FALSE.2363</para>2364</remarks>2365</member>2366<member name="M:Tao.Platform.Windows.Winmm.timeBeginPeriod(System.Int32)">2367<summary>2368The <b>timeBeginPeriod</b> function sets the minimum timer resolution for an2369application or device driver.2370</summary>2371<param name="period">2372Minimum timer resolution, in milliseconds, for the application or device driver.2373</param>2374<returns>2375Returns <see cref="F:Tao.Platform.Windows.Winmm.TIMERR_NOERROR"/> if successful or2376<see cref="F:Tao.Platform.Windows.Winmm.TIMERR_NOCANDO"/> if the resolution specified in <i>period</i> is out2377of range.2378</returns>2379<remarks>2380<para>2381Call this function immediately before using timer services, and call the2382<see cref="M:Tao.Platform.Windows.Winmm.timeEndPeriod(System.Int32)"/> function immediately after you are finished2383using the timer services.2384</para>2385<para>2386You must match each call to <b>timeBeginPeriod</b> with a call to2387<see cref="M:Tao.Platform.Windows.Winmm.timeEndPeriod(System.Int32)"/>, specifying the same minimum resolution in both2388calls. An application can make multiple <b>timeBeginPeriod</b> calls as long2389as each call is matched with a call to <see cref="M:Tao.Platform.Windows.Winmm.timeEndPeriod(System.Int32)"/>.2390</para>2391</remarks>2392<seealso cref="M:Tao.Platform.Windows.Winmm.timeEndPeriod(System.Int32)"/>2393</member>2394<member name="M:Tao.Platform.Windows.Winmm.timeEndPeriod(System.Int32)">2395<summary>2396The <b>timeEndPeriod</b> function clears a previously set minimum timer2397resolution.2398</summary>2399<param name="period">2400Minimum timer resolution specified in the previous call to the2401<see cref="M:Tao.Platform.Windows.Winmm.timeBeginPeriod(System.Int32)"/> function.2402</param>2403<returns>2404Returns <see cref="F:Tao.Platform.Windows.Winmm.TIMERR_NOERROR"/> if successful or2405<see cref="F:Tao.Platform.Windows.Winmm.TIMERR_NOCANDO"/> if the resolution specified in <i>period</i> is out2406of range2407</returns>2408<remarks>2409<para>2410Call this function immediately after you are finished using timer services.2411</para>2412<para>2413You must match each call to <see cref="M:Tao.Platform.Windows.Winmm.timeBeginPeriod(System.Int32)"/> with a call to2414<b>timeEndPeriod</b>, specifying the same minimum resolution in both calls.2415An application can make multiple <see cref="M:Tao.Platform.Windows.Winmm.timeBeginPeriod(System.Int32)"/> calls as long2416as each call is matched with a call to <b>timeEndPeriod</b>.2417</para>2418</remarks>2419<seealso cref="M:Tao.Platform.Windows.Winmm.timeBeginPeriod(System.Int32)"/>2420</member>2421<member name="M:Tao.Platform.Windows.Winmm.timeGetTime">2422<summary>2423The <b>timeGetTime</b> function retrieves the system time, in milliseconds.2424The system time is the time elapsed since Windows was started.2425</summary>2426<returns>2427Returns the system time, in milliseconds.2428</returns>2429<remarks>2430<para>2431The only difference between this function and the <b>timeGetSystemTime</b>2432function is that <b>timeGetSystemTime</b> uses the <b>MMTIME</b> structure to2433return the system time. The <b>timeGetTime</b> function has less overhead2434than <b>timeGetSystemTime</b>.2435</para>2436<para>2437Note that the value returned by the <b>timeGetTime</b> function is a DWORD2438value. The return value wraps around to 0 every 2^32 milliseconds, which is2439about 49.71 days. This can cause problems in code that directly uses the2440<b>timeGetTime</b> return value in computations, particularly where the value2441is used to control code execution. You should always use the difference2442between two <b>timeGetTime</b> return values in computations.2443</para>2444<para>2445<b>Windows NT/2000:</b> The default precision of the <b>timeGetTime</b>2446function can be five milliseconds or more, depending on the machine. You2447can use the <see cref="M:Tao.Platform.Windows.Winmm.timeBeginPeriod(System.Int32)"/> and <see cref="M:Tao.Platform.Windows.Winmm.timeEndPeriod(System.Int32)"/>2448functions to increase the precision of <b>timeGetTime</b>. If you do so, the2449minimum difference between successive values returned by <b>timeGetTime</b>2450can be as large as the minimum period value set using2451<see cref="M:Tao.Platform.Windows.Winmm.timeBeginPeriod(System.Int32)"/> and <see cref="M:Tao.Platform.Windows.Winmm.timeEndPeriod(System.Int32)"/>. Use the2452<see cref="M:Tao.Platform.Windows.Kernel.QueryPerformanceCounter(System.Int64@)"/> and2453<see cref="M:Tao.Platform.Windows.Kernel.QueryPerformanceFrequency(System.Int64@)"/> functions to measure short2454time intervals at a high resolution.2455</para>2456<para>2457<b>Windows 95:</b> The default precision of the <b>timeGetTime</b> function is24581 millisecond. In other words, the <b>timeGetTime</b> function can return2459successive values that differ by just 1 millisecond. This is true no matter2460what calls have been made to the <b>timeBeginPeriod</b> and2461<b>timeEndPeriod</b> functions.2462</para>2463</remarks>2464<seealso cref="M:Tao.Platform.Windows.Kernel.QueryPerformanceCounter(System.Int64@)"/>2465<seealso cref="M:Tao.Platform.Windows.Kernel.QueryPerformanceFrequency(System.Int64@)"/>2466<seealso cref="M:Tao.Platform.Windows.Winmm.timeBeginPeriod(System.Int32)"/>2467<seealso cref="M:Tao.Platform.Windows.Winmm.timeEndPeriod(System.Int32)"/>2468</member>2469<member name="M:Tao.Platform.Windows.Winmm.joyConfigChanged(System.Int64)">2470<summary>2471The joyConfigChanged function informs the joystick driver that the configuration has changed and should be reloaded from the registry.2472</summary>2473<param name="dwFlags">2474Reserved for future use. Must equal zero.2475</param>2476<returns>2477Returns JOYERR_NOERROR if successful. Returns JOYERR_PARMS if the parameter is non-zero.2478</returns>2479<remarks>2480<para>2481This function causes a window message to be sent to all top-level windows. This message may be defined by applications that need to respond to changes in joystick calibration by using RegisterWindowMessage with the following message ID:2482</para>2483<code>2484#define JOY_CONFIGCHANGED_MSGSTRING "MSJSTICK_VJOYD_MSGSTR"2485</code>2486</remarks>2487</member>2488<member name="M:Tao.Platform.Windows.Winmm.joyGetDevCaps(System.IntPtr,Tao.Platform.Windows.Winmm.JOYCAPS@,System.Int32)">2489<summary>2490The joyGetDevCaps function queries a joystick to determine its capabilities.2491</summary>2492<param name="uJoyID">2493Identifier of the joystick to be queried. Valid values for uJoyID range from -1 to 15. A value of -1 enables retrieval of the szRegKey member of the JOYCAPS structure whether a device is present or not. For Windows NT 4.0, valid values are limited to zero (JOYSTICKID1) and JOYSTICKID2.2494</param>2495<param name="pjc">2496Pointer to a <see cref="T:Tao.Platform.Windows.Winmm.JOYCAPS"/> structure to contain the capabilities of the joystick.2497</param>2498<param name="cbjc">2499Size, in bytes, of the JOYCAPS structure.2500</param>2501<returns>2502<para>2503Returns JOYERR_NOERROR if successful or one of the following error values:2504</para>2505<para>2506<see cref="F:Tao.Platform.Windows.Winmm.MMSYSERR_NODRIVER"/> - The joystick driver is not present. Windows NT/2000/XP: The specified joystick identifier is invalid.2507<see cref="F:Tao.Platform.Windows.Winmm.MMSYSERR_INVALPARAM"/> - An invalid parameter was passed. Windows 95/98/Me: The specified joystick identifier is invalid.2508</para>2509</returns>2510<remarks>2511<para>2512Use the <see cref="M:Tao.Platform.Windows.Winmm.joyGetNumDevs"/> function to determine the number of joystick devices supported by the driver.2513</para>2514<para>2515Windows NT/2000/XP: This method fails when passed an invalid value for the cbjc parameter.2516Windows 95/98/Me: This method succeeds when passed an invalid value for the cbjc parameter.2517</para>2518</remarks>2519<seealso cref="T:Tao.Platform.Windows.Winmm.JOYCAPS"/>2520<seealso cref="M:Tao.Platform.Windows.Winmm.joyGetNumDevs"/>2521</member>2522<member name="M:Tao.Platform.Windows.Winmm.joyGetNumDevs">2523<summary>2524The joyGetNumDevs function queries the joystick driver for the number of joysticks it supports.2525</summary>2526<returns>2527The joyGetNumDevs function returns the number of joysticks supported by the current driver or zero if no driver is installed.2528</returns>2529<remarks>2530<para>2531Use the <see cref="M:Tao.Platform.Windows.Winmm.joyGetPos(System.Int32,Tao.Platform.Windows.Winmm.JOYINFO@)"/> function to determine whether a given joystick is physically attached to the system. If the specified joystick is not connected, joyGetPos returns a <see cref="F:Tao.Platform.Windows.Winmm.JOYERR_UNPLUGGED"/> error value.2532</para>2533</remarks>2534</member>2535<member name="M:Tao.Platform.Windows.Winmm.joyGetPos(System.Int32,Tao.Platform.Windows.Winmm.JOYINFO@)">2536<summary>2537The joyGetPos function queries a joystick for its position and button status.2538</summary>2539<param name="uJoyID">2540Identifier of the joystick to be queried. Valid values for uJoyID range from zero (<see cref="F:Tao.Platform.Windows.Winmm.JOYSTICKID1"/>) to 15, except for Windows NT 4.0. For Windows NT 4.0, valid values are limited to <see cref="F:Tao.Platform.Windows.Winmm.JOYSTICKID1"/> and <see cref="F:Tao.Platform.Windows.Winmm.JOYSTICKID2"/>.2541</param>2542<param name="pji">2543Pointer to a <see cref="T:Tao.Platform.Windows.Winmm.JOYINFO"/> structure that contains the position and button status of the joystick.2544</param>2545<returns>2546Returns <see cref="F:Tao.Platform.Windows.Winmm.JOYERR_NOERROR"/> if successful or one of the following error values.2547<para>2548<see cref="F:Tao.Platform.Windows.Winmm.MMSYSERR_NODRIVER"/> - The joystick driver is not present.2549<see cref="F:Tao.Platform.Windows.Winmm.MMSYSERR_INVALPARAM"/> - An invalid parameter was passed.2550<see cref="F:Tao.Platform.Windows.Winmm.JOYERR_UNPLUGGED"/> - The specified joystick is not connected to the system.2551</para>2552</returns>2553<remarks>2554For devices that have four to six axes of movement, a point-of-view control, or more than four buttons, use the <see cref="M:Tao.Platform.Windows.Winmm.joyGetPosEx(System.Int32,Tao.Platform.Windows.Winmm.JOYINFOEX@)"/> function.2555</remarks>2556</member>2557<member name="M:Tao.Platform.Windows.Winmm.joyGetPosEx(System.Int32,Tao.Platform.Windows.Winmm.JOYINFOEX@)">2558<summary>2559The joyGetPosEx function queries a joystick for its position and button status.2560</summary>2561<param name="uJoyID">2562Identifier of the joystick to be queried. Valid values for uJoyID range from zero (<see cref="F:Tao.Platform.Windows.Winmm.JOYSTICKID1"/>) to 15, except for Windows NT 4.0. For Windows NT 4.0, valid values are limited to <see cref="F:Tao.Platform.Windows.Winmm.JOYSTICKID1"/> and <see cref="F:Tao.Platform.Windows.Winmm.JOYSTICKID2"/>.2563</param>2564<param name="pji">2565Pointer to a <see cref="T:Tao.Platform.Windows.Winmm.JOYINFOEX"/> structure that contains extended position information and button status of the joystick. You must set the dwSize and dwFlags members or joyGetPosEx will fail. The information returned from joyGetPosEx depends on the flags you specify in dwFlags.2566</param>2567<returns>2568Returns JOYERR_NOERROR if successful or one of the following error values.2569<para>2570Returns JOYERR_NOERROR if successful or one of the following error values.2571</para>2572<para>2573<see cref="F:Tao.Platform.Windows.Winmm.MMSYSERR_NODRIVER"/> - The joystick driver is not present.2574<see cref="F:Tao.Platform.Windows.Winmm.MMSYSERR_INVALPARAM"/> - An invalid parameter was passed. Windows 95/98/Me: The specified joystick identifier is invalid.2575<see cref="F:Tao.Platform.Windows.Winmm.MMSYSERR_BADDEVICEID"/> - Windows 95/98/Me: The specified joystick identifier is invalid.2576<see cref="F:Tao.Platform.Windows.Winmm.JOYERR_UNPLUGGED"/> - The specified joystick is not connected to the system.2577<see cref="F:Tao.Platform.Windows.Winmm.JOYERR_PARMS"/> - Windows NT/2000/XP: The specified joystick identifier is invalid.2578</para>2579</returns>2580<remarks>2581This function provides access to extended devices such as rudder pedals, point-of-view hats, devices with a large number of buttons, and coordinate systems using up to six axes. For joystick devices that use three axes or fewer and have fewer than four buttons, use the joyGetPos function.2582</remarks>2583</member>2584<member name="M:Tao.Platform.Windows.Winmm.joyGetThreshold(System.Int32,System.IntPtr)">2585<summary>2586The joyGetThreshold function queries a joystick for its current movement threshold.2587</summary>2588<param name="uJoyID">2589Identifier of the joystick. Valid values for uJoyID range from zero (<see cref="F:Tao.Platform.Windows.Winmm.JOYSTICKID1"/>) to 15, except for Windows NT 4.0. For Windows NT 4.0, valid values are limited to <see cref="F:Tao.Platform.Windows.Winmm.JOYSTICKID1"/> and <see cref="F:Tao.Platform.Windows.Winmm.JOYSTICKID2"/>.2590</param>2591<param name="puThreshold">2592Pointer to a variable that contains the movement threshold value.2593</param>2594<returns>2595<para>2596Returns JOYERR_NOERROR if successful or one of the following error values.2597</para>2598<para>2599<see cref="F:Tao.Platform.Windows.Winmm.MMSYSERR_NODRIVER"/> - The joystick driver is not present.2600<see cref="F:Tao.Platform.Windows.Winmm.MMSYSERR_INVALPARAM"/> - An invalid parameter was passed.2601</para>2602</returns>2603<remarks>2604The movement threshold is the distance the joystick must be moved before a joystick position-change message (<see cref="F:Tao.Platform.Windows.Winmm.MM_JOY1MOVE"/>, <see cref="F:Tao.Platform.Windows.Winmm.MM_JOY1ZMOVE"/>, <see cref="F:Tao.Platform.Windows.Winmm.MM_JOY2MOVE"/>, or <see cref="F:Tao.Platform.Windows.Winmm.MM_JOY2ZMOVE"/>) is sent to a window that has captured the device. The threshold is initially zero.2605</remarks>2606</member>2607<member name="M:Tao.Platform.Windows.Winmm.joyReleaseCapture(System.Int32)">2608<summary>2609The joyReleaseCapture function releases the specified captured joystick.2610</summary>2611<param name="uJoyID">2612Identifier of the joystick. Valid values for uJoyID range from zero (<see cref="F:Tao.Platform.Windows.Winmm.JOYSTICKID1"/>) to 15, except for Windows NT 4.0. For Windows NT 4.0, valid values are limited to <see cref="F:Tao.Platform.Windows.Winmm.JOYSTICKID1"/> and <see cref="F:Tao.Platform.Windows.Winmm.JOYSTICKID2"/>.2613</param>2614<returns>2615<para>2616Returns <see cref="F:Tao.Platform.Windows.Winmm.JOYERR_NOERROR"/> if successful or one of the following error values.2617</para>2618<para>2619<see cref="F:Tao.Platform.Windows.Winmm.MMSYSERR_NODRIVER"/> - The joystick driver is not present.2620<see cref="F:Tao.Platform.Windows.Winmm.MMSYSERR_INVALPARAM"/> - Windows 95/98/Me: The specified joystick device identifier uJoyID is invalid. Windows NT/2000/XP: The specified joystick identifier is valid, but the joystick has not been captured.2621<see cref="F:Tao.Platform.Windows.Winmm.JOYERR_PARMS"/> - Windows NT/2000/XP: The specified joystick device identifier uJoyID is invalid.2622</para>2623</returns>2624<remarks>2625Windows 95/98/Me: This method returns JOYERR_NOERROR when passed a valid joystick identifier that has not been captured.2626</remarks>2627</member>2628<member name="M:Tao.Platform.Windows.Winmm.joySetCapture(System.Int32,System.Int32,System.Int32,System.Boolean)">2629<summary>2630The joySetCature function captures a joystick by causing its messages to be sent to the specified window.2631</summary>2632<param name="hwnd">2633Handle to the window to receive the joystick messages.2634</param>2635<param name="uJoyID">2636Identifier of the joystick. Valid values for uJoyID range from zero (<see cref="F:Tao.Platform.Windows.Winmm.JOYSTICKID1"/>) to 15, except for Windows NT 4.0. For Windows NT 4.0, valid values are limited to <see cref="F:Tao.Platform.Windows.Winmm.JOYSTICKID1"/> and <see cref="F:Tao.Platform.Windows.Winmm.JOYSTICKID2"/>.2637</param>2638<param name="uPeriod">2639Polling frequency, in milliseconds.2640</param>2641<param name="fChanged">2642Change position flag. Specify TRUE for this parameter to send messages only when the position changes by a value greater than the joystick movement threshold. Otherwise, messages are sent at the polling frequency specified in uPeriod.2643</param>2644<returns>2645<para>2646Returns JOYERR_NOERROR if successful or one of the following error values.2647</para>2648<para>2649<see cref="F:Tao.Platform.Windows.Winmm.MMSYSERR_NODRIVER"/> - The joystick driver is not present.2650<see cref="F:Tao.Platform.Windows.Winmm.MMSYSERR_INVALPARAM"/> - Windows 95/98/Me: Invalid joystick ID or hwnd is NULL.2651<see cref="F:Tao.Platform.Windows.Winmm.JOYERR_NOCANDO"/> - Cannot capture joystick input because a required service (such as a Windows timer) is unavailable.2652<see cref="F:Tao.Platform.Windows.Winmm.JOYERR_UNPLUGGED"/> - The specified joystick is not connected to the system.2653<see cref="F:Tao.Platform.Windows.Winmm.JOYERR_PARMS"/> - Windows NT/2000/XP: Invalid joystick ID or hwnd is NULL.2654</para>2655</returns>2656<remarks>2657This function fails if the specified joystick is currently captured. Call the joyReleaseCapture function to release the captured joystick, or destroy the window to release the joystick automatically.2658</remarks>2659</member>2660<member name="M:Tao.Platform.Windows.Winmm.joySetThreshold(System.Int32,System.Int32)">2661<summary>2662The joySetThreshold function sets the movement threshold of a joystick.2663</summary>2664<param name="uJoyID">2665Identifier of the joystick. Valid values for uJoyID range from zero (<see cref="F:Tao.Platform.Windows.Winmm.JOYSTICKID1"/>) to 15, except for Windows NT 4.0. For Windows NT 4.0, valid values are limited to <see cref="F:Tao.Platform.Windows.Winmm.JOYSTICKID1"/> and <see cref="F:Tao.Platform.Windows.Winmm.JOYSTICKID2"/>.2666</param>2667<param name="uThreshold">2668New movement threshold.2669</param>2670<returns>2671<para>2672Returns JOYERR_NOERROR if successful or one of the following error values.2673</para>2674<para>2675<see cref="F:Tao.Platform.Windows.Winmm.MMSYSERR_NODRIVER"/> - The joystick driver is not present.2676<see cref="F:Tao.Platform.Windows.Winmm.JOYERR_PARMS"/> - The specified joystick device identifier uJoyID is invalid.2677</para>2678</returns>2679<remarks>2680The movement threshold is the distance the joystick must be moved before a joystick position-change message (<see cref="F:Tao.Platform.Windows.Winmm.MM_JOY1MOVE"/>, <see cref="F:Tao.Platform.Windows.Winmm.MM_JOY1ZMOVE"/>, <see cref="F:Tao.Platform.Windows.Winmm.MM_JOY2MOVE"/>, or <see cref="F:Tao.Platform.Windows.Winmm.MM_JOY2ZMOVE"/>) is sent to a window that has captured the device. The threshold is initially zero.2681</remarks>2682</member>2683<member name="T:Tao.Platform.Windows.Winmm.JOYCAPS">2684<summary>2685The JOYCAPS structure contains information about the joystick capabilities.2686</summary>2687<remarks>2688<para>2689<b>Requirements</b>2690</para>2691<para>2692Windows NT/2000/XP: Included in Windows NT 3.1 and later.2693Windows 95/98/Me: Included in Windows 95 and later.2694Header: Declared in Mmsystem.h; include Windows.h.2695Unicode: Declared as Unicode and ANSI structures.2696</para>2697</remarks>2698<seealso cref="T:Tao.Platform.Windows.Winmm.JOYINFO"/>2699<seealso cref="T:Tao.Platform.Windows.Winmm.JOYINFOEX"/>2700<seealso cref="M:Tao.Platform.Windows.Winmm.joySetCapture(System.Int32,System.Int32,System.Int32,System.Boolean)"/>2701</member>2702<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wMid">2703<summary>2704Manufacturer identifier. Manufacturer identifiers are defined in Manufacturer and Product Identifiers.2705</summary>2706</member>2707<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wPid">2708<summary>2709Product identifier. Product identifiers are defined in Manufacturer and Product Identifiers.2710</summary>2711</member>2712<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.szPname">2713<summary>2714Null-terminated string containing the joystick product name.2715</summary>2716</member>2717<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wXmin">2718<summary>2719Minimum X-coordinate.2720</summary>2721</member>2722<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wXmax">2723<summary>2724Maximum X-coordinate.2725</summary>2726</member>2727<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wYmin">2728<summary>2729Minimum Y-coordinate.2730</summary>2731</member>2732<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wYmax">2733<summary>2734Maximum Y-coordinate.2735</summary>2736</member>2737<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wZmin">2738<summary>2739Minimum Z-coordinate.2740</summary>2741</member>2742<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wZmax">2743<summary>2744Maximum Z-coordinate.2745</summary>2746</member>2747<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wNumButtons">2748<summary>2749Number of joystick buttons.2750</summary>2751</member>2752<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wPeriodMin">2753<summary>2754Smallest polling frequency supported when captured by the <see cref="M:Tao.Platform.Windows.Winmm.joySetCapture(System.Int32,System.Int32,System.Int32,System.Boolean)"/> function.2755</summary>2756</member>2757<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wPeriodMax">2758<summary>2759Largest polling frequency supported when captured by <see cref="M:Tao.Platform.Windows.Winmm.joySetCapture(System.Int32,System.Int32,System.Int32,System.Boolean)"/>.2760</summary>2761</member>2762<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wRmin">2763<summary>2764Minimum rudder value. The rudder is a fourth axis of movement.2765</summary>2766</member>2767<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wRmax">2768<summary>2769Maximum rudder value. The rudder is a fourth axis of movement.2770</summary>2771</member>2772<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wUmin">2773<summary>2774Minimum u-coordinate (fifth axis) values.2775</summary>2776</member>2777<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wUmax">2778<summary>2779Maximum u-coordinate (fifth axis) values.2780</summary>2781</member>2782<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wVmin">2783<summary>2784Minimum v-coordinate (sixth axis) values.2785</summary>2786</member>2787<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wVmax">2788<summary>2789Maximum v-coordinate (sixth axis) values.2790</summary>2791</member>2792<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wCaps">2793<summary>2794Joystick capabilities The following flags define individual capabilities that a joystick might have:2795</summary>2796<remarks>2797<see cref="F:Tao.Platform.Windows.Winmm.JOYCAPS_HASZ"/> - Joystick has z-coordinate information.2798<see cref="F:Tao.Platform.Windows.Winmm.JOYCAPS_HASR"/> - Joystick has rudder (fourth axis) information.2799<see cref="F:Tao.Platform.Windows.Winmm.JOYCAPS_HASU"/> - Joystick has u-coordinate (fifth axis) information.2800<see cref="F:Tao.Platform.Windows.Winmm.JOYCAPS_HASV"/> - Joystick has v-coordinate (sixth axis) information.2801<see cref="F:Tao.Platform.Windows.Winmm.JOYCAPS_HASPOV"/> - Joystick has point-of-view information.2802<see cref="F:Tao.Platform.Windows.Winmm.JOYCAPS_POV4DIR"/> - Joystick point-of-view supports discrete values (centered, forward, backward, left, and right).2803<see cref="F:Tao.Platform.Windows.Winmm.JOYCAPS_POVCTS"/> - Joystick point-of-view supports continuous degree bearings.2804</remarks>2805</member>2806<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wMaxAxes">2807<summary>2808Maximum number of axes supported by the joystick.2809</summary>2810</member>2811<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wNumAxes">2812<summary>2813Number of axes currently in use by the joystick.2814</summary>2815</member>2816<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.wMaxButtons">2817<summary>2818Maximum number of buttons supported by the joystick.2819</summary>2820</member>2821<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.szRegKey">2822<summary>2823Null-terminated string containing the registry key for the joystick.2824</summary>2825</member>2826<member name="F:Tao.Platform.Windows.Winmm.JOYCAPS.szOEMVxD">2827<summary>2828Null-terminated string identifying the joystick driver OEM.2829</summary>2830</member>2831<member name="T:Tao.Platform.Windows.Winmm.JOYINFO">2832<summary>2833The JOYINFO structure contains information about the joystick position and button state.2834</summary>2835<remarks>2836<para>2837<b>Requirements</b>2838</para>2839<para>2840Windows NT/2000/XP: Included in Windows NT 3.1 and later.2841Windows 95/98/Me: Included in Windows 95 and later.2842Header: Declared in Mmsystem.h; include Windows.h.2843</para>2844</remarks>2845</member>2846<member name="F:Tao.Platform.Windows.Winmm.JOYINFO.wXpos">2847<summary>2848Current X-coordinate.2849</summary>2850</member>2851<member name="F:Tao.Platform.Windows.Winmm.JOYINFO.wYpos">2852<summary>2853Current Y-coordinate.2854</summary>2855</member>2856<member name="F:Tao.Platform.Windows.Winmm.JOYINFO.wZpos">2857<summary>2858Current Z-coordinate.2859</summary>2860</member>2861<member name="F:Tao.Platform.Windows.Winmm.JOYINFO.wButtons">2862<summary>2863Current state of joystick buttons.2864</summary>2865<remarks>2866<para>According to one or more of the following values:</para>2867<para>2868<see cref="F:Tao.Platform.Windows.Winmm.JOY_BUTTON1"/> - First joystick button is pressed.2869<see cref="F:Tao.Platform.Windows.Winmm.JOY_BUTTON2"/> - Second joystick button is pressed.2870<see cref="F:Tao.Platform.Windows.Winmm.JOY_BUTTON3"/> - Third joystick button is pressed.2871<see cref="F:Tao.Platform.Windows.Winmm.JOY_BUTTON4"/> - Fourth joystick button is pressed.2872</para>2873</remarks>2874</member>2875<member name="T:Tao.Platform.Windows.Winmm.JOYINFOEX">2876<summary>2877The JOYINFOEX structure contains extended information about the joystick position, point-of-view position, and button state.2878</summary>2879<remarks>2880<para>2881The value of the dwSize member is also used to identify the version number for the structure when it's passed to the <see cref="M:Tao.Platform.Windows.Winmm.joyGetPosEx(System.Int32,Tao.Platform.Windows.Winmm.JOYINFOEX@)"/> function.2882</para>2883<para>2884Most devices with a point-of-view control have only five positions. When the JOY_RETURNPOV flag is set, these positions are reported by using the following constants:2885</para>2886<para>2887<see cref="F:Tao.Platform.Windows.Winmm.JOY_POVBACKWARD"/> - Point-of-view hat is pressed backward. The value 18,000 represents an orientation of 180.00 degrees (to the rear).2888<see cref="F:Tao.Platform.Windows.Winmm.JOY_POVCENTERED"/> - Point-of-view hat is in the neutral position. The value -1 means the point-of-view hat has no angle to report.2889<see cref="F:Tao.Platform.Windows.Winmm.JOY_POVFORWARD"/> - Point-of-view hat is pressed forward. The value 0 represents an orientation of 0.00 degrees (straight ahead).2890<see cref="F:Tao.Platform.Windows.Winmm.JOY_POVLEFT"/> - Point-of-view hat is being pressed to the left. The value 27,000 represents an orientation of 270.00 degrees (90.00 degrees to the left).2891<see cref="F:Tao.Platform.Windows.Winmm.JOY_POVRIGHT"/> - Point-of-view hat is pressed to the right. The value 9,000 represents an orientation of 90.00 degrees (to the right).2892</para>2893<para>2894The default joystick driver currently supports these five discrete directions. If an application can accept only the defined point-of-view values, it must use the JOY_RETURNPOV flag. If an application can accept other degree readings, it should use the JOY_RETURNPOVCTS flag to obtain continuous data if it is available. The JOY_RETURNPOVCTS flag also supports the JOY_POV constants used with the JOY_RETURNPOV flag.2895</para>2896</remarks>2897<seealso cref="M:Tao.Platform.Windows.Winmm.joyGetPosEx(System.Int32,Tao.Platform.Windows.Winmm.JOYINFOEX@)"/>2898</member>2899<member name="F:Tao.Platform.Windows.Winmm.JOYINFOEX.dwSize">2900<summary>2901Size, in bytes, of this structure.2902</summary>2903</member>2904<member name="F:Tao.Platform.Windows.Winmm.JOYINFOEX.dwFlags">2905<summary>2906Flags indicating the valid information returned in this structure. Members that do not contain valid information are set to zero.2907</summary>2908<remarks>2909<para>2910<see cref="F:Tao.Platform.Windows.Winmm.JOY_RETURNALL"/> - Equivalent to setting all of the JOY_RETURN bits except JOY_RETURNRAWDATA.2911<see cref="F:Tao.Platform.Windows.Winmm.JOY_RETURNBUTTONS"/> - The dwButtons member contains valid information about the state of each joystick button.2912<see cref="F:Tao.Platform.Windows.Winmm.JOY_RETURNCENTERED"/> - Centers the joystick neutral position to the middle value of each axis of movement.2913<see cref="F:Tao.Platform.Windows.Winmm.JOY_RETURNPOV"/> - The dwPOV member contains valid information about the point-of-view control, expressed in discrete units.2914<see cref="F:Tao.Platform.Windows.Winmm.JOY_RETURNPOVCTS"/> - The dwPOV member contains valid information about the point-of-view control expressed in continuous, one-hundredth degree units.2915<see cref="F:Tao.Platform.Windows.Winmm.JOY_RETURNR"/> - The dwRpos member contains valid rudder pedal data. This information represents another (fourth) axis.2916<see cref="F:Tao.Platform.Windows.Winmm.JOY_RETURNRAWDATA"/> - Data stored in this structure is uncalibrated joystick readings.2917<see cref="F:Tao.Platform.Windows.Winmm.JOY_RETURNU"/> - The dwUpos member contains valid data for a fifth axis of the joystick, if such an axis is available, or returns zero otherwise.2918<see cref="F:Tao.Platform.Windows.Winmm.JOY_RETURNV"/> - The dwVpos member contains valid data for a sixth axis of the joystick, if such an axis is available, or returns zero otherwise.2919<see cref="F:Tao.Platform.Windows.Winmm.JOY_RETURNX"/> - The dwXpos member contains valid data for the x-coordinate of the joystick.2920<see cref="F:Tao.Platform.Windows.Winmm.JOY_RETURNY"/> - The dwYpos member contains valid data for the y-coordinate of the joystick.2921<see cref="F:Tao.Platform.Windows.Winmm.JOY_RETURNZ"/> - The dwZpos member contains valid data for the z-coordinate of the joystick.2922<see cref="F:Tao.Platform.Windows.Winmm.JOY_USEDEADZONE"/> - Expands the range for the neutral position of the joystick and calls this range the dead zone. The joystick driver returns a constant value for all positions in the dead zone.2923</para>2924<para>2925The following flags provide data to calibrate a joystick and are intended for custom calibration applications.2926</para>2927<para>2928<see cref="F:Tao.Platform.Windows.Winmm.JOY_CAL_READ3"/> - Read the x-, y-, and z-coordinates and store the raw values in dwXpos, dwYpos, and dwZpos.2929<see cref="F:Tao.Platform.Windows.Winmm.JOY_CAL_READ4"/> - Read the rudder information and the x-, y-, and z-coordinates and store the raw values in dwXpos, dwYpos, dwZpos, and dwRpos.2930<see cref="F:Tao.Platform.Windows.Winmm.JOY_CAL_READ5"/> - Read the rudder information and the x-, y-, z-, and u-coordinates and store the raw values in dwXpos, dwYpos, dwZpos, dwRpos, and dwUpos.2931<see cref="F:Tao.Platform.Windows.Winmm.JOY_CAL_READ6"/> - Read the raw v-axis data if a joystick mini driver is present that will provide the data. Returns zero otherwise.2932<see cref="F:Tao.Platform.Windows.Winmm.JOY_CAL_READALWAYS"/> - Read the joystick port even if the driver does not detect a device.2933<see cref="F:Tao.Platform.Windows.Winmm.JOY_CAL_READRONLY"/> - Read the rudder information if a joystick mini-driver is present that will provide the data and store the raw value in dwRpos. Return zero otherwise.2934<see cref="F:Tao.Platform.Windows.Winmm.JOY_CAL_READXONLY"/> - Read the x-coordinate and store the raw (uncalibrated) value in dwXpos.2935<see cref="F:Tao.Platform.Windows.Winmm.JOY_CAL_READXYONLY"/> - Reads the x- and y-coordinates and place the raw values in dwXpos and dwYpos.2936<see cref="F:Tao.Platform.Windows.Winmm.JOY_CAL_READYONLY"/> - Reads the y-coordinate and store the raw value in dwYpos.2937<see cref="F:Tao.Platform.Windows.Winmm.JOY_CAL_READZONLY"/> - Read the z-coordinate and store the raw value in dwZpos.2938<see cref="F:Tao.Platform.Windows.Winmm.JOY_CAL_READUONLY"/> - Read the u-coordinate if a joystick mini-driver is present that will provide the data and store the raw value in dwUpos. Return zero otherwise.2939<see cref="F:Tao.Platform.Windows.Winmm.JOY_CAL_READVONLY"/> - Read the v-coordinate if a joystick mini-driver is present that will provide the data and store the raw value in dwVpos. Return zero otherwise.2940</para>2941</remarks>2942</member>2943<member name="F:Tao.Platform.Windows.Winmm.JOYINFOEX.dwXpos">2944<summary>2945Current X-coordinate.2946</summary>2947</member>2948<member name="F:Tao.Platform.Windows.Winmm.JOYINFOEX.dwYpos">2949<summary>2950Current Y-coordinate.2951</summary>2952</member>2953<member name="F:Tao.Platform.Windows.Winmm.JOYINFOEX.dwZpos">2954<summary>2955Current Z-coordinate.2956</summary>2957</member>2958<member name="F:Tao.Platform.Windows.Winmm.JOYINFOEX.dwRpos">2959<summary>2960Current position of the rudder or fourth joystick axis.2961</summary>2962</member>2963<member name="F:Tao.Platform.Windows.Winmm.JOYINFOEX.dwUpos">2964<summary>2965Current fifth axis position.2966</summary>2967</member>2968<member name="F:Tao.Platform.Windows.Winmm.JOYINFOEX.dwVpos">2969<summary>2970Current sixth axis position.2971</summary>2972</member>2973<member name="F:Tao.Platform.Windows.Winmm.JOYINFOEX.dwButtons">2974<summary>2975Current state of the 32 joystick buttons. The value of this member can be set to any combination of JOY_BUTTONn flags, where n is a value in the range of 1 through 32 corresponding to the button that is pressed.2976</summary>2977</member>2978<member name="F:Tao.Platform.Windows.Winmm.JOYINFOEX.dwButtonNumber">2979<summary>2980Current button number that is pressed.2981</summary>2982</member>2983<member name="F:Tao.Platform.Windows.Winmm.JOYINFOEX.dwPOV">2984<summary>2985Current position of the point-of-view control. Values for this member are in the range 0 through 35,900. These values represent the angle, in degrees, of each view multiplied by 100.2986</summary>2987</member>2988<member name="F:Tao.Platform.Windows.Winmm.JOYINFOEX.dwReserved1">2989<summary>2990Reserved; do not use.2991</summary>2992</member>2993<member name="F:Tao.Platform.Windows.Winmm.JOYINFOEX.dwReserved2">2994<summary>2995Reserved; do not use.2996</summary>2997</member>2998<member name="T:Tao.Platform.Windows.User">2999<summary>3000User binding for .NET, implementing Windows-specific user functionality.3001</summary>3002<remarks>3003Binds functions and definitions in user32.dll.3004</remarks>3005</member>3006<member name="F:Tao.Platform.Windows.User.USER_NATIVE_LIBRARY">3007<summary>3008Specifies User32's native library archive.3009</summary>3010<remarks>3011Specifies user32.dll for Windows.3012</remarks>3013</member>3014<member name="F:Tao.Platform.Windows.User.CALLING_CONVENTION">3015<summary>3016Specifies the calling convention.3017</summary>3018<remarks>3019Specifies <see cref="F:System.Runtime.InteropServices.CallingConvention.StdCall"/>.3020</remarks>3021</member>3022<member name="F:Tao.Platform.Windows.User.CS_VREDRAW">3023<summary>30243025</summary>3026</member>3027<member name="F:Tao.Platform.Windows.User.CS_HREDRAW">3028<summary>30293030</summary>3031</member>3032<member name="F:Tao.Platform.Windows.User.CS_DBLCLKS">3033<summary>30343035</summary>3036</member>3037<member name="F:Tao.Platform.Windows.User.CS_OWNDC">3038<summary>30393040</summary>3041</member>3042<member name="F:Tao.Platform.Windows.User.CS_CLASSDC">3043<summary>30443045</summary>3046</member>3047<member name="F:Tao.Platform.Windows.User.CS_PARENTDC">3048<summary>30493050</summary>3051</member>3052<member name="F:Tao.Platform.Windows.User.CS_NOCLOSE">3053<summary>30543055</summary>3056</member>3057<member name="F:Tao.Platform.Windows.User.CS_SAVEBITS">3058<summary>30593060</summary>3061</member>3062<member name="F:Tao.Platform.Windows.User.CS_BYTEALIGNCLIENT">3063<summary>30643065</summary>3066</member>3067<member name="F:Tao.Platform.Windows.User.CS_BYTEALIGNWINDOW">3068<summary>30693070</summary>3071</member>3072<member name="F:Tao.Platform.Windows.User.CS_GLOBALCLASS">3073<summary>30743075</summary>3076</member>3077<member name="F:Tao.Platform.Windows.User.CS_IME">3078<summary>30793080</summary>3081</member>3082<member name="F:Tao.Platform.Windows.User.CS_DROPSHADOW">3083<summary>30843085</summary>3086</member>3087<member name="F:Tao.Platform.Windows.User.CDS_UPDATEREGISTRY">3088<summary>30893090</summary>3091</member>3092<member name="F:Tao.Platform.Windows.User.CDS_TEST">3093<summary>30943095</summary>3096</member>3097<member name="F:Tao.Platform.Windows.User.CDS_FULLSCREEN">3098<summary>30993100</summary>3101</member>3102<member name="F:Tao.Platform.Windows.User.DISP_CHANGE_SUCCESSFUL">3103<summary>31043105</summary>3106</member>3107<member name="F:Tao.Platform.Windows.User.DISP_CHANGE_RESTART">3108<summary>31093110</summary>3111</member>3112<member name="F:Tao.Platform.Windows.User.DISP_CHANGE_FAILED">3113<summary>31143115</summary>3116</member>3117<member name="F:Tao.Platform.Windows.User.ENUM_CURRENT_SETTINGS">3118<summary>31193120</summary>3121</member>3122<member name="M:Tao.Platform.Windows.User.ChangeDisplaySettings(Tao.Platform.Windows.Gdi.DEVMODE@,System.Int32)">3123<summary>3124<para>3125The <b>ChangeDisplaySettings</b> function changes the settings of the default3126display device to the specified graphics mode.3127</para>3128<para>3129To change the settings of a specified display device, use the3130<b>ChangeDisplaySettingsEx</b> function.3131</para>3132</summary>3133<param name="devMode">3134<para>3135Pointer to a <see cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/> structure that describes the new3136graphics mode. If <i>devMode</i> is NULL, all the values currently in the3137registry will be used for the display setting. Passing NULL for the3138<i>devMode</i> parameter and 0 for the <i>flags</i> parameter is the easiest3139way to return to the default mode after a dynamic mode change.3140</para>3141<para>3142The <see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmSize"/> member of <see cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/>3143must be initialized to the size, in bytes, of the <see cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/>3144structure. The <see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmDriverExtra"/> member of3145<see cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/> must be initialized to indicate the number of bytes3146of private driver data following the <see cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/> structure. In3147addition, you can use any or all of the following members of the3148<see cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/> structure:3149</para>3150<para>3151<list type="table">3152<listheader>3153<term>Value</term>3154<description>Description</description>3155</listheader>3156<item>3157<term><see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmBitsPerPel"/></term>3158<description>Bits per pixel.</description>3159</item>3160<item>3161<term><see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmPelsWidth"/></term>3162<description>Pixel width.</description>3163</item>3164<item>3165<term><see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmPelsHeight"/></term>3166<description>Pixel height.</description>3167</item>3168<item>3169<term><see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmDisplayFlags"/></term>3170<description>Mode flags.</description>3171</item>3172<item>3173<term><see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmDisplayFrequency"/></term>3174<description>Mode frequency.</description>3175</item>3176<item>3177<term>dmPosition</term>3178<description>3179<b>Windows 98/Me, Windows 2000/XP:</b> Position of the device in3180a multimonitor configuration.3181</description>3182</item>3183</list>3184</para>3185<para>3186In addition to using one or more of the preceding <see cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/>3187members, you must also set one or more of the following values in the3188<see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmFields"/> member to change the display setting:3189</para>3190<para>3191<list type="table">3192<listheader>3193<term>Value</term>3194<description>Description</description>3195</listheader>3196<item>3197<term><see cref="F:Tao.Platform.Windows.Gdi.DM_BITSPERPEL"/></term>3198<description>3199Use the <see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmBitsPerPel"/> value.3200</description>3201</item>3202<item>3203<term><see cref="F:Tao.Platform.Windows.Gdi.DM_PELSWIDTH"/></term>3204<description>3205Use the <see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmPelsWidth"/> value.3206</description>3207</item>3208<item>3209<term><see cref="F:Tao.Platform.Windows.Gdi.DM_PELSHEIGHT"/></term>3210<description>3211Use the <see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmPelsHeight"/> value.3212</description>3213</item>3214<item>3215<term><see cref="F:Tao.Platform.Windows.Gdi.DM_DISPLAYFLAGS"/></term>3216<description>3217Use the <see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmDisplayFlags"/> value.3218</description>3219</item>3220<item>3221<term><see cref="F:Tao.Platform.Windows.Gdi.DM_DISPLAYFREQUENCY"/></term>3222<description>3223Use the <see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmDisplayFrequency"/> value.3224</description>3225</item>3226<item>3227<term>see cref="Gdi.DM_POSITION" </term>3228<description>3229<b>Windows 98/Me, Windows 2000/XP:</b> Use the dmPosition value.3230</description>3231</item>3232</list>3233</para>3234</param>3235<param name="flags">3236<para>3237Indicates how the graphics mode should be changed. This parameter can be one3238of the following values:3239</para>3240<para>3241<list type="table">3242<listheader>3243<term>Value</term>3244<description>Description</description>3245</listheader>3246<item>3247<term>0</term>3248<description>3249The graphics mode for the current screen will be changed3250dynamically.3251</description>3252</item>3253<item>3254<term>see cref="Gdi.CDS_FULLSCREEN" </term>3255<description>3256<para>3257The mode is temporary in nature.3258</para>3259<para>3260<b>Windows NT/2000/XP:</b> If you change to and from another3261desktop, this mode will not be reset.3262</para>3263</description>3264</item>3265<item>3266<term>see cref="Gdi.CDS_GLOBAL" </term>3267<description>3268The settings will be saved in the global settings area so that3269they will affect all users on the machine. Otherwise, only the3270settings for the user are modified. This flag is only valid when3271specified with the see cref="Gdi.CDS_UPDATEREGISTRY" flag.3272</description>3273</item>3274<item>3275<term>see cref="Gdi.CDS_NORESET" </term>3276<description>3277The settings will be saved in the registry, but will not take3278affect. This flag is only valid when specified with the3279see cref="Gdi.CDS_UPDATEREGISTRY" flag.3280</description>3281</item>3282<item>3283<term>see cref="Gdi.CDS_RESET" </term>3284<description>3285The settings should be changed, even if the requested settings are3286the same as the current settings.3287</description>3288</item>3289<item>3290<term>see cref="Gdi.CDS_SET_PRIMARY" </term>3291<description>3292This device will become the primary device.3293</description>3294</item>3295<item>3296<term>see cref="Gdi.CDS_TEST" </term>3297<description>3298The system tests if the requested graphics mode could be set.3299</description>3300</item>3301<item>3302<term>see cref="Gdi.CDS_UPDATEREGISTRY" </term>3303<description>3304The graphics mode for the current screen will be changed3305dynamically and the graphics mode will be updated in the registry.3306The mode information is stored in the USER profile.3307</description>3308</item>3309</list>3310</para>3311<para>3312Specifying see cref="Gdi.CDS_TEST" allows an application to determine3313which graphics modes are actually valid, without causing the system to3314change to that graphics mode.3315</para>3316<para>3317If see cref="Gdi.CDS_UPDATEREGISTRY" is specified and it is possible to3318change the graphics mode dynamically, the information is stored in the3319registry and see cref="Gdi.DISP_CHANGE_SUCCESSFUL" is returned. If it is3320not possible to change the graphics mode dynamically, the information is3321stored in the registry and see cref="Gdi.DISP_CHANGE_RESTART" is returned.3322</para>3323<para>3324<b>Windows NT/2000/XP:</b> If see cref="Gdi.CDS_UPDATEREGISTRY" is3325specified and the information could not be stored in the registry, the3326graphics mode is not changed and see cref="Gdi.DISP_CHANGE_NOTUPDATED" is3327returned.3328</para>3329</param>3330<returns>3331<para>3332The <b>ChangeDisplaySettings</b> function returns one of the following values:3333</para>3334<para>3335<list type="table">3336<listheader>3337<term>Value</term>3338<description>Description</description>3339</listheader>3340<item>3341<term>see cref="Gdi.DISP_CHANGE_SUCCESSFUL" </term>3342<description>3343The settings change was successful.3344</description>3345</item>3346<item>3347<term>see cref="Gdi.DISP_CHANGE_BADDUALVIEW" </term>3348<description>3349<b>Windows XP:</b> The settings change was unsuccessful because3350system is DualView capable.3351</description>3352</item>3353<item>3354<term>see cref="Gdi.DISP_CHANGE_BADFLAGS" </term>3355<description>3356An invalid set of flags was passed in.3357</description>3358</item>3359<item>3360<term>see cref="Gdi.DISP_CHANGE_BADMODE" </term>3361<description>3362The graphics mode is not supported.3363</description>3364</item>3365<item>3366<term>see cref="Gdi.DISP_CHANGE_BADPARAM" </term>3367<description>3368An invalid parameter was passed in. This can include an invalid3369flag or combination of flags.3370</description>3371</item>3372<item>3373<term>see cref="Gdi.DISP_CHANGE_FAILED" </term>3374<description>3375The display driver failed the specified graphics mode.3376</description>3377</item>3378<item>3379<term>see cref="Gdi.DISP_CHANGE_NOTUPDATED" </term>3380<description>3381<b>Windows NT/2000/XP:</b> Unable to write settings to the3382registry.3383</description>3384</item>3385<item>3386<term>see cref="Gdi.DISP_CHANGE_RESTART" </term>3387<description>3388The computer must be restarted in order for the graphics mode to3389work.3390</description>3391</item>3392</list>3393</para>3394</returns>3395<remarks>3396<para>3397To ensure that the <see cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/> structure passed to3398<b>ChangeDisplaySettings</b> is valid and contains only values supported by3399the display driver, use the <see cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/> returned by the3400<see cref="M:Tao.Platform.Windows.User.EnumDisplaySettings(System.String,System.Int32,Tao.Platform.Windows.Gdi.DEVMODE@)"/> function.3401</para>3402<para>3403When the display mode is changed dynamically, the <b>WM_DISPLAYCHANGE</b>3404message is sent to all running applications with the following message3405parameters:3406</para>3407<para>3408<list type="table">3409<listheader>3410<term>Value</term>3411<description>Description</description>3412</listheader>3413<item>3414<term>wParam</term>3415<description>New bits per pixel.</description>3416</item>3417<item>3418<term>LOWORD(lParam)</term>3419<description>New pixel width.</description>3420</item>3421<item>3422<term>HIWORD(lParam)</term>3423<description>New pixel height.</description>3424</item>3425</list>3426</para>3427<para>3428<b>Windows 95/98/Me:</b> If the calling thread has any windows,3429<b>ChangeDisplaySettings</b> sends them the <b>WM_DISPLAYCHANGE</b> message3430immediately (for windows in all other threads, the message is sent when the3431thread can receive nonqueued messages). This may cause the shell to get its3432message too soon and could squash icons. To avoid this problem, have3433<b>ChangeDisplaySettings</b> do resolution switching by calling on a thread3434with no windows, for example, a new thread.3435</para>3436</remarks>3437seealso cref="CreateDC"3438<seealso cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/>3439<seealso cref="M:Tao.Platform.Windows.User.EnumDisplaySettings(System.String,System.Int32,Tao.Platform.Windows.Gdi.DEVMODE@)"/>3440</member>3441<member name="M:Tao.Platform.Windows.User.ChangeDisplaySettings(System.IntPtr,System.Int32)">3442<summary>3443<para>3444The <b>ChangeDisplaySettings</b> function changes the settings of the default3445display device to the specified graphics mode.3446</para>3447<para>3448To change the settings of a specified display device, use the3449<b>ChangeDisplaySettingsEx</b> function.3450</para>3451</summary>3452<param name="devMode">3453<para>3454Pointer to a <see cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/> structure that describes the new3455graphics mode. If <i>devMode</i> is NULL, all the values currently in the3456registry will be used for the display setting. Passing NULL for the3457<i>devMode</i> parameter and 0 for the <i>flags</i> parameter is the easiest3458way to return to the default mode after a dynamic mode change.3459</para>3460<para>3461The <see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmSize"/> member of <see cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/>3462must be initialized to the size, in bytes, of the <see cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/>3463structure. The <see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmDriverExtra"/> member of3464<see cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/> must be initialized to indicate the number of bytes3465of private driver data following the <see cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/> structure. In3466addition, you can use any or all of the following members of the3467<see cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/> structure:3468</para>3469<para>3470<list type="table">3471<listheader>3472<term>Value</term>3473<description>Description</description>3474</listheader>3475<item>3476<term><see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmBitsPerPel"/></term>3477<description>Bits per pixel.</description>3478</item>3479<item>3480<term><see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmPelsWidth"/></term>3481<description>Pixel width.</description>3482</item>3483<item>3484<term><see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmPelsHeight"/></term>3485<description>Pixel height.</description>3486</item>3487<item>3488<term><see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmDisplayFlags"/></term>3489<description>Mode flags.</description>3490</item>3491<item>3492<term><see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmDisplayFrequency"/></term>3493<description>Mode frequency.</description>3494</item>3495<item>3496<term>dmPosition</term>3497<description>3498<b>Windows 98/Me, Windows 2000/XP:</b> Position of the device in3499a multimonitor configuration.3500</description>3501</item>3502</list>3503</para>3504<para>3505In addition to using one or more of the preceding <see cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/>3506members, you must also set one or more of the following values in the3507<see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmFields"/> member to change the display setting:3508</para>3509<para>3510<list type="table">3511<listheader>3512<term>Value</term>3513<description>Description</description>3514</listheader>3515<item>3516<term><see cref="F:Tao.Platform.Windows.Gdi.DM_BITSPERPEL"/></term>3517<description>3518Use the <see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmBitsPerPel"/> value.3519</description>3520</item>3521<item>3522<term><see cref="F:Tao.Platform.Windows.Gdi.DM_PELSWIDTH"/></term>3523<description>3524Use the <see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmPelsWidth"/> value.3525</description>3526</item>3527<item>3528<term><see cref="F:Tao.Platform.Windows.Gdi.DM_PELSHEIGHT"/></term>3529<description>3530Use the <see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmPelsHeight"/> value.3531</description>3532</item>3533<item>3534<term><see cref="F:Tao.Platform.Windows.Gdi.DM_DISPLAYFLAGS"/></term>3535<description>3536Use the <see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmDisplayFlags"/> value.3537</description>3538</item>3539<item>3540<term><see cref="F:Tao.Platform.Windows.Gdi.DM_DISPLAYFREQUENCY"/></term>3541<description>3542Use the <see cref="F:Tao.Platform.Windows.Gdi.DEVMODE.dmDisplayFrequency"/> value.3543</description>3544</item>3545<item>3546<term>see cref="Gdi.DM_POSITION" /></term>3547<description>3548<b>Windows 98/Me, Windows 2000/XP:</b> Use the dmPosition value.3549</description>3550</item>3551</list>3552</para>3553</param>3554<param name="flags">3555<para>3556Indicates how the graphics mode should be changed. This parameter can be one3557of the following values:3558</para>3559<para>3560<list type="table">3561<listheader>3562<term>Value</term>3563<description>Description</description>3564</listheader>3565<item>3566<term>0</term>3567<description>3568The graphics mode for the current screen will be changed3569dynamically.3570</description>3571</item>3572<item>3573<term>see cref="Gdi.CDS_FULLSCREEN" </term>3574<description>3575<para>3576The mode is temporary in nature.3577</para>3578<para>3579<b>Windows NT/2000/XP:</b> If you change to and from another3580desktop, this mode will not be reset.3581</para>3582</description>3583</item>3584<item>3585<term>see cref="Gdi.CDS_GLOBAL" </term>3586<description>3587The settings will be saved in the global settings area so that3588they will affect all users on the machine. Otherwise, only the3589settings for the user are modified. This flag is only valid when3590specified with the see cref="Gdi.CDS_UPDATEREGISTRY" flag.3591</description>3592</item>3593<item>3594<term>see cref="Gdi.CDS_NORESET" </term>3595<description>3596The settings will be saved in the registry, but will not take3597affect. This flag is only valid when specified with the3598see cref="Gdi.CDS_UPDATEREGISTRY" flag.3599</description>3600</item>3601<item>3602<term>see cref="Gdi.CDS_RESET" </term>3603<description>3604The settings should be changed, even if the requested settings are3605the same as the current settings.3606</description>3607</item>3608<item>3609<term>see cref="Gdi.CDS_SET_PRIMARY" </term>3610<description>3611This device will become the primary device.3612</description>3613</item>3614<item>3615<term>see cref="Gdi.CDS_TEST" /></term>3616<description>3617The system tests if the requested graphics mode could be set.3618</description>3619</item>3620<item>3621<term>see cref="Gdi.CDS_UPDATEREGISTRY" /></term>3622<description>3623The graphics mode for the current screen will be changed3624dynamically and the graphics mode will be updated in the registry.3625The mode information is stored in the USER profile.3626</description>3627</item>3628</list>3629</para>3630<para>3631Specifying see cref="Gdi.CDS_TEST" /> allows an application to determine3632which graphics modes are actually valid, without causing the system to3633change to that graphics mode.3634</para>3635<para>3636If see cref="Gdi.CDS_UPDATEREGISTRY" /> is specified and it is possible to3637change the graphics mode dynamically, the information is stored in the3638registry and see cref="Gdi.DISP_CHANGE_SUCCESSFUL" /> is returned. If it is3639not possible to change the graphics mode dynamically, the information is3640stored in the registry and see cref="Gdi.DISP_CHANGE_RESTART" /> is returned.3641</para>3642<para>3643<b>Windows NT/2000/XP:</b> If see cref="Gdi.CDS_UPDATEREGISTRY" /> is3644specified and the information could not be stored in the registry, the3645graphics mode is not changed and see cref="Gdi.DISP_CHANGE_NOTUPDATED" /> is3646returned.3647</para>3648</param>3649<returns>3650<para>3651The <b>ChangeDisplaySettings</b> function returns one of the following values:3652</para>3653<para>3654<list type="table">3655<listheader>3656<term>Value</term>3657<description>Description</description>3658</listheader>3659<item>3660<term>see cref="Gdi.DISP_CHANGE_SUCCESSFUL" /></term>3661<description>3662The settings change was successful.3663</description>3664</item>3665<item>3666<term>see cref="Gdi.DISP_CHANGE_BADDUALVIEW" /></term>3667<description>3668<b>Windows XP:</b> The settings change was unsuccessful because3669system is DualView capable.3670</description>3671</item>3672<item>3673<term>see cref="Gdi.DISP_CHANGE_BADFLAGS" /></term>3674<description>3675An invalid set of flags was passed in.3676</description>3677</item>3678<item>3679<term>see cref="Gdi.DISP_CHANGE_BADMODE" </term>3680<description>3681The graphics mode is not supported.3682</description>3683</item>3684<item>3685<term>see cref="Gdi.DISP_CHANGE_BADPARAM" </term>3686<description>3687An invalid parameter was passed in. This can include an invalid3688flag or combination of flags.3689</description>3690</item>3691<item>3692<term>see cref="Gdi.DISP_CHANGE_FAILED" /></term>3693<description>3694The display driver failed the specified graphics mode.3695</description>3696</item>3697<item>3698<term>see cref="Gdi.DISP_CHANGE_NOTUPDATED" /></term>3699<description>3700<b>Windows NT/2000/XP:</b> Unable to write settings to the3701registry.3702</description>3703</item>3704<item>3705<term>see cref="Gdi.DISP_CHANGE_RESTART" /></term>3706<description>3707The computer must be restarted in order for the graphics mode to3708work.3709</description>3710</item>3711</list>3712</para>3713</returns>3714<remarks>3715<para>3716To ensure that the <see cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/> structure passed to3717<b>ChangeDisplaySettings</b> is valid and contains only values supported by3718the display driver, use the <see cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/> returned by the3719<see cref="M:Tao.Platform.Windows.User.EnumDisplaySettings(System.String,System.Int32,Tao.Platform.Windows.Gdi.DEVMODE@)"/> function.3720</para>3721<para>3722When the display mode is changed dynamically, the <b>WM_DISPLAYCHANGE</b>3723message is sent to all running applications with the following message3724parameters:3725</para>3726<para>3727<list type="table">3728<listheader>3729<term>Value</term>3730<description>Description</description>3731</listheader>3732<item>3733<term>wParam</term>3734<description>New bits per pixel.</description>3735</item>3736<item>3737<term>LOWORD(lParam)</term>3738<description>New pixel width.</description>3739</item>3740<item>3741<term>HIWORD(lParam)</term>3742<description>New pixel height.</description>3743</item>3744</list>3745</para>3746<para>3747<b>Windows 95/98/Me:</b> If the calling thread has any windows,3748<b>ChangeDisplaySettings</b> sends them the <b>WM_DISPLAYCHANGE</b> message3749immediately (for windows in all other threads, the message is sent when the3750thread can receive nonqueued messages). This may cause the shell to get its3751message too soon and could squash icons. To avoid this problem, have3752<b>ChangeDisplaySettings</b> do resolution switching by calling on a thread3753with no windows, for example, a new thread.3754</para>3755</remarks>3756seealso cref="CreateDC" />3757<seealso cref="T:Tao.Platform.Windows.Gdi.DEVMODE"/>3758<seealso cref="M:Tao.Platform.Windows.User.EnumDisplaySettings(System.String,System.Int32,Tao.Platform.Windows.Gdi.DEVMODE@)"/>3759</member>3760<member name="M:Tao.Platform.Windows.User.EnumDisplaySettings(System.String,System.Int32,Tao.Platform.Windows.Gdi.DEVMODE@)">3761<summary>37623763</summary>3764<param name="deviceName"></param>3765<param name="modeNumber"></param>3766<param name="devMode"></param>3767<returns></returns>3768</member>3769<member name="M:Tao.Platform.Windows.User.GetDC(System.IntPtr)">3770<summary>3771<para>3772The <b>GetDC</b> function retrieves a handle to a display device context (DC)3773for the client area of a specified window or for the entire screen. You can3774use the returned handle in subsequent GDI functions to draw in the DC.3775</para>3776<para>3777The see cref="GetDCEx" /> function is an extension to <b>GetDC</b>, which3778gives an application more control over how and whether clipping occurs in the3779client area.3780</para>3781</summary>3782<param name="windowHandle">3783<para>3784Handle to the window whose DC is to be retrieved. If this value is null,3785<b>GetDC</b> retrieves the DC for the entire screen.3786</para>3787<para>3788<b>Windows 98/Me, Windows 2000/XP:</b> To get the DC for a specific display3789monitor, use the see cref="EnumDisplayMonitors" /> and3790see cref="Gdi.CreateDC" /> functions.3791</para>3792</param>3793<returns>3794<para>3795If the function succeeds, the return value is a handle to the DC for the3796specified window's client area.3797</para>3798<para>3799If the function fails, the return value is null.3800</para>3801<para>3802<b>Windows NT/2000/XP:</b> To get extended error information, call3803<see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>.3804</para>3805</returns>3806<remarks>3807<para>3808The <b>GetDC</b> function retrieves a common, class, or private DC depending3809on the class style of the specified window. For class and private DCs,3810<b>GetDC</b> leaves the previously assigned attributes unchanged. However,3811for common DCs, <b>GetDC</b> assigns default attributes to the DC each time3812it is retrieved. For example, the default font is System, which is a bitmap3813font. Because of this, the handle for a common DC returned by <b>GetDC</b>3814does not tell you what font, color, or brush was used when the window was3815drawn. To determine the font, call see cref="GetTextFace" />.3816</para>3817<para>3818Note that the handle to the DC can only be used by a single thread at any one3819time.3820</para>3821<para>3822After painting with a common DC, the <see cref="M:Tao.Platform.Windows.User.ReleaseDC(System.IntPtr,System.IntPtr)"/> function must3823be called to release the DC. Class and private DCs do not have to be3824released. <see cref="M:Tao.Platform.Windows.User.ReleaseDC(System.IntPtr,System.IntPtr)"/> must be called from the same thread that3825called <b>GetDC</b>. The number of DCs is limited only by available memory.3826</para>3827<para>3828<b>Windows 95/98/Me:</b> There are only 5 common DCs available per thread,3829thus failure to release a DC can prevent other applications from accessing3830one.3831</para>3832</remarks>3833seealso cref="GetDCEx" />3834<seealso cref="M:Tao.Platform.Windows.User.ReleaseDC(System.IntPtr,System.IntPtr)"/>3835seealso cref="GetTextFace" />3836seealso cref="GetWindowDC" />3837</member>3838<member name="M:Tao.Platform.Windows.User.ReleaseDC(System.IntPtr,System.IntPtr)">3839<summary>3840<para>3841The <b>ReleaseDC</b> function releases a device context (DC), freeing it for3842use by other applications. The effect of the <b>ReleaseDC</b> function3843depends on the type of DC. It frees only common and window DCs. It has no3844effect on class or private DCs.3845</para>3846</summary>3847<param name="windowHandle">3848<para>3849Handle to the window whose DC is to be released.3850</para>3851</param>3852<param name="deviceContext">3853<para>3854Handle to the DC to be released.3855</para>3856</param>3857<returns>3858<para>3859The return value indicates whether the DC was released. If the DC was3860released, the return value is true.3861</para>3862<para>3863If the DC was not released, the return value is false.3864</para>3865</returns>3866<remarks>3867<para>3868The application must call the <b>ReleaseDC</b> function for each call to the3869see cref="GetWindowDC" /> function and for each call to the3870<see cref="M:Tao.Platform.Windows.User.GetDC(System.IntPtr)"/> function that retrieves a common DC.3871</para>3872<para>3873An application cannot use the <b>ReleaseDC</b> function to release a DC that3874was created by calling the see cref="Gdi.CreateDC" /> function; instead, it3875must use the see cref="Gdi.DeleteDC" /> function. <b>ReleaseDC</b> must be3876called from the same thread that called <b>GetDC</b>.3877</para>3878</remarks>3879seealso cref="Gdi.CreateDC" />3880seealso cref="Gdi.DeleteDC" />3881<seealso cref="M:Tao.Platform.Windows.User.GetDC(System.IntPtr)"/>3882seealso cref="GetWindowDC" />3883</member>3884<member name="M:Tao.Platform.Windows.User.SetParent(System.IntPtr,System.IntPtr)">3885<summary>38863887</summary>3888<param name="hWndChild"></param>3889<param name="hWndNewParent"></param>3890<returns></returns>3891</member>3892<member name="M:Tao.Platform.Windows.User.FindWindow(System.String,System.String)">3893<summary>38943895</summary>3896<param name="lpClassName"></param>3897<param name="lpWindowName"></param>3898<returns></returns>3899</member>3900<member name="M:Tao.Platform.Windows.User.ShowWindow(System.IntPtr,System.Int32)">3901<summary>39023903</summary>3904<param name="hWnd"></param>3905<param name="nCmdShow"></param>3906<returns></returns>3907</member>3908<member name="M:Tao.Platform.Windows.User.SetWindowPos(System.IntPtr,System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32,System.UInt32)">3909<summary>39103911</summary>3912<param name="hWnd"></param>3913<param name="hWndInsertAfter"></param>3914<param name="X"></param>3915<param name="Y"></param>3916<param name="cx"></param>3917<param name="cy"></param>3918<param name="uFlags"></param>3919<returns></returns>3920</member>3921<member name="T:Tao.Platform.Windows.User.SHOWWINDOW">3922<summary>39233924</summary>3925</member>3926<member name="F:Tao.Platform.Windows.User.SHOWWINDOW.SW_HIDE">3927<summary>39283929</summary>3930</member>3931<member name="F:Tao.Platform.Windows.User.SHOWWINDOW.SW_SHOWNORMAL">3932<summary>39333934</summary>3935</member>3936<member name="F:Tao.Platform.Windows.User.SHOWWINDOW.SW_NORMAL">3937<summary>39383939</summary>3940</member>3941<member name="F:Tao.Platform.Windows.User.SHOWWINDOW.SW_SHOWMINIMIZED">3942<summary>39433944</summary>3945</member>3946<member name="F:Tao.Platform.Windows.User.SHOWWINDOW.SW_SHOWMAXIMIZED">3947<summary>39483949</summary>3950</member>3951<member name="F:Tao.Platform.Windows.User.SHOWWINDOW.SW_MAXIMIZE">3952<summary>39533954</summary>3955</member>3956<member name="F:Tao.Platform.Windows.User.SHOWWINDOW.SW_SHOWNOACTIVATE">3957<summary>39583959</summary>3960</member>3961<member name="F:Tao.Platform.Windows.User.SHOWWINDOW.SW_SHOW">3962<summary>39633964</summary>3965</member>3966<member name="F:Tao.Platform.Windows.User.SHOWWINDOW.SW_MINIMIZE">3967<summary>39683969</summary>3970</member>3971<member name="F:Tao.Platform.Windows.User.SHOWWINDOW.SW_SHOWMINNOACTIVE">3972<summary>39733974</summary>3975</member>3976<member name="F:Tao.Platform.Windows.User.SHOWWINDOW.SW_SHOWNA">3977<summary>39783979</summary>3980</member>3981<member name="F:Tao.Platform.Windows.User.SHOWWINDOW.SW_RESTORE">3982<summary>39833984</summary>3985</member>3986<member name="F:Tao.Platform.Windows.User.SHOWWINDOW.SW_SHOWDEFAULT">3987<summary>39883989</summary>3990</member>3991<member name="F:Tao.Platform.Windows.User.SHOWWINDOW.SW_FORCEMINIMIZE">3992<summary>39933994</summary>3995</member>3996<member name="F:Tao.Platform.Windows.User.SHOWWINDOW.SW_MAX">3997<summary>39983999</summary>4000</member>4001<member name="T:Tao.Platform.Windows.SimpleOpenGlControl">4002<summary>4003Provides a simple OpenGL control allowing quick development of Windows Forms-based4004OpenGL applications.4005</summary>4006</member>4007<member name="M:Tao.Platform.Windows.SimpleOpenGlControl.#ctor">4008<summary>4009Constructor. Creates contexts and sets properties.4010</summary>4011</member>4012<member name="M:Tao.Platform.Windows.SimpleOpenGlControl.Dispose(System.Boolean)">4013<summary>4014Disposes the control.4015</summary>4016<param name="disposing">Was the disposed manually called?</param>4017</member>4018<member name="M:Tao.Platform.Windows.SimpleOpenGlControl.InitializeBackground">4019<summary>4020Loads the bitmap from the assembly's manifest resource.4021</summary>4022</member>4023<member name="M:Tao.Platform.Windows.SimpleOpenGlControl.InitializeComponent">4024<summary>4025Required for designer support.4026</summary>4027</member>4028<member name="M:Tao.Platform.Windows.SimpleOpenGlControl.InitializeStyles">4029<summary>4030Initializes the control's styles.4031</summary>4032</member>4033<member name="M:Tao.Platform.Windows.SimpleOpenGlControl.DestroyContexts">4034<summary>40354036</summary>4037</member>4038<member name="M:Tao.Platform.Windows.SimpleOpenGlControl.Draw">4039<summary>4040Sends an see cref="UserControl.Invalidate" command to this control, thus4041forcing a redraw to occur.4042</summary>4043</member>4044<member name="M:Tao.Platform.Windows.SimpleOpenGlControl.InitializeContexts">4045<summary>4046Creates the OpenGL contexts.4047</summary>4048</member>4049<member name="M:Tao.Platform.Windows.SimpleOpenGlControl.MakeCurrent">4050<summary>40514052</summary>4053</member>4054<member name="M:Tao.Platform.Windows.SimpleOpenGlControl.SwapBuffers">4055<summary>40564057</summary>4058</member>4059<member name="M:Tao.Platform.Windows.SimpleOpenGlControl.OnPaint(System.Windows.Forms.PaintEventArgs)">4060<summary>4061Paints the control.4062</summary>4063<param name="e">The paint event arguments.</param>4064</member>4065<member name="M:Tao.Platform.Windows.SimpleOpenGlControl.OnPaintBackground(System.Windows.Forms.PaintEventArgs)">4066<summary>4067Paints the background.4068</summary>4069<param name="e"></param>4070</member>4071<member name="P:Tao.Platform.Windows.SimpleOpenGlControl.LogScaleX">4072<summary>4073Gets the number of logical pixels or dots per inch (dpi) in X-direction4074</summary>4075</member>4076<member name="P:Tao.Platform.Windows.SimpleOpenGlControl.LogScaleY">4077<summary>4078Gets the number of logical pixels or dots per inch (dpi) in Y-direction4079</summary>4080</member>4081<member name="P:Tao.Platform.Windows.SimpleOpenGlControl.AccumBits">4082<summary>4083Gets and sets the OpenGL control's accumulation buffer depth.4084</summary>4085</member>4086<member name="P:Tao.Platform.Windows.SimpleOpenGlControl.ColorBits">4087<summary>4088Gets and sets the OpenGL control's color buffer depth.4089</summary>4090</member>4091<member name="P:Tao.Platform.Windows.SimpleOpenGlControl.DepthBits">4092<summary>4093Gets and sets the OpenGL control's depth buffer (Z-buffer) depth.4094</summary>4095</member>4096<member name="P:Tao.Platform.Windows.SimpleOpenGlControl.StencilBits">4097<summary>4098Gets and sets the OpenGL control's stencil buffer depth.4099</summary>4100</member>4101<member name="P:Tao.Platform.Windows.SimpleOpenGlControl.AutoCheckErrors">4102<summary>4103Gets and sets the OpenGL control's automatic sending of a glGetError command4104after drawing.4105</summary>4106</member>4107<member name="P:Tao.Platform.Windows.SimpleOpenGlControl.AutoFinish">4108<summary>4109Gets and sets the OpenGL control's automatic sending of a glFinish command4110after drawing.4111</summary>4112</member>4113<member name="P:Tao.Platform.Windows.SimpleOpenGlControl.AutoMakeCurrent">4114<summary>4115Gets and sets the OpenGL control's automatic forcing of the rendering context to4116be current before drawing.4117</summary>4118</member>4119<member name="P:Tao.Platform.Windows.SimpleOpenGlControl.AutoSwapBuffers">4120<summary>4121Gets and sets the OpenGL control's automatic sending of a SwapBuffers command4122after drawing.4123</summary>4124</member>4125<member name="P:Tao.Platform.Windows.SimpleOpenGlControl.CreateParams">4126<summary>4127Overrides the control's class style parameters.4128</summary>4129</member>4130<member name="T:Tao.Platform.Windows.Gdi">4131<summary>4132GDI binding for .NET, implementing Windows-specific GDI functionality.4133</summary>4134<remarks>4135Binds functions and definitions in gdi32.dll.4136</remarks>4137</member>4138<member name="F:Tao.Platform.Windows.Gdi.GDI_NATIVE_LIBRARY">4139<summary>4140Specifies GDI's native library archive.4141</summary>4142<remarks>4143Specifies gdi32.dll for Windows.4144</remarks>4145</member>4146<member name="F:Tao.Platform.Windows.Gdi.CALLING_CONVENTION">4147<summary>4148Specifies the calling convention.4149</summary>4150<remarks>4151Specifies <see cref="F:System.Runtime.InteropServices.CallingConvention.StdCall"/>.4152</remarks>4153</member>4154<member name="F:Tao.Platform.Windows.Gdi.LPD_TYPE_RGBA">4155<summary>4156RGBA pixels. Each pixel has four components: red, green, blue, and alpha.4157</summary>4158</member>4159<member name="F:Tao.Platform.Windows.Gdi.LPD_TYPE_COLORINDEX">4160<summary>4161Color-index pixels. Each pixel uses a color-index value.4162</summary>4163</member>4164<member name="F:Tao.Platform.Windows.Gdi.LPD_DOUBLEBUFFER">4165<summary>4166The layer plane is double-buffered. A layer plane can be double-buffered4167even when the main plane is single-buffered and vice versa.4168</summary>4169</member>4170<member name="F:Tao.Platform.Windows.Gdi.LPD_STEREO">4171<summary>4172The layer plane is stereoscopic. A layer plane can be stereoscopic even4173when the main plane is monoscopic and vice versa.4174</summary>4175</member>4176<member name="F:Tao.Platform.Windows.Gdi.LPD_SUPPORT_GDI">4177<summary>4178The layer plane supports GDI drawing. The current implementation of OpenGL4179doesn't support this flag.4180</summary>4181</member>4182<member name="F:Tao.Platform.Windows.Gdi.LPD_SUPPORT_OPENGL">4183<summary>4184The layer plane supports OpenGL drawing.4185</summary>4186</member>4187<member name="F:Tao.Platform.Windows.Gdi.LPD_SHARE_DEPTH">4188<summary>4189The layer plane shares the depth buffer with the main plane.4190</summary>4191</member>4192<member name="F:Tao.Platform.Windows.Gdi.LPD_SHARE_STENCIL">4193<summary>4194The layer plane shares the stencil buffer with the main plane.4195</summary>4196</member>4197<member name="F:Tao.Platform.Windows.Gdi.LPD_SHARE_ACCUM">4198<summary>4199The layer plane shares the accumulation buffer with the main plane.4200</summary>4201</member>4202<member name="F:Tao.Platform.Windows.Gdi.LPD_SWAP_EXCHANGE">4203<summary>4204In a double-buffered layer plane, swapping the color buffer exchanges the4205front buffer and back buffer contents. The back buffer then contains the4206contents of the front buffer before the swap. This flag is a hint only and4207might not be provided by a driver.4208</summary>4209</member>4210<member name="F:Tao.Platform.Windows.Gdi.LPD_SWAP_COPY">4211<summary>4212In a double-buffered layer plane, swapping the color buffer copies the back4213buffer contents to the front buffer. The swap does not affect the back4214buffer contents. This flag is a hint only and might not be provided by a driver.4215</summary>4216</member>4217<member name="F:Tao.Platform.Windows.Gdi.LPD_TRANSPARENT">4218<summary>4219Contains a transparent color or index value that enables underlying layers4220to show through this layer. All layer planes, except the lowest-numbered4221underlay layer, have a transparent color or index.4222</summary>4223</member>4224<member name="F:Tao.Platform.Windows.Gdi.PFD_TYPE_RGBA">4225<summary>4226RGBA pixels. Each pixel has four components in this order: red, green, blue,4227and alpha.4228</summary>4229</member>4230<member name="F:Tao.Platform.Windows.Gdi.PFD_TYPE_COLORINDEX">4231<summary>4232Color-index pixels. Each pixel uses a color-index value.4233</summary>4234</member>4235<member name="F:Tao.Platform.Windows.Gdi.PFD_MAIN_PLANE">4236<summary>4237The layer is the main plane.4238</summary>4239</member>4240<member name="F:Tao.Platform.Windows.Gdi.PFD_OVERLAY_PLANE">4241<summary>4242The layer is the overlay plane.4243</summary>4244</member>4245<member name="F:Tao.Platform.Windows.Gdi.PFD_UNDERLAY_PLANE">4246<summary>4247The layer is the underlay plane.4248</summary>4249</member>4250<member name="F:Tao.Platform.Windows.Gdi.PFD_DOUBLEBUFFER">4251<summary>4252<para>4253The buffer is double-buffered. This flag and <see cref="F:Tao.Platform.Windows.Gdi.PFD_SUPPORT_GDI"/>4254are mutually exclusive in the current generic implementation.4255</para>4256</summary>4257</member>4258<member name="F:Tao.Platform.Windows.Gdi.PFD_STEREO">4259<summary>4260<para>4261The buffer is stereoscopic. This flag is not supported in the current4262generic implementation.4263</para>4264</summary>4265</member>4266<member name="F:Tao.Platform.Windows.Gdi.PFD_DRAW_TO_WINDOW">4267<summary>4268<para>4269The buffer can draw to a window or device surface.4270</para>4271</summary>4272</member>4273<member name="F:Tao.Platform.Windows.Gdi.PFD_DRAW_TO_BITMAP">4274<summary>4275<para>4276The buffer can draw to a memory bitmap.4277</para>4278</summary>4279</member>4280<member name="F:Tao.Platform.Windows.Gdi.PFD_SUPPORT_GDI">4281<summary>4282<para>4283The buffer supports GDI drawing. This flag and4284<see cref="F:Tao.Platform.Windows.Gdi.PFD_DOUBLEBUFFER"/> are mutually exclusive in the current generic4285implementation.4286</para>4287</summary>4288</member>4289<member name="F:Tao.Platform.Windows.Gdi.PFD_SUPPORT_OPENGL">4290<summary>4291<para>4292The buffer supports OpenGL drawing.4293</para>4294</summary>4295</member>4296<member name="F:Tao.Platform.Windows.Gdi.PFD_GENERIC_FORMAT">4297<summary>4298<para>4299The pixel format is supported by the GDI software implementation, which is4300also known as the generic implementation. If this bit is clear, the pixel4301format is supported by a device driver or hardware.4302</para>4303</summary>4304</member>4305<member name="F:Tao.Platform.Windows.Gdi.PFD_NEED_PALETTE">4306<summary>4307<para>4308The buffer uses RGBA pixels on a palette-managed device. A logical palette4309is required to achieve the best results for this pixel type. Colors in the4310palette should be specified according to the values of the <b>cRedBits</b>,4311<b>cRedShift</b>, <b>cGreenBits</b>, <b>cGreenShift</b>, <b>cBluebits</b>,4312and <b>cBlueShift</b> members. The palette should be created and realized in4313the device context before calling <see cref="M:Tao.Platform.Windows.Wgl.wglMakeCurrent(System.IntPtr,System.IntPtr)"/>.4314</para>4315</summary>4316</member>4317<member name="F:Tao.Platform.Windows.Gdi.PFD_NEED_SYSTEM_PALETTE">4318<summary>4319<para>4320Defined in the pixel format descriptors of hardware that supports one4321hardware palette in 256-color mode only. For such systems to use4322hardware acceleration, the hardware palette must be in a fixed order4323(for example, 3-3-2) when in RGBA mode or must match the logical palette4324when in color-index mode.4325</para>4326<para>4327When this flag is set, you must call see cref="SetSystemPaletteUse" /> in4328your program to force a one-to-one mapping of the logical palette and the4329system palette. If your OpenGL hardware supports multiple hardware palettes4330and the device driver can allocate spare hardware palettes for OpenGL, this4331flag is typically clear.4332</para>4333<para>4334This flag is not set in the generic pixel formats.4335</para>4336</summary>4337</member>4338<member name="F:Tao.Platform.Windows.Gdi.PFD_SWAP_EXCHANGE">4339<summary>4340<para>4341Specifies the content of the back buffer in the double-buffered main color4342plane following a buffer swap. Swapping the color buffers causes the4343exchange of the back buffer's content with the front buffer's content.4344Following the swap, the back buffer's content contains the front buffer's4345content before the swap. <b>PFD_SWAP_EXCHANGE</b> is a hint only and might4346not be provided by a driver.4347</para>4348</summary>4349</member>4350<member name="F:Tao.Platform.Windows.Gdi.PFD_SWAP_COPY">4351<summary>4352<para>4353Specifies the content of the back buffer in the double-buffered main color4354plane following a buffer swap. Swapping the color buffers causes the content4355of the back buffer to be copied to the front buffer. The content of the back4356buffer is not affected by the swap. <b>PFD_SWAP_COPY</b> is a hint only and4357might not be provided by a driver.4358</para>4359</summary>4360</member>4361<member name="F:Tao.Platform.Windows.Gdi.PFD_SWAP_LAYER_BUFFERS">4362<summary>4363<para>4364Indicates whether a device can swap individual layer planes with pixel4365formats that include double-buffered overlay or underlay planes.4366Otherwise all layer planes are swapped together as a group. When this4367flag is set, <see cref="M:Tao.Platform.Windows.Wgl.wglSwapLayerBuffers(System.IntPtr,System.Int32)"/> is supported.4368</para>4369</summary>4370</member>4371<member name="F:Tao.Platform.Windows.Gdi.PFD_GENERIC_ACCELERATED">4372<summary>4373<para>4374The pixel format is supported by a device driver that accelerates the generic4375implementation. If this flag is clear and the4376<see cref="F:Tao.Platform.Windows.Gdi.PFD_GENERIC_FORMAT"/> flag is set, the pixel format is supported4377by the generic implementation only.4378</para>4379</summary>4380</member>4381<member name="F:Tao.Platform.Windows.Gdi.PFD_SUPPORT_DIRECTDRAW">4382<summary>4383<para>4384The buffer supports DirectDraw drawing.4385</para>4386</summary>4387</member>4388<member name="F:Tao.Platform.Windows.Gdi.PFD_DEPTH_DONTCARE">4389<summary>4390<para>4391The requested pixel format can either have or not have a depth buffer. To4392select a pixel format without a depth buffer, you must specify this flag.4393The requested pixel format can be with or without a depth buffer. Otherwise,4394only pixel formats with a depth buffer are considered.4395</para>4396</summary>4397</member>4398<member name="F:Tao.Platform.Windows.Gdi.PFD_DOUBLEBUFFER_DONTCARE">4399<summary>4400<para>4401The requested pixel format can be either single- or double-buffered.4402</para>4403</summary>4404</member>4405<member name="F:Tao.Platform.Windows.Gdi.PFD_STEREO_DONTCARE">4406<summary>4407<para>4408The requested pixel format can be either monoscopic or stereoscopic.4409</para>4410</summary>4411</member>4412<member name="F:Tao.Platform.Windows.Gdi.DM_BITSPERPEL">4413<summary>44144415</summary>4416</member>4417<member name="F:Tao.Platform.Windows.Gdi.DM_PELSWIDTH">4418<summary>44194420</summary>4421</member>4422<member name="F:Tao.Platform.Windows.Gdi.DM_PELSHEIGHT">4423<summary>44244425</summary>4426</member>4427<member name="F:Tao.Platform.Windows.Gdi.DM_DISPLAYFLAGS">4428<summary>44294430</summary>4431</member>4432<member name="F:Tao.Platform.Windows.Gdi.DM_DISPLAYFREQUENCY">4433<summary>44344435</summary>4436</member>4437<member name="F:Tao.Platform.Windows.Gdi.OUT_TT_PRECIS">4438<summary>44394440</summary>4441</member>4442<member name="F:Tao.Platform.Windows.Gdi.CLIP_DEFAULT_PRECIS">4443<summary>44444445</summary>4446</member>4447<member name="F:Tao.Platform.Windows.Gdi.DEFAULT_QUALITY">4448<summary>44494450</summary>4451</member>4452<member name="F:Tao.Platform.Windows.Gdi.DRAFT_QUALITY">4453<summary>44544455</summary>4456</member>4457<member name="F:Tao.Platform.Windows.Gdi.PROOF_QUALITY">4458<summary>44594460</summary>4461</member>4462<member name="F:Tao.Platform.Windows.Gdi.NONANTIALIASED_QUALITY">4463<summary>44644465</summary>4466</member>4467<member name="F:Tao.Platform.Windows.Gdi.ANTIALIASED_QUALITY">4468<summary>44694470</summary>4471</member>4472<member name="F:Tao.Platform.Windows.Gdi.CLEARTYPE_QUALITY">4473<summary>44744475</summary>4476</member>4477<member name="F:Tao.Platform.Windows.Gdi.CLEARTYPE_NATURAL_QUALITY">4478<summary>44794480</summary>4481</member>4482<member name="F:Tao.Platform.Windows.Gdi.DEFAULT_PITCH">4483<summary>44844485</summary>4486</member>4487<member name="F:Tao.Platform.Windows.Gdi.FIXED_PITCH">4488<summary>44894490</summary>4491</member>4492<member name="F:Tao.Platform.Windows.Gdi.VARIABLE_PITCH">4493<summary>44944495</summary>4496</member>4497<member name="F:Tao.Platform.Windows.Gdi.MONO_FONT">4498<summary>44994500</summary>4501</member>4502<member name="F:Tao.Platform.Windows.Gdi.ANSI_CHARSET">4503<summary>45044505</summary>4506</member>4507<member name="F:Tao.Platform.Windows.Gdi.DEFAULT_CHARSET">4508<summary>45094510</summary>4511</member>4512<member name="F:Tao.Platform.Windows.Gdi.SYMBOL_CHARSET">4513<summary>45144515</summary>4516</member>4517<member name="F:Tao.Platform.Windows.Gdi.SHIFTJIS_CHARSET">4518<summary>45194520</summary>4521</member>4522<member name="F:Tao.Platform.Windows.Gdi.FF_DONTCARE">4523<summary>45244525</summary>4526</member>4527<member name="F:Tao.Platform.Windows.Gdi.FW_BOLD">4528<summary>45294530</summary>4531</member>4532<member name="M:Tao.Platform.Windows.Gdi._SetPixelFormat(System.IntPtr,System.Int32,Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR@)">4533<summary>45344535</summary>4536</member>4537<member name="M:Tao.Platform.Windows.Gdi.ChoosePixelFormat(System.IntPtr,Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR@)">4538<summary>4539The <b>ChoosePixelFormat</b> function attempts to match an appropriate pixel format supported by a device context4540to a given pixel format specification.4541</summary>4542<param name="deviceContext">4543Specifies the device context that the function examines to determine the best match for the pixel format4544descriptor pointed to by <i>ppfd</i>.4545</param>4546<param name="pixelFormatDescriptor">4547<para>4548Pointer to a <see cref="T:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR"/> structure that specifies the requested pixel format.4549In this context, the members of the <b>PIXELFORMATDESCRIPTOR</b> structure that <i>ppfd</i>4550points to are used as follows:4551</para>4552<para>4553<b>nSize</b><br/>4554Specifies the size of the <b>PIXELFORMATDESCRIPTOR</b> data structure. Set this member to4555<c>sizeof(PIXELFORMATDESCRIPTOR)</c>.4556</para>4557<para>4558<b>nVersion</b><br/>4559Specifies the version number of the <b>PIXELFORMATDESCRIPTOR</b> data structure. Set this member to 1.4560</para>4561<para>4562<b>dwFlags</b><br/>4563A set of bit flags that specify properties of the pixel buffer. You can combine the following bit4564flag constants by using bitwise-OR.<br/><br/>4565If any of the following flags are set, the <b>ChoosePixelFormat</b> function attempts to match pixel4566formats that also have that flag or flags set. Otherwise, <b>ChoosePixelFormat</b> ignores that flag4567in the pixel formats:<br/><br/>4568PFD_DRAW_TO_WINDOW<br/>4569PFD_DRAW_TO_BITMAP<br/>4570PFD_SUPPORT_GDI<br/>4571PFD_SUPPORT_OPENGL<br/><br/>4572If any of the following flags are set, <b>ChoosePixelFormat</b> attempts to match pixel formats that4573also have that flag or flags set. Otherwise, it attempts to match pixel formats without that flag set:<br/><br/>4574PFD_DOUBLEBUFFER<br/>4575PFD_STEREO<br/><br/>4576If the following flag is set, the function ignores the PFD_DOUBLEBUFFER flag in the pixel formats:<br/><br/>4577PFD_DOUBLEBUFFER_DONTCARE<br/><br/>4578If the following flag is set, the function ignores the PFD_STEREO flag in the pixel formats:<br/><br/>4579PFD_STEREO_DONTCARE<br/>4580</para>4581<para>4582<b>iPixelType</b><br/>4583Specifies the type of pixel format for the function to consider:<br/><br/>4584PFD_TYPE_RGBA<br/>4585PFD_TYPE_COLORINDEX<br/>4586</para>4587<para>4588<b>cColorBits</b><br/>4589Zero or greater.4590</para>4591<para>4592<b>cRedBits</b><br/>4593Not used.4594</para>4595<para>4596<b>cRedShift</b><br/>4597Not used.4598</para>4599<para>4600<b>cGreenBits</b><br/>4601Not used.4602</para>4603<para>4604<b>cGreenShift</b><br/>4605Not used.4606</para>4607<para>4608<b>cBlueBits</b><br/>4609Not used.4610</para>4611<para>4612<b>cBlueShift</b><br/>4613Not used.4614</para>4615<para>4616<b>cAlphaBits</b><br/>4617Zero or greater.4618</para>4619<para>4620<b>cAlphaShift</b><br/>4621Not used.4622</para>4623<para>4624<b>cAccumBits</b><br/>4625Zero or greater.4626</para>4627<para>4628<b>cAccumRedBits</b><br/>4629Not used.4630</para>4631<para>4632<b>cAccumGreenBits</b><br/>4633Not used.4634</para>4635<para>4636<b>cAccumBlueBits</b><br/>4637Not used.4638</para>4639<para>4640<b>cAccumAlphaBits</b><br/>4641Not used.4642</para>4643<para>4644<b>cDepthBits</b><br/>4645Zero or greater.4646</para>4647<para>4648<b>cStencilBits</b><br/>4649Zero or greater.4650</para>4651<para>4652<b>cAuxBuffers</b><br/>4653Zero or greater.4654</para>4655<para>4656<b>iLayerType</b><br/>4657Specifies one of the following layer type values:<br/><br/>4658PFD_MAIN_PLANE<br/>4659PFD_OVERLAY_PLANE<br/>4660PFD_UNDERLAY_PLANE<br/>4661</para>4662<para>4663<b>bReserved</b><br/>4664Not used.4665</para>4666<para>4667<b>dwLayerMask</b><br/>4668Not used.4669</para>4670<para>4671<b>dwVisibleMask</b><br/>4672Not used.4673</para>4674<para>4675<b>dwDamageMask</b><br/>4676Not used.4677</para>4678</param>4679<returns>4680If the function succeeds, the return value is a pixel format index (one-based) that is the closest match4681to the given pixel format descriptor.<br/><br/>4682If the function fails, the return value is zero. To get extended error information,4683call see cref="Kernel.GetLastError" />.4684</returns>4685<remarks>4686You must ensure that the pixel format matched by the <b>ChoosePixelFormat</b> function satisfies your4687requirements. For example, if you request a pixel format with a 24-bit RGB color buffer but the device4688context offers only 8-bit RGB color buffers, the function returns a pixel format with an 8-bit RGB color4689buffer.<br/><br/>4690The following code sample shows how to use <b>ChoosePixelFormat</b> to match a specified pixel4691format:<br/><br/>4692<code>4693HDC hdc;4694int pixelFormat;4695Gdi.PIXELFORMATDESCRIPTOR pfd;46964697// size of this pfd4698pfd.nSize = (ushort) sizeof(Gdi.PIXELFORMATDESCRIPTOR);46994700// version number4701pfd.nVersion = 1;47024703// support window, support OpenGL, double buffered4704pfd.dwFlags = Gdi.PFD_DRAW_TO_WINDOW | Gdi.PFD_SUPPORT_OPENGL | Gdi.PFD_DOUBLEBUFFER;47054706// RGBA type4707pfd.iPixelType = Gdi.PFD_TYPE_RGBA;47084709// 24-bit color depth4710pfd.cColorBits = 24;47114712// color bits and shift bits ignored4713pfd.cRedBits = 0;4714pfd.cRedShift = 0;4715pfd.cGreenBits = 0;4716pfd.cGreenShift = 0;4717pfd.cBlueBits = 0;4718pfd.cBlueShift = 0;4719pfd.cAlphaBits = 0;4720pfd.cAlphaShift = 0;47214722// no accumulation buffer, accum bits ignored4723pfd.cAccumBits = 0;4724pfd.cAccumRedBits = 0;4725pfd.cAccumGreenBits = 0;4726pfd.cAccumBlueBits = 0;4727pfd.cAccumAlphaBits = 0;47284729// no stencil buffer4730pfd.cStencilBits = 0;47314732// no auxiliary buffer4733pfd.cAuxBuffers = 0;47344735// main layer4736pfd.iLayerType = Gdi.PFD_MAIN_PLANE;47374738// reserved4739pfd.bReserved = 0;47404741// layer masks ignored4742pfd.dwLayerMask = 0;4743pfd.dwVisibleMask = 0;4744pfd.dwDamageMask = 0;47454746pixelFormat = Gdi.ChoosePixelFormat(hdc, &pfd);4747</code>4748</remarks>4749seealso cref="DescribePixelFormat" />4750seealso cref="GetPixelFormat" />4751<seealso cref="M:Tao.Platform.Windows.Gdi.SetPixelFormat(System.IntPtr,System.Int32,Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR@)"/>4752</member>4753<member name="M:Tao.Platform.Windows.Gdi.SetPixelFormat(System.IntPtr,System.Int32,Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR@)">4754<summary>4755The <b>SetPixelFormat</b> function sets the pixel format of the specified device context to the format4756specified by the <i>iPixelFormat</i> index.4757</summary>4758<param name="deviceContext">4759Specifies the device context whose pixel format the function attempts to set.4760</param>4761<param name="pixelFormat">4762Index that identifies the pixel format to set. The various pixel formats supported by a device4763context are identified by one-based indexes.4764</param>4765<param name="pixelFormatDescriptor">4766Pointer to a <see cref="T:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR"/> structure that contains the logical pixel4767format specification. The system's metafile component uses this structure to record the logical4768pixel format specification. The structure has no other effect upon the behavior of the4769<b>SetPixelFormat</b> function.4770</param>4771<returns>4772If the function succeeds, the return value is true.<br/><br/>4773If the function fails, the return value is false. To get extended error information, call4774see cref="Kernel.GetLastError" />.4775</returns>4776<remarks>4777If <i>hdc</i> references a window, calling the <b>SetPixelFormat</b> function also changes the pixel format4778of the window. Setting the pixel format of a window more than once can lead to significant complications4779for the Window Manager and for multithread applications, so it is not allowed. An application can only set4780the pixel format of a window one time. Once a window's pixel format is set, it cannot be changed.<br/><br/>47814782You should select a pixel format in the device context before calling the <see cref="M:Tao.Platform.Windows.Wgl.wglCreateContext(System.IntPtr)"/>4783function. The <b>wglCreateContext</b> function creates a rendering context for drawing on the device in the4784selected pixel format of the device context.<br/><br/>47854786An OpenGL window has its own pixel format. Because of this, only device contexts retrieved for the client4787area of an OpenGL window are allowed to draw into the window. As a result, an OpenGL window should be created4788with the WS_CLIPCHILDREN and WS_CLIPSIBLINGS styles. Additionally, the window class attribute should not4789include the CS_PARENTDC style.<br/><br/>47904791The following code example shows <b>SetPixelFormat</b> usage:<br/><br/>47924793<code>4794HDC hdc;4795int pixelFormat;4796Gdi.PIXELFORMATDESCRIPTOR pfd;47974798// size of this pfd4799pfd.nSize = (ushort) sizeof(Gdi.PIXELFORMATDESCRIPTOR);48004801// version number4802pfd.nVersion = 1;48034804// support window, support OpenGL, double buffered4805pfd.dwFlags = Gdi.PFD_DRAW_TO_WINDOW | Gdi.PFD_SUPPORT_OPENGL | Gdi.PFD_DOUBLEBUFFER;48064807// RGBA type4808pfd.iPixelType = Gdi.PFD_TYPE_RGBA;48094810// 24-bit color depth4811pfd.cColorBits = 24;48124813// color bits and shift bits ignored4814pfd.cRedBits = 0;4815pfd.cRedShift = 0;4816pfd.cGreenBits = 0;4817pfd.cGreenShift = 0;4818pfd.cBlueBits = 0;4819pfd.cBlueShift = 0;4820pfd.cAlphaBits = 0;4821pfd.cAlphaShift = 0;48224823// no accumulation buffer, accum bits ignored4824pfd.cAccumBits = 0;4825pfd.cAccumRedBits = 0;4826pfd.cAccumGreenBits = 0;4827pfd.cAccumBlueBits = 0;4828pfd.cAccumAlphaBits = 0;48294830// no stencil buffer4831pfd.cStencilBits = 0;48324833// no auxiliary buffer4834pfd.cAuxBuffers = 0;48354836// main layer4837pfd.iLayerType = Gdi.PFD_MAIN_PLANE;48384839// reserved4840pfd.bReserved = 0;48414842// layer masks ignored4843pfd.dwLayerMask = 0;4844pfd.dwVisibleMask = 0;4845pfd.dwDamageMask = 0;48464847pixelFormat = Gdi.ChoosePixelFormat(hdc, &pfd);48484849// make that the pixel format of the device context4850Gdi.SetPixelFormat(hdc, pixelFormat, &pfd);4851</code>4852</remarks>4853<seealso cref="M:Tao.Platform.Windows.Gdi.ChoosePixelFormat(System.IntPtr,Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR@)"/>4854seealso cref="DescribePixelFormat" />4855seealso cref="GetPixelFormat" />4856</member>4857<member name="M:Tao.Platform.Windows.Gdi.SwapBuffers(System.IntPtr)">4858<summary>48594860</summary>4861<param name="deviceContext"></param>4862<returns></returns>4863</member>4864<member name="M:Tao.Platform.Windows.Gdi.SwapBuffersFast(System.IntPtr)">4865<summary>48664867</summary>4868<param name="deviceContext"></param>4869<returns></returns>4870</member>4871<member name="M:Tao.Platform.Windows.Gdi.CreateFont(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.Boolean,System.Boolean,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.String)">4872<summary>48734874</summary>4875<param name="height"></param>4876<param name="width"></param>4877<param name="escapement"></param>4878<param name="orientation"></param>4879<param name="weight"></param>4880<param name="italic"></param>4881<param name="underline"></param>4882<param name="strikeOut"></param>4883<param name="charSet"></param>4884<param name="outputPrecision"></param>4885<param name="clipPrecision"></param>4886<param name="quality"></param>4887<param name="pitchAndFamily"></param>4888<param name="typeFace"></param>4889<returns></returns>4890</member>4891<member name="M:Tao.Platform.Windows.Gdi.DeleteObject(System.IntPtr)">4892<summary>48934894</summary>4895<param name="objectHandle"></param>4896<returns></returns>4897</member>4898<member name="M:Tao.Platform.Windows.Gdi.SelectObject(System.IntPtr,System.IntPtr)">4899<summary>49004901</summary>4902<param name="deviceContext"></param>4903<param name="objectHandle"></param>4904<returns></returns>4905</member>4906<member name="M:Tao.Platform.Windows.Gdi.GetDeviceCaps(System.IntPtr,System.Int32)">4907<summary>4908Retrieves device-specific information for the specified device.4909</summary>4910<param name="deviceContext">Handle to the DC</param>4911<param name="nIndex">Specifies the item to return</param>4912<returns></returns>4913</member>4914<member name="T:Tao.Platform.Windows.Gdi.DEVMODE">4915<summary>4916<para>4917The <b>DEVMODE</b> data structure contains information about the4918initialization and environment of a printer or a display device.4919</para>4920</summary>4921<remarks>4922<para>4923A device driver's private data follows the public portion of the4924<b>DEVMODE</b> structure. The size of the public data can vary for different4925versions of the structure. The <i>dmSize</i> member specifies the number of4926bytes of public data, and the <i>dmDriverExtra</i> member specifies the4927number of bytes of private data.4928</para>4929</remarks>4930<seealso cref="M:Tao.Platform.Windows.User.ChangeDisplaySettings(Tao.Platform.Windows.Gdi.DEVMODE@,System.Int32)"/>4931<seealso cref="M:Tao.Platform.Windows.User.EnumDisplaySettings(System.String,System.Int32,Tao.Platform.Windows.Gdi.DEVMODE@)"/>4932</member>4933<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmDeviceName">4934<summary>4935</summary>4936</member>4937<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmSpecVersion">4938<summary>4939</summary>4940</member>4941<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmDriverVersion">4942<summary>4943</summary>4944</member>4945<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmSize">4946<summary>4947</summary>4948</member>4949<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmDriverExtra">4950<summary>4951</summary>4952</member>4953<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmFields">4954<summary>4955</summary>4956</member>4957<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmOrientation">4958<summary>49594960</summary>4961</member>4962<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmPaperSize">4963<summary>49644965</summary>4966</member>4967<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmPaperLength">4968<summary>49694970</summary>4971</member>4972<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmPaperWidth">4973<summary>49744975</summary>4976</member>4977<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmScale">4978<summary>49794980</summary>4981</member>4982<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmCopies">4983<summary>49844985</summary>4986</member>4987<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmDefaultSource">4988<summary>49894990</summary>4991</member>4992<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmPrintQuality">4993<summary>49944995</summary>4996</member>4997<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmColor">4998<summary>49995000</summary>5001</member>5002<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmDuplex">5003<summary>50045005</summary>5006</member>5007<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmYResolution">5008<summary>50095010</summary>5011</member>5012<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmTTOption">5013<summary>50145015</summary>5016</member>5017<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmCollate">5018<summary>50195020</summary>5021</member>5022<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmFormName">5023<summary>50245025</summary>5026</member>5027<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmLogPixels">5028<summary>50295030</summary>5031</member>5032<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmBitsPerPel">5033<summary>5034</summary>5035</member>5036<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmPelsWidth">5037<summary>5038</summary>5039</member>5040<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmPelsHeight">5041<summary>5042</summary>5043</member>5044<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmDisplayFlags">5045<summary>5046</summary>5047</member>5048<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmDisplayFrequency">5049<summary>50505051</summary>5052</member>5053<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmICMMethod">5054<summary>5055</summary>5056</member>5057<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmICMIntent">5058<summary>5059</summary>5060</member>5061<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmMediaType">5062<summary>50635064</summary>5065</member>5066<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmDitherType">5067<summary>5068</summary>5069</member>5070<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmReserved1">5071<summary>5072</summary>5073</member>5074<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmReserved2">5075<summary>50765077</summary>5078</member>5079<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmPanningWidth">5080<summary>5081</summary>5082</member>5083<member name="F:Tao.Platform.Windows.Gdi.DEVMODE.dmPanningHeight">5084<summary>5085</summary>5086</member>5087<member name="T:Tao.Platform.Windows.Gdi.GLYPHMETRICSFLOAT">5088<summary>5089The <b>GLYPHMETRICSFLOAT</b> structure contains information about the placement and orientation of a glyph in a5090character cell.5091</summary>5092<remarks>The values of <b>GLYPHMETRICSFLOAT</b> are specified as notional units.</remarks>5093<seealso cref="T:Tao.Platform.Windows.Gdi.POINTFLOAT"/>5094<seealso cref="M:Tao.Platform.Windows.Wgl.wglUseFontOutlinesA(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Single,System.Single,System.Int32,Tao.Platform.Windows.Gdi.GLYPHMETRICSFLOAT[])"/>5095</member>5096<member name="F:Tao.Platform.Windows.Gdi.GLYPHMETRICSFLOAT.gmfBlackBoxX">5097<summary>5098Specifies the width of the smallest rectangle (the glyph's black box) that completely encloses the glyph.5099</summary>5100</member>5101<member name="F:Tao.Platform.Windows.Gdi.GLYPHMETRICSFLOAT.gmfBlackBoxY">5102<summary>5103Specifies the height of the smallest rectangle (the glyph's black box) that completely encloses the glyph.5104</summary>5105</member>5106<member name="F:Tao.Platform.Windows.Gdi.GLYPHMETRICSFLOAT.gmfptGlyphOrigin">5107<summary>5108Specifies the x and y coordinates of the upper-left corner of the smallest rectangle that completely encloses the glyph.5109</summary>5110</member>5111<member name="F:Tao.Platform.Windows.Gdi.GLYPHMETRICSFLOAT.gmfCellIncX">5112<summary>5113Specifies the horizontal distance from the origin of the current character cell to the origin of the next character cell.5114</summary>5115</member>5116<member name="F:Tao.Platform.Windows.Gdi.GLYPHMETRICSFLOAT.gmfCellIncY">5117<summary>5118Specifies the vertical distance from the origin of the current character cell to the origin of the next character cell.5119</summary>5120</member>5121<member name="T:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR">5122<summary>5123The <b>PIXELFORMATDESCRIPTOR</b> structure describes the pixel format of a drawing surface.5124</summary>5125<remarks>5126Please notice carefully, as documented in the members, that certain pixel format properties are not supported5127in the current generic implementation. The generic implementation is the Microsoft GDI software5128implementation of OpenGL. Hardware manufacturers may enhance parts of OpenGL, and may support some5129pixel format properties not supported by the generic implementation.5130</remarks>5131<seealso cref="M:Tao.Platform.Windows.Gdi.ChoosePixelFormat(System.IntPtr,Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR@)"/>5132seealso cref="DescribePixelFormat" />5133seealso cref="GetPixelFormat" />5134<seealso cref="M:Tao.Platform.Windows.Gdi.SetPixelFormat(System.IntPtr,System.Int32,Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR@)"/>5135</member>5136<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.nSize">5137<summary>5138Specifies the size of this data structure. This value should be set to <c>sizeof(PIXELFORMATDESCRIPTOR)</c>.5139</summary>5140</member>5141<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.nVersion">5142<summary>5143Specifies the version of this data structure. This value should be set to 1.5144</summary>5145</member>5146<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.dwFlags">5147<summary>5148A set of bit flags that specify properties of the pixel buffer. The properties are generally not mutually exclusive;5149you can set any combination of bit flags, with the exceptions noted.5150</summary>5151<remarks>5152<para>The following bit flag constants are defined:</para>5153<list type="table">5154<listheader>5155<term>Value</term>5156<description>Meaning</description>5157</listheader>5158<item>5159<term>PFD_DRAW_TO_WINDOW</term>5160<description>The buffer can draw to a window or device surface.</description>5161</item>5162<item>5163<term>PFD_DRAW_TO_BITMAP</term>5164<description>The buffer can draw to a memory bitmap.</description>5165</item>5166<item>5167<term>PFD_SUPPORT_GDI</term>5168<description>5169The buffer supports GDI drawing. This flag and PFD_DOUBLEBUFFER are mutually exclusive5170in the current generic implementation.5171</description>5172</item>5173<item>5174<term>PFD_SUPPORT_OPENGL</term>5175<description>The buffer supports OpenGL drawing.</description>5176</item>5177<item>5178<term>PFD_GENERIC_ACCELERATED</term>5179<description>5180The pixel format is supported by a device driver that accelerates the generic implementation.5181If this flag is clear and the PFD_GENERIC_FORMAT flag is set, the pixel format is supported by5182the generic implementation only.5183</description>5184</item>5185<item>5186<term>PFD_GENERIC_FORMAT</term>5187<description>5188The pixel format is supported by the GDI software implementation, which is also known as the5189generic implementation. If this bit is clear, the pixel format is supported by a device5190driver or hardware.5191</description>5192</item>5193<item>5194<term>PFD_NEED_PALETTE</term>5195<description>5196The buffer uses RGBA pixels on a palette-managed device. A logical palette is required to achieve5197the best results for this pixel type. Colors in the palette should be specified according to the5198values of the <b>cRedBits</b>, <b>cRedShift</b>, <b>cGreenBits</b>, <b>cGreenShift</b>,5199<b>cBluebits</b>, and <b>cBlueShift</b> members. The palette should be created and realized in5200the device context before calling <see cref="M:Tao.Platform.Windows.Wgl.wglMakeCurrent(System.IntPtr,System.IntPtr)"/>.5201</description>5202</item>5203<item>5204<term>PFD_NEED_SYSTEM_PALETTE</term>5205<description>5206Defined in the pixel format descriptors of hardware that supports one hardware palette in5207256-color mode only. For such systems to use hardware acceleration, the hardware palette must be in5208a fixed order (for example, 3-3-2) when in RGBA mode or must match the logical palette when in5209color-index mode.52105211When this flag is set, you must call SetSystemPaletteUse in your program to force a one-to-one5212mapping of the logical palette and the system palette. If your OpenGL hardware supports multiple5213hardware palettes and the device driver can allocate spare hardware palettes for OpenGL, this5214flag is typically clear.52155216This flag is not set in the generic pixel formats.5217</description>5218</item>5219<item>5220<term>PFD_DOUBLEBUFFER</term>5221<description>5222The buffer is double-buffered. This flag and PFD_SUPPORT_GDI are mutually exclusive in the5223current generic implementation.5224</description>5225</item>5226<item>5227<term>PFD_STEREO</term>5228<description>5229The buffer is stereoscopic. This flag is not supported in the current generic implementation.5230</description>5231</item>5232<item>5233<term>PFD_SWAP_LAYER_BUFFERS</term>5234<description>5235Indicates whether a device can swap individual layer planes with pixel formats that include5236double-buffered overlay or underlay planes. Otherwise all layer planes are swapped together5237as a group. When this flag is set, <b>wglSwapLayerBuffers</b> is supported.5238</description>5239</item>5240</list>5241<para>You can specify the following bit flags when calling <see cref="M:Tao.Platform.Windows.Gdi.ChoosePixelFormat(System.IntPtr,Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR@)"/>.</para>5242<list type="table">5243<listheader>5244<term>Value</term>5245<description>Meaning</description>5246</listheader>5247<item>5248<term>PFD_DEPTH_DONTCARE</term>5249<description>5250The requested pixel format can either have or not have a depth buffer. To select5251a pixel format without a depth buffer, you must specify this flag. The requested pixel format5252can be with or without a depth buffer. Otherwise, only pixel formats with a depth buffer5253are considered.5254</description>5255</item>5256<item>5257<term>PFD_DOUBLEBUFFER_DONTCARE</term>5258<description>The requested pixel format can be either single- or double-buffered.</description>5259</item>5260<item>5261<term>PFD_STEREO_DONTCARE</term>5262<description>The requested pixel format can be either monoscopic or stereoscopic.</description>5263</item>5264</list>5265<para>5266With the <b>glAddSwapHintRectWIN</b> extension function, two new flags are included for the5267<b>PIXELFORMATDESCRIPTOR</b> pixel format structure.5268</para>5269<list type="table">5270<listheader>5271<term>Value</term>5272<description>Meaning</description>5273</listheader>5274<item>5275<term>PFD_SWAP_COPY</term>5276<description>5277Specifies the content of the back buffer in the double-buffered main color plane following5278a buffer swap. Swapping the color buffers causes the content of the back buffer to be copied5279to the front buffer. The content of the back buffer is not affected by the swap. PFD_SWAP_COPY5280is a hint only and might not be provided by a driver.5281</description>5282</item>5283<item>5284<term>PFD_SWAP_EXCHANGE</term>5285<description>5286Specifies the content of the back buffer in the double-buffered main color plane following a5287buffer swap. Swapping the color buffers causes the exchange of the back buffer's content5288with the front buffer's content. Following the swap, the back buffer's content contains the5289front buffer's content before the swap. PFD_SWAP_EXCHANGE is a hint only and might not be5290provided by a driver.5291</description>5292</item>5293</list>5294</remarks>5295</member>5296<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.iPixelType">5297<summary>5298Specifies the type of pixel data. The following types are defined.5299</summary>5300<remarks>5301<list type="table">5302<listheader>5303<term>Value</term>5304<description>Meaning</description>5305</listheader>5306<item>5307<term>PFD_TYPE_RGBA</term>5308<description>5309RGBA pixels. Each pixel has four components in this order: red, green, blue, and alpha.5310</description>5311</item>5312<item>5313<term>PFD_TYPE_COLORINDEX</term>5314<description>Color-index pixels. Each pixel uses a color-index value.</description>5315</item>5316</list>5317</remarks>5318</member>5319<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.cColorBits">5320<summary>5321Specifies the number of color bitplanes in each color buffer. For RGBA pixel types, it is the size5322of the color buffer, excluding the alpha bitplanes. For color-index pixels, it is the size of the5323color-index buffer.5324</summary>5325</member>5326<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.cRedBits">5327<summary>5328Specifies the number of red bitplanes in each RGBA color buffer.5329</summary>5330</member>5331<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.cRedShift">5332<summary>5333Specifies the shift count for red bitplanes in each RGBA color buffer.5334</summary>5335</member>5336<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.cGreenBits">5337<summary>5338Specifies the number of green bitplanes in each RGBA color buffer.5339</summary>5340</member>5341<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.cGreenShift">5342<summary>5343Specifies the shift count for green bitplanes in each RGBA color buffer.5344</summary>5345</member>5346<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.cBlueBits">5347<summary>5348Specifies the number of blue bitplanes in each RGBA color buffer.5349</summary>5350</member>5351<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.cBlueShift">5352<summary>5353Specifies the shift count for blue bitplanes in each RGBA color buffer.5354</summary>5355</member>5356<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.cAlphaBits">5357<summary>5358Specifies the number of alpha bitplanes in each RGBA color buffer. Alpha bitplanes are not supported.5359</summary>5360</member>5361<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.cAlphaShift">5362<summary>5363Specifies the shift count for alpha bitplanes in each RGBA color buffer. Alpha bitplanes are not supported.5364</summary>5365</member>5366<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.cAccumBits">5367<summary>5368Specifies the total number of bitplanes in the accumulation buffer.5369</summary>5370</member>5371<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.cAccumRedBits">5372<summary>5373Specifies the number of red bitplanes in the accumulation buffer.5374</summary>5375</member>5376<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.cAccumGreenBits">5377<summary>5378Specifies the number of green bitplanes in the accumulation buffer.5379</summary>5380</member>5381<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.cAccumBlueBits">5382<summary>5383Specifies the number of blue bitplanes in the accumulation buffer.5384</summary>5385</member>5386<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.cAccumAlphaBits">5387<summary>5388Specifies the number of alpha bitplanes in the accumulation buffer.5389</summary>5390</member>5391<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.cDepthBits">5392<summary>5393Specifies the depth of the depth (z-axis) buffer.5394</summary>5395</member>5396<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.cStencilBits">5397<summary>5398Specifies the depth of the stencil buffer.5399</summary>5400</member>5401<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.cAuxBuffers">5402<summary>5403Specifies the number of auxiliary buffers. Auxiliary buffers are not supported.5404</summary>5405</member>5406<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.iLayerType">5407<summary>5408Ignored. Earlier implementations of OpenGL used this member, but it is no longer used.5409</summary>5410<remarks>Specifies the type of layer.</remarks>5411</member>5412<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.bReserved">5413<summary>5414Specifies the number of overlay and underlay planes. Bits 0 through 3 specify up to 15 overlay planes and5415bits 4 through 7 specify up to 15 underlay planes.5416</summary>5417</member>5418<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.dwLayerMask">5419<summary>5420Ignored. Earlier implementations of OpenGL used this member, but it is no longer used.5421</summary>5422<remarks>5423Specifies the layer mask. The layer mask is used in conjunction with the visible mask to determine5424if one layer overlays another.5425</remarks>5426</member>5427<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.dwVisibleMask">5428<summary>5429Specifies the transparent color or index of an underlay plane. When the pixel type is RGBA, <b>dwVisibleMask</b>5430is a transparent RGB color value. When the pixel type is color index, it is a transparent index value.5431</summary>5432</member>5433<member name="F:Tao.Platform.Windows.Gdi.PIXELFORMATDESCRIPTOR.dwDamageMask">5434<summary>5435Ignored. Earlier implementations of OpenGL used this member, but it is no longer used.5436</summary>5437<remarks>5438Specifies whether more than one pixel format shares the same frame buffer. If the result of the bitwise5439AND of the damage masks between two pixel formats is nonzero, then they share the same buffers.5440</remarks>5441</member>5442<member name="T:Tao.Platform.Windows.Gdi.POINTFLOAT">5443<summary>5444The <b>POINTFLOAT</b> structure contains the x and y coordinates of a point.5445</summary>5446<seealso cref="T:Tao.Platform.Windows.Gdi.GLYPHMETRICSFLOAT"/>5447</member>5448<member name="F:Tao.Platform.Windows.Gdi.POINTFLOAT.X">5449<summary>5450Specifies the horizontal (x) coordinate of a point.5451</summary>5452</member>5453<member name="F:Tao.Platform.Windows.Gdi.POINTFLOAT.Y">5454<summary>5455Specifies the vertical (y) coordinate of a point.5456</summary>5457</member>5458<member name="T:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR">5459<summary>54605461</summary>5462</member>5463<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.nSize">5464<summary>54655466</summary>5467</member>5468<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.nVersion">5469<summary>54705471</summary>5472</member>5473<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.dwFlags">5474<summary>54755476</summary>5477</member>5478<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.iPixelType">5479<summary>54805481</summary>5482</member>5483<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.cColorBits">5484<summary>54855486</summary>5487</member>5488<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.cRedBits">5489<summary>54905491</summary>5492</member>5493<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.cRedShift">5494<summary>54955496</summary>5497</member>5498<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.cGreenBits">5499<summary>55005501</summary>5502</member>5503<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.cGreenShift">5504<summary>55055506</summary>5507</member>5508<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.cBlueBits">5509<summary>55105511</summary>5512</member>5513<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.cBlueShift">5514<summary>55155516</summary>5517</member>5518<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.cAlphaBits">5519<summary>55205521</summary>5522</member>5523<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.cAlphaShift">5524<summary>55255526</summary>5527</member>5528<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.cAccumBits">5529<summary>55305531</summary>5532</member>5533<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.cAccumRedBits">5534<summary>55355536</summary>5537</member>5538<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.cAccumGreenBits">5539<summary>55405541</summary>5542</member>5543<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.cAccumBlueBits">5544<summary>55455546</summary>5547</member>5548<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.cAccumAlphaBits">5549<summary>55505551</summary>5552</member>5553<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.cDepthBits">5554<summary>55555556</summary>5557</member>5558<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.cStencilBits">5559<summary>55605561</summary>5562</member>5563<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.cAuxBuffers">5564<summary>55655566</summary>5567</member>5568<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.iLayerPlane">5569<summary>55705571</summary>5572</member>5573<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.bReserved">5574<summary>55755576</summary>5577</member>5578<member name="F:Tao.Platform.Windows.Gdi.LAYERPLANEDESCRIPTOR.crTransparent">5579<summary>55805581</summary>5582</member>5583<member name="T:Tao.Platform.Windows.Gdi.DevCaps">5584<summary>5585Flags for <see cref="M:Tao.Platform.Windows.Gdi.GetDeviceCaps(System.IntPtr,System.Int32)"/>5586</summary>5587</member>5588<member name="F:Tao.Platform.Windows.Gdi.DevCaps.DRIVERVERSION">5589<summary>5590Device driver version5591</summary>5592</member>5593<member name="F:Tao.Platform.Windows.Gdi.DevCaps.TECHNOLOGY">5594<summary>5595Device classification5596</summary>5597</member>5598<member name="F:Tao.Platform.Windows.Gdi.DevCaps.HORZSIZE">5599<summary>5600Horizontal size in millimeters5601</summary>5602</member>5603<member name="F:Tao.Platform.Windows.Gdi.DevCaps.VERTSIZE">5604<summary>5605Vertical size in millimeters5606</summary>5607</member>5608<member name="F:Tao.Platform.Windows.Gdi.DevCaps.HORZRES">5609<summary>5610Horizontal width in pixels5611</summary>5612</member>5613<member name="F:Tao.Platform.Windows.Gdi.DevCaps.VERTRES">5614<summary>5615Vertical height in pixels5616</summary>5617</member>5618<member name="F:Tao.Platform.Windows.Gdi.DevCaps.BITSPIXEL">5619<summary>5620Number of bits per pixel5621</summary>5622</member>5623<member name="F:Tao.Platform.Windows.Gdi.DevCaps.PLANES">5624<summary>5625Number of planes5626</summary>5627</member>5628<member name="F:Tao.Platform.Windows.Gdi.DevCaps.NUMBRUSHES">5629<summary>5630Number of brushes the device has5631</summary>5632</member>5633<member name="F:Tao.Platform.Windows.Gdi.DevCaps.NUMPENS">5634<summary>5635Number of pens the device has5636</summary>5637</member>5638<member name="F:Tao.Platform.Windows.Gdi.DevCaps.NUMMARKERS">5639<summary>5640Number of markers the device has5641</summary>5642</member>5643<member name="F:Tao.Platform.Windows.Gdi.DevCaps.NUMFONTS">5644<summary>5645Number of fonts the device has5646</summary>5647</member>5648<member name="F:Tao.Platform.Windows.Gdi.DevCaps.NUMCOLORS">5649<summary>5650Number of colors the device supports5651</summary>5652</member>5653<member name="F:Tao.Platform.Windows.Gdi.DevCaps.PDEVICESIZE">5654<summary>5655Size required for device descriptor5656</summary>5657</member>5658<member name="F:Tao.Platform.Windows.Gdi.DevCaps.CURVECAPS">5659<summary>5660Curve capabilities5661</summary>5662</member>5663<member name="F:Tao.Platform.Windows.Gdi.DevCaps.LINECAPS">5664<summary>5665Line capabilities5666</summary>5667</member>5668<member name="F:Tao.Platform.Windows.Gdi.DevCaps.POLYGONALCAPS">5669<summary>5670Polygonal capabilities5671</summary>5672</member>5673<member name="F:Tao.Platform.Windows.Gdi.DevCaps.TEXTCAPS">5674<summary>5675Text capabilities5676</summary>5677</member>5678<member name="F:Tao.Platform.Windows.Gdi.DevCaps.CLIPCAPS">5679<summary>5680Clipping capabilities5681</summary>5682</member>5683<member name="F:Tao.Platform.Windows.Gdi.DevCaps.RASTERCAPS">5684<summary>5685Bitblt capabilities5686</summary>5687</member>5688<member name="F:Tao.Platform.Windows.Gdi.DevCaps.ASPECTX">5689<summary>5690Length of the X leg5691</summary>5692</member>5693<member name="F:Tao.Platform.Windows.Gdi.DevCaps.ASPECTY">5694<summary>5695Length of the Y leg5696</summary>5697</member>5698<member name="F:Tao.Platform.Windows.Gdi.DevCaps.ASPECTXY">5699<summary>5700Length of the hypotenuse5701</summary>5702</member>5703<member name="F:Tao.Platform.Windows.Gdi.DevCaps.SHADEBLENDCAPS">5704<summary>5705Shading and Blending caps5706</summary>5707</member>5708<member name="F:Tao.Platform.Windows.Gdi.DevCaps.LOGPIXELSX">5709<summary>5710Logical pixels inch in X5711</summary>5712</member>5713<member name="F:Tao.Platform.Windows.Gdi.DevCaps.LOGPIXELSY">5714<summary>5715Logical pixels inch in Y5716</summary>5717</member>5718<member name="F:Tao.Platform.Windows.Gdi.DevCaps.SIZEPALETTE">5719<summary>5720Number of entries in physical palette5721</summary>5722</member>5723<member name="F:Tao.Platform.Windows.Gdi.DevCaps.NUMRESERVED">5724<summary>5725Number of reserved entries in palette5726</summary>5727</member>5728<member name="F:Tao.Platform.Windows.Gdi.DevCaps.COLORRES">5729<summary>5730Actual color resolution5731</summary>5732</member>5733<member name="F:Tao.Platform.Windows.Gdi.DevCaps.PHYSICALWIDTH">5734<summary>5735Physical Width in device units5736</summary>5737</member>5738<member name="F:Tao.Platform.Windows.Gdi.DevCaps.PHYSICALHEIGHT">5739<summary>5740Physical Height in device units5741</summary>5742</member>5743<member name="F:Tao.Platform.Windows.Gdi.DevCaps.PHYSICALOFFSETX">5744<summary>5745Physical Printable Area x margin5746</summary>5747</member>5748<member name="F:Tao.Platform.Windows.Gdi.DevCaps.PHYSICALOFFSETY">5749<summary>5750Physical Printable Area y margin5751</summary>5752</member>5753<member name="F:Tao.Platform.Windows.Gdi.DevCaps.SCALINGFACTORX">5754<summary>5755Scaling factor x5756</summary>5757</member>5758<member name="F:Tao.Platform.Windows.Gdi.DevCaps.SCALINGFACTORY">5759<summary>5760Scaling factor y5761</summary>5762</member>5763<member name="F:Tao.Platform.Windows.Gdi.DevCaps.VREFRESH">5764<summary>5765Current vertical refresh rate of the display device (for displays only) in Hz5766</summary>5767</member>5768<member name="F:Tao.Platform.Windows.Gdi.DevCaps.DESKTOPVERTRES">5769<summary>5770Horizontal width of entire desktop in pixels5771</summary>5772</member>5773<member name="F:Tao.Platform.Windows.Gdi.DevCaps.DESKTOPHORZRES">5774<summary>5775Vertical height of entire desktop in pixels5776</summary>5777</member>5778<member name="F:Tao.Platform.Windows.Gdi.DevCaps.BLTALIGNMENT">5779<summary>5780Preferred blt alignment5781</summary>5782</member>5783</members>5784</doc>578557865787