main
1<?xml version="1.0"?>
2<doc>
3 <assembly>
4 <name>Wintellect.Threading</name>
5 </assembly>
6 <members>
7 <member name="T:Wintellect.CommandArgumentParser.CmdArgParser">
8 <summary>
9 A class that parses a command-line string into its individual arguments.
10 </summary>
11 </member>
12 <member name="M:Wintellect.CommandArgumentParser.CmdArgParser.Usage(System.Type)">
13 <summary>
14 Returns a string indicating the valid command-line arguments.
15 </summary>
16 <param name="optionType">The type adorned with custom
17 attributes that indicate the valid command-line arguments.</param>
18 <returns>A string indicating the valid command-line arguments.</returns>
19 </member>
20 <member name="M:Wintellect.CommandArgumentParser.CmdArgParser.Parse(Wintellect.CommandArgumentParser.ICmdArgs,System.String[])">
21 <summary>
22 Parses a set of command-line arguments populating the fields/properties of an ICmdArgs class object.
23 </summary>
24 <param name="cmdArgObj">Identifies the object whose fields/properties
25 should be set based on the command-line arguments.</param>
26 <param name="args">Identifies the command-line arguments.</param>
27 </member>
28 <member name="M:Wintellect.CommandArgumentParser.CmdArgParser.BreakStringIntoLinesOfSpecifiedWidth(System.String,System.Int32)">
29 <summary>
30 Breaks a string into lines where no line is more than the specified width.
31 </summary>
32 <param name="message">The string to break into lines.</param>
33 <param name="width">The maximum number of characters per line.</param>
34 <returns></returns>
35 </member>
36 <member name="T:Wintellect.CommandArgumentParser.ICmdArgs">
37 <summary>
38 A type containing fields/properties to be populated from
39 command-line arguments must implements this interface.
40 </summary>
41 </member>
42 <member name="M:Wintellect.CommandArgumentParser.ICmdArgs.Usage(System.String)">
43 <summary>
44 This method is called when a command-line argument fails to parse correctly.
45 </summary>
46 <param name="errorInfo">Indicates the command--line argument that failed to parse.</param>
47 </member>
48 <member name="M:Wintellect.CommandArgumentParser.ICmdArgs.Validate">
49 <summary>
50 This method is called after all the command-line arguments have been parsed.
51 </summary>
52 </member>
53 <member name="M:Wintellect.CommandArgumentParser.ICmdArgs.ProcessStandAloneArgument(System.String)">
54 <summary>
55 This method is called as stand-alone arguments are parsed.
56 </summary>
57 <param name="arg">Indicates the value of the stand-alone argument.</param>
58 </member>
59 <member name="T:Wintellect.Threading.ResourceLocks.OptexResourceLock">
60 <summary>
61 A fast mutual-exclusive lock
62 </summary>
63 </member>
64 <member name="T:Wintellect.Threading.ResourceLocks.ResourceLock">
65 <summary>A base class allowing the easy implementation of reader/writer locks.</summary>
66 </member>
67 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.PerformDeadlockDetection(System.Boolean)">
68 <summary>
69 Turns deadlock detection or or off
70 </summary>
71 <param name="enable">true to turn on deadlock detection; false to turn it off.</param>
72 </member>
73 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.#ctor(Wintellect.Threading.ResourceLocks.ResourceLockOptions)">
74 <summary>Initializes a new instance of a reader/writer lock indicating whether the lock is really a mutual-exclusive lock
75 and whether the lock requires that any thread that enters it must be the same thread to exit it.</summary>
76 <param name="resourceLockOptions">true if this lock really only allows one thread at a time into it; otherwise false.</param>
77 </member>
78 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.Dispose">
79 <summary>Releases all resources used by the reader/writer lock.</summary>
80 </member>
81 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.Dispose(System.Boolean)">
82 <summary>Releases all resources used by the reader/writer lock.</summary>
83 </member>
84 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.CurrentReaderCount">
85 <summary>Returns the number of reader threads currently owning the lock.</summary>
86 <returns>The number of reader threads in the lock.</returns>
87 </member>
88 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.CurrentWriterCount">
89 <summary>Returns the number of writer threads currently owning the lock.</summary>
90 <returns>The number of writer threads in the lock.</returns>
91 </member>
92 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.CurrentlyFree">
93 <summary>Returns true if no thread currentl own the lock.</summary>
94 <returns>true if no thread currentl own the lock.</returns>
95 </member>
96 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.WaitToWrite">
97 <summary>Allows the calling thread to acquire the lock for writing.</summary>
98 <returns>A object that can be used to release the writer lock.</returns>
99 </member>
100 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.OnWaitToWrite">
101 <summary>Derived class overrides <c>OnWaitToWrite</c> to provide specific writer locking semantics.</summary>
102 </member>
103 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.DoneWriting">
104 <summary>Allows the calling thread to release the writer lock.</summary>
105 </member>
106 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.OnDoneWriting">
107 <summary>Derived class overrides <c>OnDoneWriting</c> to provide specific writer unlocking semantics.</summary>
108 </member>
109 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.WaitToRead">
110 <summary>Allows the calling thread to acquire the lock for reading.</summary>
111 <returns>A object that can be used to release the reader lock.</returns>
112 </member>
113 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.OnWaitToRead">
114 <summary>Derived class overrides <c>OnWaitToRead</c> to provide specific reader locking semantics.</summary>
115 <remarks>You do not need to override this method if the specific lock provides mutual-exclusive locking semantics.</remarks>
116 </member>
117 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.DoneReading">
118 <summary>Allows the calling thread to release the reader lock.</summary>
119 </member>
120 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.OnDoneReading">
121 <summary>Derived class overrides <c>OnDoneReading</c> to provide specific reader unlocking semantics.</summary>
122 <remarks>You do not need to override this method if the specific lock provides mutual-exclusive locking semantics.</remarks>
123 </member>
124 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.StressPause">
125 <summary>If<c>Stress</c> is defined during compilation, calls to this method cause the calling thread to sleep.</summary>
126 </member>
127 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.StallThread">
128 <summary>Allows calling thread to yield CPU time to another thread.</summary>
129 </member>
130 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.IfThen(System.Int32@,System.Int32,System.Int32)">
131 <summary>Compares two values for equality and, if they are equal, replaces one of the values.</summary>
132 <return>Returns true if the value in <paramref name="val"/> was equal the the value of <paramref name="if"/>.</return>
133 <param name="value">The destination, whose value is compared with <paramref name="if"/> and possibly replaced with <paramref name="then"/>.</param>
134 <param name="if">The value that is compared to the value at <paramref name="value"/>.</param>
135 <param name="then">The value that might get placed into <paramref name="value"/>.</param>
136 </member>
137 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.IfThen(System.Int32@,System.Int32,System.Int32,System.Int32@)">
138 <summary>Compares two values for equality and, if they are equal, replaces one of the values.</summary>
139 <remarks>The previous value in <paramref name="value"/> is returned in <paramref name="previousValue"/>.</remarks>
140 <return>Returns true if the value in <paramref name="value"/> was equal the the value of <paramref name="if"/>.</return>
141 <param name="value">The destination, whose value is compared with <paramref name="if"/> and possibly replaced with <paramref name="then"/>.</param>
142 <param name="if">The value that is compared to the value at <paramref name="value"/>.</param>
143 <param name="then">The value that might get placed into <paramref name="value"/>.</param>
144 <param name="previousValue">The previous value that was in <paramref name="value"/> prior to calling this method.</param>
145 </member>
146 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.ToString(System.String)">
147 <summary>Returns the object's string representation.</summary>
148 <return>A <c>String</c> containing the object's string representation.</return>
149 </member>
150 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.ToString(System.IFormatProvider)">
151 <summary>Returns the object's string representation.</summary>
152 <return>A <c>String</c> containing the object's string representation.</return>
153 </member>
154 <member name="M:Wintellect.Threading.ResourceLocks.ResourceLock.ToString(System.String,System.IFormatProvider)">
155 <summary>Returns the object's string representation.</summary>
156 <param name="format">If <c>null</c> or <c>"extra"</c> is allowed.</param>
157 <param name="formatProvider">Not used.</param>
158 <return>A <c>String</c> containing the object's string representation.</return>
159 </member>
160 <member name="P:Wintellect.Threading.ResourceLocks.ResourceLock.IsDeadlockDetectionOn">
161 <summary>
162 Indicates if deadlock detection is currently on or off.
163 </summary>
164 </member>
165 <member name="P:Wintellect.Threading.ResourceLocks.ResourceLock.IsMutualExclusive">
166 <summary>Indicates whether the read/writer lock treats all requests as mutual-exclusive.</summary>
167 <returns>True if the reader/writer lock class allows just one thread at a time.</returns>
168 </member>
169 <member name="P:Wintellect.Threading.ResourceLocks.ResourceLock.SupportsRecursion">
170 <summary>Indicates whether the read/writer lock supports recursion.</summary>
171 <returns>True if the reader/writer lock supports recursion.</returns>
172 </member>
173 <member name="P:Wintellect.Threading.ResourceLocks.ResourceLock.AcquiringThreadMustRelease">
174 <summary>Indicates whether the thread that acquires the lock must also release the lock.</summary>
175 <returns>True if the thread that requires the lock must also release it.</returns>
176 </member>
177 <member name="P:Wintellect.Threading.ResourceLocks.ResourceLock.ImmuneFromDeadlockDetection">
178 <summary>Indicates whether deadlock detection applies to this lock or not.</summary>
179 <returns>True if deadlock detection doesn't apply to this lock.</returns>
180 </member>
181 <member name="P:Wintellect.Threading.ResourceLocks.ResourceLock.Name">
182 <summary>
183 The name associated with this lock for debugging purposes.
184 </summary>
185 </member>
186 <member name="T:Wintellect.Threading.ResourceLocks.ConditionVariable">
187 <summary>
188 Adds condition variable support to a ResourceLock class.
189 </summary>
190 </member>
191 <member name="M:Wintellect.Threading.ResourceLocks.ConditionVariable.Dispose">
192 <summary>
193 Releases all resources used by the ConditionVariable.
194 </summary>
195 </member>
196 <member name="M:Wintellect.Threading.ResourceLocks.ConditionVariable.Dispose(System.Boolean)">
197 <summary>
198 Releases all resources associated with the ConditionVariable
199 </summary>
200 <param name="disposing"></param>
201 </member>
202 <member name="M:Wintellect.Threading.ResourceLocks.ConditionVariable.#ctor">
203 <summary>
204 Constructs a ConditionVariable object.
205 </summary>
206 </member>
207 <member name="M:Wintellect.Threading.ResourceLocks.ConditionVariable.CVWait(Wintellect.Threading.ResourceLocks.ResourceLock)">
208 <summary>
209 Causes the calling thread to enter a condition variable wait using the specified ResourceLock.
210 </summary>
211 <param name="resourceLock">A reference to the ResourceLock object that will be
212 temporarily released while waiting for the condition to change.</param>
213 </member>
214 <member name="M:Wintellect.Threading.ResourceLocks.ConditionVariable.CVWait(Wintellect.Threading.ResourceLocks.ResourceLock,System.Boolean)">
215 <summary>
216 Causes the calling thread to enter a condition variable wait using the specified ResourceLock.
217 </summary>
218 <param name="resourceLock">A reference to the ResourceLock object that will be
219 temporarily released while waiting for the condition to change.</param>
220 <param name="reacquireForWriting">true if the ResourceLock should be reacquired for writing when the condition changes;
221 false if the lock should be reacquired for reading when the condition changes.</param>
222 </member>
223 <member name="M:Wintellect.Threading.ResourceLocks.ConditionVariable.CVPulseOne">
224 <summary>
225 Wakes a single thread that is currently inside a call to CVWait.
226 </summary>
227 </member>
228 <member name="M:Wintellect.Threading.ResourceLocks.ConditionVariable.CVPulseAll">
229 <summary>
230 Wakes all threads that are currently inside a call to CVWait.
231 </summary>
232 </member>
233 <member name="M:Wintellect.Threading.ResourceLocks.OptexResourceLock.#ctor">
234 <summary>
235 Constructs an OptexResourceLock.
236 </summary>
237 </member>
238 <member name="M:Wintellect.Threading.ResourceLocks.OptexResourceLock.Dispose(System.Boolean)">
239 <summary>
240 Allows the object to clean itself up.
241 </summary>
242 <param name="disposing">true if the object is being disposed; false if being finalized.</param>
243 </member>
244 <member name="M:Wintellect.Threading.ResourceLocks.OptexResourceLock.OnWaitToWrite">
245 <summary>
246 Implements the ResourceLock's WaitToWrite behavior.
247 </summary>
248 </member>
249 <member name="M:Wintellect.Threading.ResourceLocks.OptexResourceLock.OnDoneWriting">
250 <summary>
251 Implements the ResourceLock's DoneWriting behavior.
252 </summary>
253 </member>
254 <member name="T:Wintellect.Threading.ResourceLocks.RecursiveOptex">
255 <summary>
256 Implements a recursive mutual-exclusive lock
257 </summary>
258 </member>
259 <member name="M:Wintellect.Threading.ResourceLocks.RecursiveOptex.#ctor(System.Int32)">
260 <summary>
261 Constructs a RecursiveOptex with the specified user-mode spin count
262 </summary>
263 <param name="spinCount">The number of times the lock should spin in user-mode
264 when there is contention on the lock before waiting in the kernel.</param>
265 </member>
266 <member name="M:Wintellect.Threading.ResourceLocks.RecursiveOptex.Dispose">
267 <summary>
268 Allows the object to clean itself up.
269 </summary>
270 </member>
271 <member name="M:Wintellect.Threading.ResourceLocks.RecursiveOptex.Enter">
272 <summary>
273 Causes the calling thread to enter the lock.
274 </summary>
275 </member>
276 <member name="M:Wintellect.Threading.ResourceLocks.RecursiveOptex.Exit">
277 <summary>
278 Causes the calling thread to release the lock.
279 </summary>
280 </member>
281 <member name="T:Wintellect.Threading.ResourceLocks.Diagnostics.ThreadSafeCheckerResourceLockObserver">
282 <summary>
283 This class performs various sanity checks on a ResourceLock-derived type
284 making sure that the lock is performing correctly
285 </summary>
286 </member>
287 <member name="T:Wintellect.Threading.ResourceLocks.Diagnostics.ResourceLockObserver">
288 <summary>
289 An abstract class that all ResourceLockObserver classes derive from.
290 </summary>
291 </member>
292 <member name="T:Wintellect.Threading.ResourceLocks.Diagnostics.ResourceLockDelegator">
293 <summary>
294 An abstract class that delegates a lot of ResourceLock behavior to an inner ResourceLock.
295 </summary>
296 </member>
297 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.ResourceLockDelegator.#ctor(Wintellect.Threading.ResourceLocks.ResourceLock)">
298 <summary>
299 Constructs a ResourceLockDelegator over the spefied ResourceLock.
300 </summary>
301 <param name="resLock">The innter ResourceLock.</param>
302 </member>
303 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.ResourceLockDelegator.#ctor(Wintellect.Threading.ResourceLocks.ResourceLock,Wintellect.Threading.ResourceLocks.ResourceLockOptions)">
304 <summary>
305 Constructs a ResourceLockDelegator over the spefied ResourceLock.
306 </summary>
307 <param name="resLock">The innter ResourceLock.</param>
308 <param name="resourceLockOptions">Indicates the flags to use with this specified lock.</param>
309 </member>
310 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.ResourceLockDelegator.Equals(System.Object)">
311 <summary>
312 Determines whether the specified Object is equal to the current Object.
313 </summary>
314 <param name="obj">The Object to compare with the current Object.</param>
315 <returns>true if the specified Object is equal to the current Object; otherwise, false.</returns>
316 </member>
317 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.ResourceLockDelegator.GetHashCode">
318 <summary>
319 Serves as a hash function for a particular type.
320 </summary>
321 <returns>A hash code for the current Object.</returns>
322 </member>
323 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.ResourceLockDelegator.Dispose(System.Boolean)">
324 <summary>
325 Allows the object to clean itself up.
326 </summary>
327 <param name="disposing">true if Dispose is being called; false if the object is being finalized.</param>
328 </member>
329 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.ResourceLockDelegator.OnWaitToWrite">
330 <summary>
331 Implements the ResourceLock's WaitToWrite behavior.
332 </summary>
333 </member>
334 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.ResourceLockDelegator.OnDoneWriting">
335 <summary>
336 Implements the ResourceLock's DoneWriting behavior.
337 </summary>
338 </member>
339 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.ResourceLockDelegator.OnWaitToRead">
340 <summary>
341 Implements the ResourceLock's WaitToRead behavior.
342 </summary>
343 </member>
344 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.ResourceLockDelegator.OnDoneReading">
345 <summary>
346 Implements the ResourceLock's DoneReading behavior.
347 </summary>
348 </member>
349 <member name="P:Wintellect.Threading.ResourceLocks.Diagnostics.ResourceLockDelegator.InnerLock">
350 <summary>
351 Returns a reference to the inner ResourceLock object.
352 </summary>
353 </member>
354 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.ResourceLockObserver.#ctor(Wintellect.Threading.ResourceLocks.ResourceLock)">
355 <summary>
356 Constructs a ResourceLockObserver.
357 </summary>
358 <param name="resLock"></param>
359 </member>
360 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.ThreadSafeCheckerResourceLockObserver.#ctor(Wintellect.Threading.ResourceLocks.ResourceLock)">
361 <summary>
362 Constructs a ThreadSafeCheckerResourceLockObserver wrapping the desired ResourceLock.
363 </summary>
364 <param name="resLock"></param>
365 </member>
366 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.ThreadSafeCheckerResourceLockObserver.Dispose(System.Boolean)">
367 <summary>
368 Performs any desired cleanup for this object.
369 </summary>
370 <param name="disposing">true if Dispose is being called; false if the object is being finalized.</param>
371 </member>
372 <member name="T:Wintellect.Threading.ResourceLocks.OneManySpinResourceLock">
373 <summary>
374 A reader/writer lock that always spins in user-mode.
375 </summary>
376 </member>
377 <member name="M:Wintellect.Threading.ResourceLocks.OneManySpinResourceLock.#ctor">
378 <summary>
379 Constucts a OneManySpinResourceLock object.
380 </summary>
381 </member>
382 <member name="M:Wintellect.Threading.ResourceLocks.OneManySpinResourceLock.OnWaitToWrite">
383 <summary>
384 Implements the ResourceLock's WaitToWrite behavior.
385 </summary>
386 </member>
387 <member name="M:Wintellect.Threading.ResourceLocks.OneManySpinResourceLock.OnDoneWriting">
388 <summary>
389 Implements the ResourceLock's DoneWriting behavior.
390 </summary>
391 </member>
392 <member name="M:Wintellect.Threading.ResourceLocks.OneManySpinResourceLock.OnWaitToRead">
393 <summary>
394 Implements the ResourceLock's WaitToRead behavior.
395 </summary>
396 </member>
397 <member name="M:Wintellect.Threading.ResourceLocks.OneManySpinResourceLock.OnDoneReading">
398 <summary>
399 Implements the ResourceLock's DoneReading behavior.
400 </summary>
401 </member>
402 <member name="T:Wintellect.Threading.Progress">
403 <summary>
404 A thread-safe class for managing the progress of an operation.
405 </summary>
406 </member>
407 <member name="M:Wintellect.Threading.Progress.#ctor">
408 <summary>
409 Constructs a Progress object with a low and high value of zero.
410 </summary>
411 </member>
412 <member name="M:Wintellect.Threading.Progress.#ctor(System.Int64)">
413 <summary>
414 Constructs a Progress object with a low value of zero.
415 </summary>
416 <param name="high">The value indicating the completion of the operation.</param>
417 </member>
418 <member name="M:Wintellect.Threading.Progress.#ctor(System.Int64,System.Int64)">
419 <summary>
420 Constructs a Progress object with the specified low and high values.
421 </summary>
422 <param name="low">The value indicating the start of the operation.</param>
423 <param name="high">The value indicating the completion of the operation.</param>
424 </member>
425 <member name="M:Wintellect.Threading.Progress.Reset(System.Int64,System.Int64,System.Int64)">
426 <summary>
427 Sets all the values assocaited with maintaining progress of an operation.
428 </summary>
429 <param name="low">The value indicating the start of the operation.</param>
430 <param name="high">The value indicating the completion of the operation.</param>
431 <param name="current">The value indicating the current completion state of the operation.</param>
432 </member>
433 <member name="M:Wintellect.Threading.Progress.Dispose">
434 <summary>
435 Call this to indicate that Progress tracking for this operation is complete.
436 </summary>
437 </member>
438 <member name="M:Wintellect.Threading.Progress.SetTimer(System.Int32,System.Int64)">
439 <summary>
440 Allows Progress to automatically update periodically.
441 </summary>
442 <param name="millisecondsBetweenUpdates">Indicates how long to wait before each update to Progress.</param>
443 <param name="timerUpdateAmount">How much to add to the current status.</param>
444 </member>
445 <member name="M:Wintellect.Threading.Progress.StopTimer">
446 <summary>
447 Stops the timer from continuing to update progress status.
448 </summary>
449 </member>
450 <member name="M:Wintellect.Threading.Progress.SetLow(System.Int64)">
451 <summary>
452 Sets the value indicating the start of the operation.
453 </summary>
454 <param name="value">The value indicating the start of the operation.</param>
455 </member>
456 <member name="M:Wintellect.Threading.Progress.AddToLow(System.Int64)">
457 <summary>
458 Adds the specified value to the value that indicates the start of the operation.
459 </summary>
460 <param name="addend">How much to add.</param>
461 </member>
462 <member name="M:Wintellect.Threading.Progress.SetHigh(System.Int64)">
463 <summary>
464 Sets the value indicating the end of the operation.
465 </summary>
466 <param name="value">The value indicating the end of the operation.</param>
467 </member>
468 <member name="M:Wintellect.Threading.Progress.AddToHigh(System.Int64)">
469 <summary>
470 Adds the specified value to the value that indicates the end of the operation.
471 </summary>
472 <param name="addend">How much to add.</param>
473 </member>
474 <member name="M:Wintellect.Threading.Progress.SetCurrent(System.Int64)">
475 <summary>
476 Sets the value indicating the current state of the operation.
477 </summary>
478 <param name="value">The value indicating the current state of the operation.</param>
479 </member>
480 <member name="M:Wintellect.Threading.Progress.AddToCurrent(System.Int64)">
481 <summary>
482 Adds the specified value to the value that indicates the current state of the operation.
483 </summary>
484 <param name="addend">How much to add.</param>
485 </member>
486 <member name="P:Wintellect.Threading.Progress.Low">
487 <summary>
488 Returns the value indicating the start of the operation.
489 </summary>
490 </member>
491 <member name="P:Wintellect.Threading.Progress.High">
492 <summary>
493 Returns the value indicating the end of the operation.
494 </summary>
495 </member>
496 <member name="P:Wintellect.Threading.Progress.Current">
497 <summary>
498 Returns the value indicating the current state of the operation.
499 </summary>
500 </member>
501 <member name="E:Wintellect.Threading.Progress.ProgressUpdated">
502 <summary>
503 An event which is raised whenever the operation's low, current, or high value changes.
504 This event is raised using the SynchronizationContext that was in place on
505 the thread that constructed this Progress object.
506 </summary>
507 </member>
508 <member name="T:Wintellect.Threading.ProgressUpdateEventArgs">
509 <summary>
510 Indicates the current progress of an operation.
511 </summary>
512 </member>
513 <member name="M:Wintellect.Threading.ProgressUpdateEventArgs.ToString">
514 <summary>
515 Returns a string representing the state of this object.
516 </summary>
517 <returns>The string representing the state of the object.</returns>
518 </member>
519 <member name="P:Wintellect.Threading.ProgressUpdateEventArgs.Low">
520 <summary>
521 Returns the value representing the start of the operation.
522 </summary>
523 </member>
524 <member name="P:Wintellect.Threading.ProgressUpdateEventArgs.High">
525 <summary>
526 Returns the value representing the end of the operation.
527 </summary>
528 </member>
529 <member name="P:Wintellect.Threading.ProgressUpdateEventArgs.Current">
530 <summary>
531 Returns a value representing the current state of the operation.
532 </summary>
533 </member>
534 <member name="P:Wintellect.Threading.ProgressUpdateEventArgs.Percentage">
535 <summary>
536 Returns a percentage of how much of the operation has completed thus far.
537 </summary>
538 </member>
539 <member name="T:Wintellect.Threading.ResourceLocks.ExclusiveSpinResourceLock">
540 <summary>
541 An exclusive lock that always spins in user-mode.
542 </summary>
543 </member>
544 <member name="M:Wintellect.Threading.ResourceLocks.ExclusiveSpinResourceLock.#ctor">
545 <summary>
546 Constructs an ExclusiveSpinResourceLock.
547 </summary>
548 </member>
549 <member name="M:Wintellect.Threading.ResourceLocks.ExclusiveSpinResourceLock.OnWaitToWrite">
550 <summary>
551 Implements the ResourceLock's WaitToWrite behavior.
552 </summary>
553 </member>
554 <member name="M:Wintellect.Threading.ResourceLocks.ExclusiveSpinResourceLock.OnDoneWriting">
555 <summary>
556 Implements the ResourceLock's DoneWriting behavior.
557 </summary>
558 </member>
559 <member name="T:Wintellect.Threading.ResourceLocks.OneResourceLock">
560 <summary>
561 Implements a ResourceLock via a high-speed mutual-exclusive lock.
562 </summary>
563 </member>
564 <member name="M:Wintellect.Threading.ResourceLocks.OneResourceLock.ToString">
565 <summary>
566 Returns a string representing the state of the object.
567 </summary>
568 <returns>The string representing the state of the object.</returns>
569 </member>
570 <member name="M:Wintellect.Threading.ResourceLocks.OneResourceLock.#ctor">
571 <summary>
572 Constructs a OneResourceLock object.
573 </summary>
574 </member>
575 <member name="M:Wintellect.Threading.ResourceLocks.OneResourceLock.Dispose(System.Boolean)">
576 <summary>
577 Allow the object to clean itself up.
578 </summary>
579 <param name="disposing">true if the object is being disposed; false if it is being finalzied.</param>
580 </member>
581 <member name="M:Wintellect.Threading.ResourceLocks.OneResourceLock.OnWaitToWrite">
582 <summary>
583 Implements the ResourceLock's WaitToWrite behavior.
584 </summary>
585 </member>
586 <member name="M:Wintellect.Threading.ResourceLocks.OneResourceLock.OnDoneWriting">
587 <summary>
588 Implements the ResourceLock's DoneWriting behavior.
589 </summary>
590 </member>
591 <member name="T:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver">
592 <summary>A compositional resource lock providing statics for another lock.</summary>
593 </member>
594 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.#ctor(Wintellect.Threading.ResourceLocks.ResourceLock)">
595 <summary>Initializes a new instance of the <c>StatisticsGatheringResourceLock</c> class that wraps another <c>ResouceLock</c>-derived type.</summary>
596 <param name="resLock">The <c>ResourceLock</c>-derived type to wrap.</param>
597 </member>
598 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.ToString(System.String,System.IFormatProvider)">
599 <summary>Returns the object's string representation.</summary>
600 <param name="format">If <c>null</c> or <c>"extra"</c> is allowed.</param>
601 <param name="formatProvider">Not used.</param>
602 <return>A <c>String</c> containing the object's string representation.</return>
603 </member>
604 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.OnWaitToRead">
605 <summary>Derived class overrides <c>OnWaitToRead</c> to provide specific reader locking semantics.</summary>
606 <remarks>You do not need to override this method if the specific lock provides mutual-exclusive locking semantics.</remarks>
607 </member>
608 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.OnDoneReading">
609 <summary>Derived class overrides <c>OnDoneReading</c> to provide specific reader unlocking semantics.</summary>
610 <remarks>You do not need to override this method if the specific lock provides mutual-exclusive locking semantics.</remarks>
611 </member>
612 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.OnWaitToWrite">
613 <summary>Derived class overrides <c>OnWaitToWrite</c> to provide specific writer locking semantics.</summary>
614 </member>
615 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.OnDoneWriting">
616 <summary>Derived class overrides <c>OnDoneWriting</c> to provide specific writer unlocking semantics.</summary>
617 </member>
618 <member name="P:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.ReadRequests">
619 <summary>Returns the number of read requests against a lock.</summary>
620 <return>The number of read requests.</return>
621 </member>
622 <member name="P:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.WriteRequests">
623 <summary>Returns the number of write requests against a lock.</summary>
624 <return>The number of write requests.</return>
625 </member>
626 <member name="P:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.ReadersReading">
627 <summary>Returns the current number of readers reading.</summary>
628 <return>The current number of reads.</return>
629 </member>
630 <member name="P:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.WritersWriting">
631 <summary>Returns the current number of writers writing.</summary>
632 <return>The current number of writers.</return>
633 </member>
634 <member name="P:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.ReadersDone">
635 <summary>Returns the number of readers done reading.</summary>
636 <return>The number of done readers.</return>
637 </member>
638 <member name="P:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.WritersDone">
639 <summary>Returns the number of writers done writing.</summary>
640 <return>The number of done writers.</return>
641 </member>
642 <member name="P:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.ReadersWaiting">
643 <summary>Returns the current number of readers waiting.</summary>
644 <return>The number of waiting readers.</return>
645 </member>
646 <member name="P:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.WritersWaiting">
647 <summary>Returns the current number of writers waiting.</summary>
648 <return>The number of waiting writers.</return>
649 </member>
650 <member name="P:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.ReaderMaxWaitTime">
651 <summary>Returns the maximum time that a reader waited to acquire the lock.</summary>
652 <return>Maximum time a reader waited to acquire the lock.</return>
653 </member>
654 <member name="P:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.WriterMaxWaitTime">
655 <summary>Returns the maximum time that a writer waited to acquire the lock.</summary>
656 <return>Maximum time a writer waited to acquire the lock.</return>
657 </member>
658 <member name="P:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.ReaderMinHoldTime">
659 <summary>Returns the minimum time that a reader held the lock.</summary>
660 <return>Minimum time a reader held the lock.</return>
661 </member>
662 <member name="P:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.ReaderMaxHoldTime">
663 <summary>Returns the maximum time that a reader held the lock.</summary>
664 <return>Maximum time a reader held the lock.</return>
665 </member>
666 <member name="P:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.WriterMinHoldTime">
667 <summary>Returns the minimum time that a writer held the lock.</summary>
668 <return>Minimum time a writer held the lock.</return>
669 </member>
670 <member name="P:Wintellect.Threading.ResourceLocks.Diagnostics.StatisticsGatheringResourceLockObserver.WriterMaxHoldTime">
671 <summary>Returns the maximum time that a writer held the lock.</summary>
672 <return>Maximum time a writer held the lock.</return>
673 </member>
674 <member name="T:Wintellect.Threading.ThreadRights">
675 <summary>
676 Flags indicating how you intend to manipulate the thread after you open it.
677 </summary>
678 </member>
679 <member name="F:Wintellect.Threading.ThreadRights.Terminate">
680 <summary>
681 Required to terminate a thread using TerminateThread.
682 </summary>
683 </member>
684 <member name="F:Wintellect.Threading.ThreadRights.SuspendResume">
685 <summary>
686 Required to suspend or resume a thread (see SuspendThread and ResumeThread).
687 </summary>
688 </member>
689 <member name="F:Wintellect.Threading.ThreadRights.GetContext">
690 <summary>
691 Required to read the context of a thread using GetThreadContext.
692 </summary>
693 </member>
694 <member name="F:Wintellect.Threading.ThreadRights.SetContext">
695 <summary>
696 Required to write the context of a thread using SetThreadContext.
697 </summary>
698 </member>
699 <member name="F:Wintellect.Threading.ThreadRights.SetInformation">
700 <summary>
701 Required to set certain information in the thread object.
702 </summary>
703 </member>
704 <member name="F:Wintellect.Threading.ThreadRights.SetLimitedInformation">
705 <summary>
706 Required to set certain information in the thread object.
707 A handle that has the THREAD_SET_INFORMATION access right is
708 automatically granted THREAD_SET_LIMITED_INFORMATION.
709 </summary>
710 </member>
711 <member name="F:Wintellect.Threading.ThreadRights.QueryInformation">
712 <summary>
713 Required to read certain information from the thread object,
714 such as the exit code (see GetExitCodeThread).
715 </summary>
716 </member>
717 <member name="F:Wintellect.Threading.ThreadRights.QueryLimitedInformation">
718 <summary>
719 Required to read certain information from the thread objects (see GetProcessIdOfThread).
720 A handle that has the THREAD_QUERY_INFORMATION access right is automatically
721 granted THREAD_QUERY_LIMITED_INFORMATION.
722 </summary>
723 </member>
724 <member name="F:Wintellect.Threading.ThreadRights.SetThreadToken">
725 <summary>
726 Required to set the impersonation token for a thread using SetThreadToken.
727 </summary>
728 </member>
729 <member name="F:Wintellect.Threading.ThreadRights.Impersonate">
730 <summary>
731 Required to use a thread's security information directly without calling
732 it by using a communication mechanism that provides impersonation services.
733 </summary>
734 </member>
735 <member name="F:Wintellect.Threading.ThreadRights.DirectImpersonation">
736 <summary>
737 Required for a server thread that impersonates a client.
738 </summary>
739 </member>
740 <member name="F:Wintellect.Threading.ThreadRights.Delete">
741 <summary>
742 Required to delete the object.
743 </summary>
744 </member>
745 <member name="F:Wintellect.Threading.ThreadRights.ReadPermissions">
746 <summary>
747 Required to read information in the security descriptor for the object,
748 not including the information in the SACL. To read or write the SACL,
749 you must request the ACCESS_SYSTEM_SECURITY access right.
750 </summary>
751 </member>
752 <member name="F:Wintellect.Threading.ThreadRights.ChangePermissions">
753 <summary>
754 Required to modify the DACL in the security descriptor for the object.
755 </summary>
756 </member>
757 <member name="F:Wintellect.Threading.ThreadRights.TakeOwnership">
758 <summary>
759 Required to change the owner in the security descriptor for the object.
760 </summary>
761 </member>
762 <member name="F:Wintellect.Threading.ThreadRights.Synchronize">
763 <summary>
764 The right to use the object for synchronization. This enables a
765 thread to wait until the object is in the signaled state.
766 </summary>
767 </member>
768 <member name="F:Wintellect.Threading.ThreadRights.StandardRightsRequired">
769 <summary>
770
771 </summary>
772 </member>
773 <member name="F:Wintellect.Threading.ThreadRights.FullControl">
774 <summary>
775 Same as StandardRightsRequired | Synchronize | 0x3FF
776 </summary>
777 </member>
778 <member name="T:Wintellect.Threading.ThreadUtility">
779 <summary>
780 This static class contains a bunch of useful thread methods.
781 </summary>
782 </member>
783 <member name="M:Wintellect.Threading.ThreadUtility.NameFinalizerThreadForDebugging(System.String)">
784 <summary>
785 This method sets the name of the Finalizer thread for viewing in the debugger
786 </summary>
787 <param name="name">The string to name the Finalizer thread.</param>
788 </member>
789 <member name="F:Wintellect.Threading.ThreadUtility.IsSingleCpuMachine">
790 <summary>
791 Returns true if the host machine has just one CPU.
792 </summary>
793 </member>
794 <member name="M:Wintellect.Threading.ThreadUtility.Block(System.Int32,System.Boolean)">
795 <summary>
796 Blocks the calling thread for the specified time.
797 </summary>
798 <param name="milliseconds">The number of milliseconds that this method should wait before returning.</param>
799 <param name="computeBound">true if this method should spin in a compute bound loop; false if
800 Windows should not schedule for the specified amount of time.</param>
801 </member>
802 <member name="M:Wintellect.Threading.ThreadUtility.GetProcessThreadFromWin32ThreadId(System.Int32)">
803 <summary>
804 Returns a ProcessThread object for a specified Win32 thread Id.
805 </summary>
806 <param name="threadId">The Win32 thread Id value.</param>
807 <returns>A ProcessThread object matching the specified thread Id.</returns>
808 </member>
809 <member name="M:Wintellect.Threading.ThreadUtility.GetWindowThreadId(System.IntPtr)">
810 <summary>
811 Returns the Win32 thread Id matching the thread that created the specified window handle.
812 </summary>
813 <param name="hwnd">Identifies a window handle.</param>
814 <returns>The thread that created the window.</returns>
815 </member>
816 <member name="M:Wintellect.Threading.ThreadUtility.GetWindowProcessId(System.IntPtr)">
817 <summary>
818 Returns the Win32 process Id containing the thread that created the specified window handle.
819 </summary>
820 <param name="hwnd">Identifies a window handle.</param>
821 <returns>The process owning the thread that created the window.</returns>
822 </member>
823 <member name="M:Wintellect.Threading.ThreadUtility.OpenThread(Wintellect.Threading.ThreadRights,System.Boolean,System.Int32)">
824 <summary>
825 Opens a thread in the system identified via its Win32 thread Id.
826 </summary>
827 <param name="rights">Indicates how you intend to manipulate the thread.</param>
828 <param name="inheritHandle">true if the returned handle should be inherited by child processes.</param>
829 <param name="threadId">The Win32 Id identifying a thread.</param>
830 <returns>A SafeWaitHandle matching the opened thread. This method throws a WaitHandleCannotBeOpenedException if the thread cannot be opened.</returns>
831 </member>
832 <member name="M:Wintellect.Threading.ThreadUtility.GetCurrentProcessorNumber">
833 <summary>
834 Retrieves the number of the processor the current thread was running on during the call to this function.
835 </summary>
836 <returns>The current processor number.</returns>
837 </member>
838 <member name="M:Wintellect.Threading.ThreadUtility.GetCurrentWin32ThreadId">
839 <summary>
840 Retrieves the Win32 Id of the calling thread.
841 </summary>
842 <returns>The Win32 thread Id of the calling thread.</returns>
843 </member>
844 <member name="M:Wintellect.Threading.ThreadUtility.GetCurrentWin32ThreadHandle">
845 <summary>
846 Retrieves a pseudo handle for the calling thread.
847 </summary>
848 <returns>The pseudo handle for the current thread.</returns>
849 </member>
850 <member name="M:Wintellect.Threading.ThreadUtility.GetCurrentWin32ProcessHandle">
851 <summary>
852 Retrieves a pseudo handle for the calling thread's process.
853 </summary>
854 <returns>The pseudo handle for the current process.</returns>
855 </member>
856 <member name="M:Wintellect.Threading.ThreadUtility.SwitchToThread">
857 <summary>
858 Causes the calling thread to yield execution to another thread
859 that is ready to run on the current processor. The operating
860 system selects the next thread to be executed.
861 </summary>
862 <returns>true if the operating system switches execution to another thread;
863 false if there are no other threads ready to execute and the OS doesn't switch
864 execution to another thread.</returns>
865 </member>
866 <member name="M:Wintellect.Threading.ThreadUtility.SkipSignalOfDeviceOnIOCompletion(Microsoft.Win32.SafeHandles.SafeFileHandle)">
867 <summary>
868 Tells the I/O Manager to not signal the file/device
869 handle when an I/O operation completes.
870 </summary>
871 <param name="device">Identifies the file or device that should not be signaled.</param>
872 </member>
873 <member name="M:Wintellect.Threading.ThreadUtility.SkipCompletionPortOnSynchronousIOCompletion(Microsoft.Win32.SafeHandles.SafeFileHandle)">
874 <summary>
875 Tells the I/O Manager to not queue a completion entry to the specified
876 device's I/O completion port if the I/O operation completes synchronously.
877 </summary>
878 <param name="device">Identifies the file or device whose
879 synchronously-executed operation should not be placed in an
880 I/O completion port.</param>
881 </member>
882 <member name="M:Wintellect.Threading.ThreadUtility.StallThread">
883 <summary>
884 Causes the calling thread to allow another thread to run.
885 </summary>
886 </member>
887 <member name="M:Wintellect.Threading.ThreadUtility.QueryThreadCycleTime(Microsoft.Win32.SafeHandles.SafeWaitHandle)">
888 <summary>
889 Retrieves the cycle time for the specified thread.
890 </summary>
891 <param name="threadHandle">Identifies the thread whose cycle time you'd like to obtain.</param>
892 <returns>The thread's cycle time.</returns>
893 </member>
894 <member name="M:Wintellect.Threading.ThreadUtility.QueryProcessCycleTime(Microsoft.Win32.SafeHandles.SafeWaitHandle)">
895 <summary>
896 Retrieves the sum of the cycle time of all threads of the specified process.
897 </summary>
898 <param name="processHandle">Identifies the process whose threads' cycles times you'd like to obtain.</param>
899 <returns>The process' cycle time.</returns>
900 </member>
901 <member name="M:Wintellect.Threading.ThreadUtility.QueryIdleProcessorCycleTimes">
902 <summary>
903 Retrieves the cycle time for the idle thread of each processor in the system.
904 </summary>
905 <returns>The number of CPU clock cycles used by each idle thread.</returns>
906 </member>
907 <member name="M:Wintellect.Threading.ThreadUtility.CancelSynchronousIO(Microsoft.Win32.SafeHandles.SafeWaitHandle)">
908 <summary>
909 Marks pending synchronous I/O operations that are issued by the specified thread as canceled.
910 </summary>
911 <param name="thread">Identifies the thread whose synchronous I/O you want to cancel.</param>
912 <returns>true if an operation is cancelled; false if the thread was not waiting for I/O</returns>
913 </member>
914 <member name="M:Wintellect.Threading.ThreadUtility.BeginBackgroundProcessingMode">
915 <summary>
916 The system lowers the resource scheduling priorities of the thread
917 so that it can perform background work without significantly
918 affecting activity in the foreground.
919 </summary>
920 <returns>An IDisposable object that can be used to end
921 background processing mode for the thread.</returns>
922 </member>
923 <member name="M:Wintellect.Threading.ThreadUtility.EndBackgroundProcessingMode">
924 <summary>
925 The system restores the resource scheduling priorities of the thread
926 as they were before the thread entered background processing mode.
927 </summary>
928 </member>
929 <member name="T:Wintellect.Threading.ResourceLocks.OneManyResourceLock">
930 <summary>
931 Implements a ResourceLock by way of a high-speed reader/writer lock.
932 </summary>
933 </member>
934 <member name="M:Wintellect.Threading.ResourceLocks.OneManyResourceLock.ToString">
935 <summary>
936 Returns a string representing the state of the object.
937 </summary>
938 <returns>The string representing the state of the object.</returns>
939 </member>
940 <member name="M:Wintellect.Threading.ResourceLocks.OneManyResourceLock.#ctor">
941 <summary>
942 Constructs a OneManyResourceLock object.
943 </summary>
944 </member>
945 <member name="M:Wintellect.Threading.ResourceLocks.OneManyResourceLock.Dispose(System.Boolean)">
946 <summary>
947 Allow the object to clean itself up.
948 </summary>
949 <param name="disposing">true if the object is being disposed; false if it is being finalzied.</param>
950 </member>
951 <member name="M:Wintellect.Threading.ResourceLocks.OneManyResourceLock.OnWaitToWrite">
952 <summary>
953 Implements the ResourceLock's WaitToWrite behavior.
954 </summary>
955 </member>
956 <member name="M:Wintellect.Threading.ResourceLocks.OneManyResourceLock.OnDoneWriting">
957 <summary>
958 Implements the ResourceLock's DoneWriting behavior.
959 </summary>
960 </member>
961 <member name="M:Wintellect.Threading.ResourceLocks.OneManyResourceLock.OnWaitToRead">
962 <summary>
963 Implements the ResourceLock's WaitToRead behavior.
964 </summary>
965 </member>
966 <member name="M:Wintellect.Threading.ResourceLocks.OneManyResourceLock.OnDoneReading">
967 <summary>
968 Implements the ResourceLock's DoneReading behavior.
969 </summary>
970 </member>
971 <member name="T:Wintellect.Threading.ResourceLocks.Diagnostics.RecursionResourceLockModifier">
972 <summary>
973 A ResourceLock modifier that adds recursion support to the inner lock.
974 </summary>
975 </member>
976 <member name="T:Wintellect.Threading.ResourceLocks.Diagnostics.ResourceLockModifier">
977 <summary>
978 An abstract class that all ResourceLockModifier classes derive from.
979 </summary>
980 </member>
981 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.ResourceLockModifier.#ctor(Wintellect.Threading.ResourceLocks.ResourceLock,Wintellect.Threading.ResourceLocks.ResourceLockOptions)">
982 <summary>
983 Constructs a ResourceLockModifier object.
984 </summary>
985 <param name="resLock">Identifies the inner ResourceLock object.</param>
986 <param name="resourceLockOptions">Identifies the flags associted with the innter ResourceLock object.</param>
987 </member>
988 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.RecursionResourceLockModifier.#ctor(Wintellect.Threading.ResourceLocks.ResourceLock,System.Int32)">
989 <summary>
990 Constructs a RecursionResourceLockModifier object.
991 </summary>
992 <param name="resLock">A reference to a ResourceLock object that will not support recursion.</param>
993 <param name="maxReaders">The maximum number of concurrent reader threads that this
994 RecursionResourceLockModifier object should support.</param>
995 </member>
996 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.RecursionResourceLockModifier.OnWaitToWrite">
997 <summary>
998 Implements the ResourceLock's WaitToWrite behavior.
999 </summary>
1000 </member>
1001 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.RecursionResourceLockModifier.OnDoneWriting">
1002 <summary>
1003 Implements the ResourceLock's DoneWriting behavior.
1004 </summary>
1005 </member>
1006 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.RecursionResourceLockModifier.OnWaitToRead">
1007 <summary>
1008 Implements the ResourceLock's WaitToRead behavior.
1009 </summary>
1010 </member>
1011 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.RecursionResourceLockModifier.OnDoneReading">
1012 <summary>
1013 Implements the ResourceLock's DoneReading behavior.
1014 </summary>
1015 </member>
1016 <member name="T:Wintellect.ExceptionArgs">
1017 <summary>
1018 A base class that a custom exception would derive from in order to add its own exception arguments.
1019 </summary>
1020 </member>
1021 <member name="P:Wintellect.ExceptionArgs.Message">
1022 <summary>
1023 The string message associated with this exception.
1024 </summary>
1025 </member>
1026 <member name="T:Wintellect.Threading.ResourceLocks.MonitorResourceLock">
1027 <summary>
1028 A ResourceLock implemented using System.Threading.Monitor
1029 </summary>
1030 </member>
1031 <member name="M:Wintellect.Threading.ResourceLocks.MonitorResourceLock.#ctor">
1032 <summary>
1033 Constructs an instance on the MonitorResourceLock.
1034 </summary>
1035 </member>
1036 <member name="M:Wintellect.Threading.ResourceLocks.MonitorResourceLock.#ctor(System.Object)">
1037 <summary>
1038 Constructs an instance of the MonitorResourceLock using the specified object as the lock itself.
1039 </summary>
1040 <param name="obj"></param>
1041 </member>
1042 <member name="M:Wintellect.Threading.ResourceLocks.MonitorResourceLock.OnWaitToWrite">
1043 <summary>
1044 Implements the ResourceLock's WaitToWrite behavior.
1045 </summary>
1046 </member>
1047 <member name="M:Wintellect.Threading.ResourceLocks.MonitorResourceLock.OnDoneWriting">
1048 <summary>
1049 Implements the ResourceLock's DoneWriting behavior.
1050 </summary>
1051 </member>
1052 <member name="T:Wintellect.Threading.ResourceLocks.Win32SlimResourceLock">
1053 <summary>
1054 Implements a ResourceLock by way of the Windows SlimResourceLock.
1055 This class is only available when running on Windows Vista or later.
1056 </summary>
1057 </member>
1058 <member name="M:Wintellect.Threading.ResourceLocks.Win32SlimResourceLock.#ctor">
1059 <summary>
1060 Constructs a Win32SlimResourceLock.
1061 </summary>
1062 </member>
1063 <member name="M:Wintellect.Threading.ResourceLocks.Win32SlimResourceLock.OnWaitToWrite">
1064 <summary>
1065 Implements the ResourceLock's WaitToWrite behavior.
1066 </summary>
1067 </member>
1068 <member name="M:Wintellect.Threading.ResourceLocks.Win32SlimResourceLock.OnWaitToRead">
1069 <summary>
1070 Implements the ResourceLock's WaitToRead behavior.
1071 </summary>
1072 </member>
1073 <member name="M:Wintellect.Threading.ResourceLocks.Win32SlimResourceLock.OnDoneWriting">
1074 <summary>
1075 Implements the ResourceLock's DoneWriting behavior.
1076 </summary>
1077 </member>
1078 <member name="M:Wintellect.Threading.ResourceLocks.Win32SlimResourceLock.OnDoneReading">
1079 <summary>
1080 Implements the ResourceLock's DoneReading behavior.
1081 </summary>
1082 </member>
1083 <member name="T:Wintellect.Threading.ResourceLocks.SemaphoreResourceLock">
1084 <summary>
1085 Implements a ResourceLock by way of a Windows Semaphore.
1086 </summary>
1087 </member>
1088 <member name="M:Wintellect.Threading.ResourceLocks.SemaphoreResourceLock.#ctor">
1089 <summary>
1090 Constructs a SemaphoreResourceLock.
1091 </summary>
1092 </member>
1093 <member name="M:Wintellect.Threading.ResourceLocks.SemaphoreResourceLock.OnWaitToWrite">
1094 <summary>
1095 Implements the ResourceLock's WaitToWrite behavior.
1096 </summary>
1097 </member>
1098 <member name="M:Wintellect.Threading.ResourceLocks.SemaphoreResourceLock.OnDoneWriting">
1099 <summary>
1100 Implements the ResourceLock's DoneWriting behavior.
1101 </summary>
1102 </member>
1103 <member name="T:Wintellect.Threading.SingletonRaceLoser">
1104 <summary>
1105 Indicates whether singleton should be created using a double-check
1106 locking technique or via an interlocked-compare-exchange technique.
1107 </summary>
1108 </member>
1109 <member name="F:Wintellect.Threading.SingletonRaceLoser.Block">
1110 <summary>
1111 If there is a race to create the singleton, the race is
1112 resolved by blocking all but one thread.
1113 </summary>
1114 </member>
1115 <member name="F:Wintellect.Threading.SingletonRaceLoser.GC">
1116 <summary>
1117 If there is a race to create the singleton, the race is resolved
1118 by having all threads create the singleton but, when done, only one
1119 thread will win and the losing threads will have their singleton GC'd
1120 </summary>
1121 </member>
1122 <member name="T:Wintellect.Threading.Singleton`1">
1123 <summary>
1124 This class ensures that only one singleton object is used if mutliple
1125 threads race to create one simultaneously.
1126 </summary>
1127 <typeparam name="T"></typeparam>
1128 </member>
1129 <member name="T:Wintellect.CommandArgumentParser.CmdArgRequiredValue">
1130 <summary>
1131 Indicates whether the command-line argument is required, not-required, or is optional.
1132 </summary>
1133 </member>
1134 <member name="F:Wintellect.CommandArgumentParser.CmdArgRequiredValue.Yes">
1135 <summary>
1136 Indicates that the argument is required.
1137 </summary>
1138 </member>
1139 <member name="F:Wintellect.CommandArgumentParser.CmdArgRequiredValue.No">
1140 <summary>
1141 Indicates that the argument is not required.
1142 </summary>
1143 </member>
1144 <member name="F:Wintellect.CommandArgumentParser.CmdArgRequiredValue.Optional">
1145 <summary>
1146 Indicages that the argument is optional.
1147 </summary>
1148 </member>
1149 <member name="T:Wintellect.CommandArgumentParser.CmdArgAttribute">
1150 <summary>
1151 An attribute that can be applied to a field or property indicating
1152 that the member maps to a command line argument.
1153 </summary>
1154 </member>
1155 <member name="M:Wintellect.CommandArgumentParser.CmdArgAttribute.#ctor">
1156 <summary>
1157 The attribute has no mandatory arguments.
1158 </summary>
1159 </member>
1160 <member name="P:Wintellect.CommandArgumentParser.CmdArgAttribute.ArgName">
1161 <summary>
1162 Identifies the argument name that maps to the associated field or property.
1163 If not specified, the argument name is identical to the field or property name.
1164 </summary>
1165 </member>
1166 <member name="P:Wintellect.CommandArgumentParser.CmdArgAttribute.RequiredArg">
1167 <summary>
1168 Indicates whether this argument must be specified.
1169 </summary>
1170 </member>
1171 <member name="P:Wintellect.CommandArgumentParser.CmdArgAttribute.RequiredValue">
1172 <summary>
1173 Indicates whether the command-line argument's value is required, not-required, or is optional.
1174 </summary>
1175 </member>
1176 <member name="P:Wintellect.CommandArgumentParser.CmdArgAttribute.Description">
1177 <summary>
1178 Indicates the Usage text for this command-line argument.
1179 </summary>
1180 </member>
1181 <member name="T:Wintellect.Threading.ResourceLocks.MutexResourceLock">
1182 <summary>
1183 This class implements a ResourceLock by way of a Windows Mutex.
1184 </summary>
1185 </member>
1186 <member name="M:Wintellect.Threading.ResourceLocks.MutexResourceLock.#ctor">
1187 <summary>
1188 Constructs a MutexResourceLock.
1189 </summary>
1190 </member>
1191 <member name="M:Wintellect.Threading.ResourceLocks.MutexResourceLock.#ctor(System.Boolean)">
1192 <summary>
1193 Constructs a MutexResourceLock.
1194 </summary>
1195 <param name="initiallyOwned">true if the calling thread should own the mutex; false if the mutex should be unowned.</param>
1196 </member>
1197 <member name="M:Wintellect.Threading.ResourceLocks.MutexResourceLock.OnWaitToWrite">
1198 <summary>
1199 Implements the ResourceLock's WaitToWrite behavior.
1200 </summary>
1201 </member>
1202 <member name="M:Wintellect.Threading.ResourceLocks.MutexResourceLock.OnDoneWriting">
1203 <summary>
1204 Implements the ResourceLock's DoneWriting behavior.
1205 </summary>
1206 </member>
1207 <member name="T:Wintellect.Threading.ResourceLocks.Diagnostics.TimeoutNotifierResourceLockObserver">
1208 <summary>
1209 A ResourceLock-wrapper class that throws an exception if a thread waits
1210 too long on the inner lock.
1211 </summary>
1212 </member>
1213 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.TimeoutNotifierResourceLockObserver.#ctor(Wintellect.Threading.ResourceLocks.ResourceLock,System.Int64)">
1214 <summary>
1215 Constructs a TimeoutNotifierResourceLockObserver object.
1216 </summary>
1217 <param name="resLock">Indicates the inner ResourceLock.</param>
1218 <param name="timeout">Indicates how long any thread should wait on the inner lock before throwing an exception. This value is in milliseconds.</param>
1219 </member>
1220 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.TimeoutNotifierResourceLockObserver.#ctor(Wintellect.Threading.ResourceLocks.ResourceLock,System.TimeSpan)">
1221 <summary>
1222 Constructs a TimeoutNotifierResourceLockObserver object.
1223 </summary>
1224 <param name="resLock">Indicates the inner ResourceLock.</param>
1225 <param name="timeout">Indicates how long any thread should wait on the inner lock before throwing an exception.</param>
1226 </member>
1227 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.TimeoutNotifierResourceLockObserver.OnTimeout(System.Diagnostics.StackTrace)">
1228 <summary>
1229 This method is invoked when a thread has waited too long on a ResourceLock. The default behavior, throws a TimeoutException.
1230 </summary>
1231 <param name="stackTrace">The stack trace at the point where the thread waited on the ResourceLock.</param>
1232 </member>
1233 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.TimeoutNotifierResourceLockObserver.OnWaitToRead">
1234 <summary>
1235 Implements the ResourceLock's WaitToRead behavior.
1236 </summary>
1237 </member>
1238 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.TimeoutNotifierResourceLockObserver.OnDoneReading">
1239 <summary>
1240 Implements the ResourceLock's DoneReading behavior.
1241 </summary>
1242 </member>
1243 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.TimeoutNotifierResourceLockObserver.OnWaitToWrite">
1244 <summary>
1245 Implements the ResourceLock's WaitToWrite behavior.
1246 </summary>
1247 </member>
1248 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.TimeoutNotifierResourceLockObserver.OnDoneWriting">
1249 <summary>
1250 Implements the ResourceLock's DoneWriting behavior.
1251 </summary>
1252 </member>
1253 <member name="T:Wintellect.Threading.ResourceLocks.Diagnostics.ExclusiveOwnerResourceLockModifier">
1254 <summary>
1255 Modifies a ResourceLock enforcing that whatever thread acquires the lock must also release the lock.
1256 </summary>
1257 </member>
1258 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.ExclusiveOwnerResourceLockModifier.#ctor(Wintellect.Threading.ResourceLocks.ResourceLock)">
1259 <summary>
1260 Constructs an ExclusiveOwnerResourceLockModifier over the specified ResourceLock.
1261 </summary>
1262 <param name="resLock"></param>
1263 </member>
1264 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.ExclusiveOwnerResourceLockModifier.OnWaitToWrite">
1265 <summary>
1266 Implements the ResourceLock's WaitToWrite behavior.
1267 </summary>
1268 </member>
1269 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.ExclusiveOwnerResourceLockModifier.OnDoneWriting">
1270 <summary>
1271 Implements the ResourceLock's DoneWriting behavior.
1272 </summary>
1273 </member>
1274 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.ExclusiveOwnerResourceLockModifier.OnWaitToRead">
1275 <summary>
1276 Implements the ResourceLock's WaitToRead behavior.
1277 </summary>
1278 </member>
1279 <member name="M:Wintellect.Threading.ResourceLocks.Diagnostics.ExclusiveOwnerResourceLockModifier.OnDoneReading">
1280 <summary>
1281 Implements the ResourceLock's DoneReading behavior.
1282 </summary>
1283 </member>
1284 <member name="T:Wintellect.Threading.LogicalProcessor.NumaInformation">
1285 <summary>
1286 This class returns NUMA information about the host machine.
1287 </summary>
1288 </member>
1289 <member name="F:Wintellect.Threading.LogicalProcessor.NumaInformation.NoPreferredNode">
1290 <summary>
1291 A constant indicating that there is no preferred node.
1292 </summary>
1293 </member>
1294 <member name="M:Wintellect.Threading.LogicalProcessor.NumaInformation.GetNodeFromProcessor(System.Int32)">
1295 <summary>
1296 Retrieves the node number for the specified processor.
1297 </summary>
1298 <param name="processor">The processor number.</param>
1299 <returns>The node number.</returns>
1300 </member>
1301 <member name="M:Wintellect.Threading.LogicalProcessor.NumaInformation.GetProcessorsFromNode(System.Int32)">
1302 <summary>
1303 Retrieves the processor mask for the specified node.
1304 </summary>
1305 <param name="node">The node number.</param>
1306 <returns>The processor mask for the node. A processor mask is
1307 a bit vector in which each bit represents a processor and
1308 whether it is in the node.</returns>
1309 </member>
1310 <member name="M:Wintellect.Threading.LogicalProcessor.NumaInformation.GetAvailableMemoryOnNode(System.Int32)">
1311 <summary>
1312 Retrieves the amount of memory available in the specified node.
1313 </summary>
1314 <param name="node">The numa node.</param>
1315 <returns>The amount of available memory for the node, in bytes.</returns>
1316 </member>
1317 <member name="M:Wintellect.Threading.LogicalProcessor.NumaInformation.ProximityNode(System.Int32)">
1318 <summary>
1319 Retrieves the node number for the specified proximity identifier.
1320 </summary>
1321 <param name="proximityId">The proximity identifier of the node.</param>
1322 <returns>The node number.</returns>
1323 </member>
1324 <member name="P:Wintellect.Threading.LogicalProcessor.NumaInformation.HighestNode">
1325 <summary>
1326 Retrieves the node that currently has the highest number.
1327 </summary>
1328 </member>
1329 <member name="T:Wintellect.Exception`1">
1330 <summary>
1331 Represents errors that occur during application execution.
1332 </summary>
1333 <typeparam name="T">The type of exception and any additional arguments associated with it.</typeparam>
1334 </member>
1335 <member name="M:Wintellect.Exception`1.#ctor">
1336 <summary>
1337 Initializes a new instance of the Exception class
1338 </summary>
1339 </member>
1340 <member name="M:Wintellect.Exception`1.#ctor(System.String)">
1341 <summary>
1342 Initializes a new instance of the Exception class with a specified error message.
1343 </summary>
1344 <param name="message">The error message that explains the reason for the exception.</param>
1345 </member>
1346 <member name="M:Wintellect.Exception`1.#ctor(System.String,System.Exception)">
1347 <summary>
1348 Initializes a new instance of the Exception class with a specified error message
1349 and a reference to the inner exception that is the cause of this exception.
1350 </summary>
1351 <param name="message">The error message that explains the reason for the exception.</param>
1352 <param name="innerException">The exception that is the cause of the current exception,
1353 or a null reference if no inner exception is specified.</param>
1354 </member>
1355 <member name="M:Wintellect.Exception`1.#ctor(`0,System.String,System.Exception)">
1356 <summary>
1357 Initializes a new instance of the Exception class with additional arguments,
1358 a specified error message, and a reference to the inner exception
1359 that is the cause of this exception.
1360 </summary>
1361 <param name="args">The exception's additional arguments.</param>
1362 <param name="message">The error message that explains the reason for the exception.</param>
1363 <param name="innerException">The exception that is the cause of the current exception,
1364 or a null reference if no inner exception is specified.</param>
1365 </member>
1366 <member name="M:Wintellect.Exception`1.#ctor(`0,System.String)">
1367 <summary>
1368 Initializes a new instance of the Exception class with additional arguments and
1369 a specified error message.
1370 </summary>
1371 <param name="args">The exception's additional arguments.</param>
1372 <param name="message">The error message that explains the reason for the exception.</param>
1373 </member>
1374 <member name="M:Wintellect.Exception`1.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
1375 <summary>
1376 When overridden in a derived class, sets the SerializationInfo with information about the exception.
1377 </summary>
1378 <param name="info">The SerializationInfo that holds the serialized object data about the exception being thrown.</param>
1379 <param name="context">The StreamingContext that contains contextual information about the source or destination.</param>
1380 </member>
1381 <member name="M:Wintellect.Exception`1.ToString">
1382 <summary>
1383 Creates and returns a string representation of the current exception.
1384 </summary>
1385 <returns></returns>
1386 </member>
1387 <member name="M:Wintellect.Exception`1.GetHashCode">
1388 <summary>
1389 Serves as a hash function for a particular type.
1390 </summary>
1391 <returns>A hash code for the current Object.</returns>
1392 </member>
1393 <member name="M:Wintellect.Exception`1.Equals(System.Object)">
1394 <summary>
1395 Determines whether the specified Object is equal to the current Object.
1396 </summary>
1397 <param name="obj">The Object to compare with the current Object. </param>
1398 <returns>true if the specified Object is equal to the current Object; otherwise, false.</returns>
1399 </member>
1400 <member name="P:Wintellect.Exception`1.Args">
1401 <summary>
1402 Returns a reference to this exception's additional arguments.
1403 </summary>
1404 </member>
1405 <member name="P:Wintellect.Exception`1.Message">
1406 <summary>
1407 Gets a message that describes the current exception.
1408 </summary>
1409 </member>
1410 <member name="T:Wintellect.CommandArgumentParser.CmdArgumentTypeExceptionArgs">
1411 <summary>
1412 This represents a CmdArgumentType exception.
1413 </summary>
1414 </member>
1415 <member name="T:Wintellect.CommandArgumentParser.InvalidCmdArgumentExceptionArgs">
1416 <summary>
1417 The exception argument indicating that an invalid command-line argument has been found.
1418 </summary>
1419 </member>
1420 <member name="M:Wintellect.CommandArgumentParser.InvalidCmdArgumentExceptionArgs.#ctor(System.String)">
1421 <summary>
1422 Constructs an InvalidCmdArgumentExceptionArgs with the specified invalid command argument.
1423 </summary>
1424 <param name="invalidCmdArg"></param>
1425 </member>
1426 <member name="M:Wintellect.CommandArgumentParser.InvalidCmdArgumentExceptionArgs.ToString">
1427 <summary>
1428 Returns a string that contains the invalid argument.
1429 </summary>
1430 <returns></returns>
1431 </member>
1432 <member name="P:Wintellect.CommandArgumentParser.InvalidCmdArgumentExceptionArgs.InvalidCmdArg">
1433 <summary>
1434 Returns the invalid argument.
1435 </summary>
1436 </member>
1437 <member name="T:Wintellect.Threading.ResourceLocks.NullResourceLock">
1438 <summary>
1439 A ResourceLock that actually performs no locking at all.
1440 </summary>
1441 </member>
1442 <member name="M:Wintellect.Threading.ResourceLocks.NullResourceLock.#ctor">
1443 <summary>
1444 Constructs an instance of the NullResourceLock.
1445 </summary>
1446 </member>
1447 <member name="M:Wintellect.Threading.ResourceLocks.NullResourceLock.OnWaitToWrite">
1448 <summary>
1449 Implements the ResourceLock's WaitToWrite behavior.
1450 </summary>
1451 </member>
1452 <member name="M:Wintellect.Threading.ResourceLocks.NullResourceLock.OnDoneWriting">
1453 <summary>
1454 Implements the ResourceLock's DoneWriting behavior.
1455 </summary>
1456 </member>
1457 <member name="T:Wintellect.Threading.InterlockedEx">
1458 <summary>Provides atomic operations for variables that are shared by multiple threads.</summary>
1459 </member>
1460 <member name="M:Wintellect.Threading.InterlockedEx.Morph``2(System.Int32@,``1,Wintellect.Threading.InterlockedEx.Morpher{``0,``1})">
1461 <summary>Atomically modifies an Int32 value using an algorithm identified by <paramref name="morpher"/>.</summary>
1462 <typeparam name="TResult">The type of the return value.</typeparam>
1463 <typeparam name="TArgument">The type of the argument passed to the <paramref name="morpher"/> callback method.</typeparam>
1464 <param name="target">A reference to the Int32 value that is to be modified atomically.</param>
1465 <param name="argument">A value of type <typeparamref name="TArgument"/> that will be passed on to the <paramref name="morpher"/> callback method.</param>
1466 <param name="morpher">The algorithm that modifies the Int32 returning a new Int32 value and another return value to be returned to the caller.</param>
1467 <returns>The desired Int32 value.</returns>
1468 </member>
1469 <member name="M:Wintellect.Threading.InterlockedEx.IfThen(System.Int32@,System.Int32,System.Int32)">
1470 <summary>Compares two values for equality and, if they are equal, replaces one of the values.</summary>
1471 <return>Returns true if the value in <paramref name="val"/> was equal the the value of <paramref name="if"/>.</return>
1472 <param name="value">The destination, whose value is compared with <paramref name="if"/> and possibly replaced with <paramref name="then"/>.</param>
1473 <param name="if">The value that is compared to the value at <paramref name="val"/>.</param>
1474 <param name="then">The value that might get placed into <paramref name="val"/>.</param>
1475 </member>
1476 <member name="M:Wintellect.Threading.InterlockedEx.IfThen(System.UInt32@,System.UInt32,System.UInt32)">
1477 <summary>Compares two values for equality and, if they are equal, replaces one of the values.</summary>
1478 <return>Returns true if the value in <paramref name="val"/> was equal the the value of <paramref name="if"/>.</return>
1479 <param name="value">The destination, whose value is compared with <paramref name="if"/> and possibly replaced with <paramref name="then"/>.</param>
1480 <param name="if">The value that is compared to the value at <paramref name="val"/>.</param>
1481 <param name="then">The value that might get placed into <paramref name="val"/>.</param>
1482 </member>
1483 <member name="M:Wintellect.Threading.InterlockedEx.IfThen(System.Int32@,System.Int32,System.Int32,System.Int32@)">
1484 <summary>Compares two values for equality and, if they are equal, replaces one of the values.</summary>
1485 <remarks>The previous value in <paramref name="value"/> is returned in <paramref name="previousValue"/>.</remarks>
1486 <return>Returns true if the value in <paramref name="value"/> was equal the the value of <paramref name="if"/>.</return>
1487 <param name="value">The destination, whose value is compared with <paramref name="if"/> and possibly replaced with <paramref name="then"/>.</param>
1488 <param name="if">The value that is compared to the value at <paramref name="value"/>.</param>
1489 <param name="then">The value that might get placed into <paramref name="value"/>.</param>
1490 <param name="previousValue">The previous value that was in <paramref name="value"/> prior to calling this method.</param>
1491 </member>
1492 <member name="M:Wintellect.Threading.InterlockedEx.IfThen(System.UInt32@,System.UInt32,System.UInt32,System.UInt32@)">
1493 <summary>Compares two values for equality and, if they are equal, replaces one of the values.</summary>
1494 <remarks>The previous value in <paramref name="value"/> is returned in <paramref name="previousValue"/>.</remarks>
1495 <return>Returns true if the value in <paramref name="value"/> was equal the the value of <paramref name="if"/>.</return>
1496 <param name="value">The destination, whose value is compared with <paramref name="if"/> and possibly replaced with <paramref name="then"/>.</param>
1497 <param name="if">The value that is compared to the value at <paramref name="value"/>.</param>
1498 <param name="then">The value that might get placed into <paramref name="value"/>.</param>
1499 <param name="previousValue">The previous value that was in <paramref name="value"/> prior to calling this method.</param>
1500 </member>
1501 <member name="M:Wintellect.Threading.InterlockedEx.IfThen``1(``0@,``0,``0)">
1502 <summary>Compares two values for equality and, if they are equal, replaces one of the values.</summary>
1503 <return>Returns true if the value in <paramref name="value"/> was equal the the value of <paramref name="if"/>.</return>
1504 <typeparam name="T">The type to be used for value, if, and then. This type must be a reference type.</typeparam>
1505 <param name="value">The destination, whose value is compared with <paramref name="if"/> and possibly replaced with <paramref name="then"/>.</param>
1506 <param name="if">The value that is compared to the value at <paramref name="value"/>.</param>
1507 <param name="then">The value that might get placed into <paramref name="value"/>.</param>
1508 </member>
1509 <member name="M:Wintellect.Threading.InterlockedEx.IfThen``1(``0@,``0,``0,``0@)">
1510 <summary>Compares two values for equality and, if they are equal, replaces one of the values.</summary>
1511 <remarks>The previous value in <paramref name="value"/> is returned in <paramref name="previousValue"/>.</remarks>
1512 <return>Returns true if the value in <paramref name="value"/> was equal the the value of <paramref name="if"/>.</return>
1513 <typeparam name="T">The type to be used for value, if, and then. This type must be a reference type.</typeparam>
1514 <param name="value">The destination, whose value is compared with <paramref name="if"/> and possibly replaced with <paramref name="then"/>.</param>
1515 <param name="if">The value that is compared to the value at <paramref name="value"/>.</param>
1516 <param name="then">The value that might get placed into <paramref name="value"/>.</param>
1517 <param name="previousValue">The previous value that was in <paramref name="value"/> prior to calling this method.</param>
1518 </member>
1519 <member name="M:Wintellect.Threading.InterlockedEx.CompareExchange(System.UInt32@,System.UInt32,System.UInt32)">
1520 <summary>Compares two 32-bit unsigned integers for equality and, if they are equal, replaces one of the values.</summary>
1521 <remarks>If comparand and the value in location are equal, then value is stored in location. Otherwise, no operation is performed. The compare and exchange operations are performed as an atomic operation. The return value of CompareExchange is the original value in location, whether or not the exchange takes place.</remarks>
1522 <param name="location">The destination, whose value is compared with comparand and possibly replaced.</param>
1523 <param name="value">The value that replaces the destination value if the comparison results in equality.</param>
1524 <param name="comparand">The value that is compared to the value at <paramref name="location"/>.</param>
1525 <returns>The original value in location.</returns>
1526 </member>
1527 <member name="M:Wintellect.Threading.InterlockedEx.Exchange(System.UInt32@,System.UInt32)">
1528 <summary>Sets a 32-bit unsigned integer to a specified value and returns the original value, as an atomic operation.</summary>
1529 <param name="location">The variable to set to the specified value.</param>
1530 <param name="value">The value to which the <paramref name="location"/> parameter is set.</param>
1531 <returns>The original value of <paramref name="location"/>.</returns>
1532 </member>
1533 <member name="M:Wintellect.Threading.InterlockedEx.Add(System.UInt32@,System.Int32)">
1534 <summary>Adds a 32-bit signed integer to a 32-bit unsigned integer and replaces the first integer with the sum, as an atomic operation.</summary>
1535 <param name="location">A variable containing the first value to be added. The sum of the two values is stored in <paramref name="location"/>.</param>
1536 <param name="value">The value to be added to the integer at <paramref name="location"/>.</param>
1537 <returns>The new value stored at <paramref name="location"/>.</returns>
1538 </member>
1539 <member name="M:Wintellect.Threading.InterlockedEx.Increment(System.UInt32@)">
1540 <summary>Increments a specified variable and stores the result, as an atomic operation.</summary>
1541 <param name="location">The variable whose value is to be incremented.</param>
1542 <returns>The incremented value.</returns>
1543 </member>
1544 <member name="M:Wintellect.Threading.InterlockedEx.Decrement(System.UInt32@)">
1545 <summary>Decrements a specified variable and stores the result, as an atomic operation.</summary>
1546 <param name="location">The variable whose value is to be decremented.</param>
1547 <returns>The decremented value.</returns>
1548 </member>
1549 <member name="M:Wintellect.Threading.InterlockedEx.Max(System.Int32@,System.Int32)">
1550 <summary>Increases a value to a new value if the new value is larger.</summary>
1551 <return>Returns the previous value of <paramref name="target"/>.</return>
1552 <param name="target">A variable containing the value that might be increased to a new maximum.</param>
1553 <param name="value">The value that if larger than <paramref name="target"/> will be placed in <paramref name="target"/>.</param>
1554 </member>
1555 <member name="M:Wintellect.Threading.InterlockedEx.Min(System.Int32@,System.Int32)">
1556 <summary>Decreases a value to a new value if the new value is smaller.</summary>
1557 <return>Returns the previous value of <paramref name="target"/>.</return>
1558 <param name="target">A variable containing the value that might be decreased to a new minimum.</param>
1559 <param name="value">The value that if smaller than <paramref name="target"/> will be placed in <paramref name="target"/>.</param>
1560 </member>
1561 <member name="M:Wintellect.Threading.InterlockedEx.DecrementIfGreaterThan(System.Int32@,System.Int32)">
1562 <summary>Decrements a value by 1 if the value is greater than the specified value (usually 0).</summary>
1563 <return>Returns the previous value of <paramref name="target"/>.</return>
1564 <param name="target">A variable containing the value that might be decremented.</param>
1565 <param name="lowValue">The value that target must be greater than in order for the decrement to occur.</param>
1566 </member>
1567 <member name="M:Wintellect.Threading.InterlockedEx.AddModulo(System.Int32@,System.Int32,System.Int32)">
1568 <summary>Decrements a value by 1 if the value is greater than 0.</summary>
1569 <param name="target">A variable containing the value that might be decremented.</param>
1570 <param name="value">The value to add to target before calculating the modulo specified in <paramref name="modulo"/>.</param>
1571 <param name="modulo">The value to use for the modulo operation.</param>
1572 <returns>Returns the previous value of <paramref name="target"/>.</returns>
1573 </member>
1574 <member name="M:Wintellect.Threading.InterlockedEx.And(System.Int32@,System.Int32)">
1575 <summary>Bitwise ANDs two 32-bit integers and replaces the first integer with the ANDed value, as an atomic operation.</summary>
1576 <return>Returns the previous value of <paramref name="target"/>.</return>
1577 <param name="target">A variable containing the first value to be ANDed. The bitwise AND of the two values is stored in <paramref name="target"/>.</param>
1578 <param name="with">The value to AND with <paramref name="target"/>.</param>
1579 </member>
1580 <member name="M:Wintellect.Threading.InterlockedEx.Or(System.Int32@,System.Int32)">
1581 <summary>Bitwise ORs two 32-bit integers and replaces the first integer with the ORed value, as an atomic operation.</summary>
1582 <return>Returns the previous value of <paramref name="target"/>.</return>
1583 <param name="target">A variable containing the first value to be ORed. The bitwise OR of the two values is stored in <paramref name="target"/>.</param>
1584 <param name="with">The value to OR with <paramref name="target"/>.</param>
1585 </member>
1586 <member name="M:Wintellect.Threading.InterlockedEx.Or(System.Int64@,System.Int64)">
1587 <summary>Bitwise ORs two 64-bit signed integers and replaces the first integer with the ORed value, as an atomic operation.</summary>
1588 <return>Returns the previous value of <paramref name="target"/>.</return>
1589 <param name="target">A variable containing the first value to be ORed. The bitwise OR of the two values is stored in <paramref name="target"/>.</param>
1590 <param name="with">The value to OR with <paramref name="target"/>.</param>
1591 </member>
1592 <member name="M:Wintellect.Threading.InterlockedEx.Xor(System.Int32@,System.Int32)">
1593 <summary>Bitwise XORs two 32-bit integers and replaces the first integer with the XORed value, as an atomic operation.</summary>
1594 <return>Returns the previous value of <paramref name="target"/>.</return>
1595 <param name="target">A variable containing the first value to be XORed. The bitwise XOR of the two values is stored in <paramref name="target"/>.</param>
1596 <param name="with">The value to XOR with <paramref name="target"/>.</param>
1597 </member>
1598 <member name="M:Wintellect.Threading.InterlockedEx.BitTestAndSet(System.Int32@,System.Int32)">
1599 <summary>Turns a bit on and returns whether or not it was on.</summary>
1600 <return>Returns whether the bit was on prior to calling this method.</return>
1601 <param name="target">A variable containing the value that is to have a bit turned on.</param>
1602 <param name="bitNumber">The bit (0-31) in <paramref name="target"/> that should be turned on.</param>
1603 </member>
1604 <member name="M:Wintellect.Threading.InterlockedEx.BitTestAndReset(System.Int32@,System.Int32)">
1605 <summary>Turns a bit off and returns whether or not it was on.</summary>
1606 <return>Returns whether the bit was on prior to calling this method.</return>
1607 <param name="target">A variable containing the value that is to have a bit turned off.</param>
1608 <param name="bitNumber">The bit (0-31) in <paramref name="target"/> that should be turned off.</param>
1609 </member>
1610 <member name="M:Wintellect.Threading.InterlockedEx.BitTestAndCompliment(System.Int32@,System.Int32)">
1611 <summary>Flips an on bit off or and off bit on.</summary>
1612 <return>Returns whether the bit was on prior to calling this method.</return>
1613 <param name="target">A variable containing the value that is to have a bit flipped.</param>
1614 <param name="bitNumber">The bit (0-31) in <paramref name="target"/> that should be flipped.</param>
1615 </member>
1616 <member name="M:Wintellect.Threading.InterlockedEx.MaskedAnd(System.Int32@,System.Int32,System.Int32)">
1617 <summary>Bitwise ANDs two 32-bit integers with a mask replacing the first integer with the ANDed value, as an atomic operation.</summary>
1618 <return>Returns the previous value of <paramref name="target"/>.</return>
1619 <param name="target">A variable containing the first value to be ANDed. The bitwise AND of the two values is stored in <paramref name="target"/>.</param>
1620 <param name="with">The value to AND with <paramref name="target"/>.</param>
1621 <param name="mask">The value to AND with <paramref name="target"/> prior to ANDing with <paramref name="with"/>.</param>
1622 </member>
1623 <member name="M:Wintellect.Threading.InterlockedEx.MaskedOr(System.Int32@,System.Int32,System.Int32)">
1624 <summary>Bitwise ORs two 32-bit integers with a mask replacing the first integer with the ORed value, as an atomic operation.</summary>
1625 <return>Returns the previous value of <paramref name="target"/>.</return>
1626 <param name="target">A variable containing the first value to be ORed. The bitwise OR of the two values is stored in <paramref name="target"/>.</param>
1627 <param name="with">The value to OR with <paramref name="target"/>.</param>
1628 <param name="mask">The value to AND with <paramref name="target"/> prior to ORing with <paramref name="with"/>.</param>
1629 </member>
1630 <member name="M:Wintellect.Threading.InterlockedEx.MaskedXor(System.Int32@,System.Int32,System.Int32)">
1631 <summary>Bitwise XORs two 32-bit integers with a mask replacing the first integer with the XORed value, as an atomic operation.</summary>
1632 <return>Returns the previous value of <paramref name="target"/>.</return>
1633 <param name="target">A variable containing the first value to be XORed. The bitwise XOR of the two values is stored in <paramref name="target"/>.</param>
1634 <param name="with">The value to XOR with <paramref name="target"/>.</param>
1635 <param name="mask">The value to AND with <paramref name="target"/> prior to XORing with <paramref name="with"/>.</param>
1636 </member>
1637 <member name="M:Wintellect.Threading.InterlockedEx.MaskedExchange(System.Int32@,System.Int32,System.Int32)">
1638 <summary>Sets a variable to a specified value as an atomic operation.</summary>
1639 <return>Returns the previous value of <paramref name="target"/>.</return>
1640 <param name="target">A variable containing the value to be replaced.</param>
1641 <param name="mask">The bits to leave unaffected in <paramref name="target"/> prior to ORing with <paramref name="value"/>.</param>
1642 <param name="value">The value to reaplce <paramref name="target"/> with.</param>
1643 </member>
1644 <member name="M:Wintellect.Threading.InterlockedEx.MaskedAdd(System.Int32@,System.Int32,System.Int32)">
1645 <summary>Adds two integers and replaces the first integer with the sum, as an atomic operation.</summary>
1646 <return>Returns the previous value of <paramref name="target"/>.</return>
1647 <param name="target">A variable containing the value to be replaced.</param>
1648 <param name="value">The value to add to <paramref name="target"/>.</param>
1649 <param name="mask">The bits in <paramref name="target"/> that should not be affected by adding.</param>
1650 </member>
1651 <member name="T:Wintellect.Threading.InterlockedEx.Morpher`2">
1652 <summary>Identifies a method that morphs the Int32 startValue into a new value, returning it.</summary>
1653 <typeparam name="TResult">The return type returned by the Morph method.</typeparam>
1654 <typeparam name="TArgument">The argument type passed to the Morph method.</typeparam>
1655 <param name="startValue">The initial Int32 value.</param>
1656 <param name="argument">The argument passed to the method.</param>
1657 <param name="morphResult">The value returned from Morph when the morpher callback method is successful.</param>
1658 <returns>The value that the morpher method desires to set the <paramref name="startValue"/> to.</returns>
1659 </member>
1660 <member name="T:Wintellect.SafePinnedObject">
1661 <summary>
1662 This class encapsulates pinning a buffer.
1663 </summary>
1664 </member>
1665 <member name="M:Wintellect.SafePinnedObject.FromObject(System.Object)">
1666 <summary>
1667 This factory method wraps a SafePinnedObject around the specified object.
1668 </summary>
1669 <param name="value">The object that you want to pin.</param>
1670 <returns>The SafePinnedObject wrapping the desired object.</returns>
1671 </member>
1672 <member name="M:Wintellect.SafePinnedObject.FromArray(System.Array,System.Int32,System.Int32)">
1673 <summary>
1674 This factory method wraps a SafePinnedObject around the specified array.
1675 </summary>
1676 <param name="array">The array that you want to pin.</param>
1677 <param name="startOffset">The first element in the array whose address you want to pass to native code.</param>
1678 <param name="numberOfElements">The number of elements in the array you wish to pass to native code.</param>
1679 <returns>The SafePinnedObject wrapping the desired array elements.</returns>
1680 </member>
1681 <member name="M:Wintellect.SafePinnedObject.FromType(System.Type)">
1682 <summary>
1683 This factory method wraps a SafePinnedObject around an instance of the specified type.
1684 </summary>
1685 <param name="type">The type, an instance of which you want to pass to native code.</param>
1686 <returns>The SafePinnedObject wrapping the desired type's instance.</returns>
1687 </member>
1688 <member name="M:Wintellect.SafePinnedObject.FromPointer(System.IntPtr,System.Int32)">
1689 <summary>
1690 This factory method wraps a SafePinnedObject around a native block of memory.
1691 </summary>
1692 <param name="pointer">The starting address of the native block of memory.</param>
1693 <param name="numberOfBytes">The number of bytes in the native block of memory.</param>
1694 <returns>The SafePinnedObject wrapping the desired native block of memory.</returns>
1695 </member>
1696 <member name="P:Wintellect.SafePinnedObject.Target">
1697 <summary>
1698 Returns the object of a pinned buffer or null if not specified
1699 </summary>
1700 </member>
1701 <member name="P:Wintellect.SafePinnedObject.Size">
1702 <summary>
1703 Returns the number of bytes in a pinned object or 0 if not specified
1704 </summary>
1705 </member>
1706 <member name="T:Wintellect.Threading.SyncContextEventRaiser">
1707 <summary>
1708 This class raises an event using a specific SynchronizationContext object.
1709 </summary>
1710 </member>
1711 <member name="M:Wintellect.Threading.SyncContextEventRaiser.#ctor">
1712 <summary>
1713 Constructs a SyncContextEventRaiser using the current thread's SynchronizationContext.
1714 </summary>
1715 </member>
1716 <member name="M:Wintellect.Threading.SyncContextEventRaiser.#ctor(System.Threading.SynchronizationContext)">
1717 <summary>
1718 Constructs a SyncContextEventRaiser using the specified SynchronizationContext.
1719 </summary>
1720 </member>
1721 <member name="M:Wintellect.Threading.SyncContextEventRaiser.PostEvent``1(Wintellect.Threading.SyncContextEventRaiser.EventRaiser{``0},``0)">
1722 <summary>A method that asynchronously raises an event on the application's desired thread.</summary>
1723 <typeparam name="T">The <see cref="T:System.EventArgs"/> type identifying the type of object that gets raised with the event"/></typeparam>
1724 <param name="callback">The protected virtual method that will raise the event.</param>
1725 <param name="e">The <see cref="T:System.EventArgs"/> object that should be passed to the protected virtual method raising the event.</param>
1726 </member>
1727 <member name="M:Wintellect.Threading.SyncContextEventRaiser.SendEvent``1(Wintellect.Threading.SyncContextEventRaiser.EventRaiser{``0},``0)">
1728 <summary>A method that synchronously raises an event on the application's desired thread.</summary>
1729 <typeparam name="T">The <see cref="T:System.EventArgs"/> type identifying the type of object that gets raised with the event"/></typeparam>
1730 <param name="callback">The protected virtual method that will raise the event.</param>
1731 <param name="e">The <see cref="T:System.EventArgs"/> object that should be passed to the protected virtual method raising the event.</param>
1732 </member>
1733 <member name="T:Wintellect.Threading.SyncContextEventRaiser.EventRaiser`1">
1734 <summary>Represents a callback to a protected virtual method that raises an event.</summary>
1735 <typeparam name="T">The <see cref="T:System.EventArgs"/> type identifying the type of object that gets raised with the event"/></typeparam>
1736 <param name="e">The <see cref="T:System.EventArgs"/> object that should be passed to a protected virtual method that raises the event.</param>
1737 </member>
1738 <member name="T:Wintellect.Threading.ReaderWriterGate.ReaderWriterGate">
1739 <summary>
1740 This class implements a reader/writer lock that never blocks any threads.
1741 </summary>
1742 </member>
1743 <member name="M:Wintellect.Threading.ReaderWriterGate.ReaderWriterGate.Dispose">
1744 <summary>
1745 Releases all resources asscoiated with the ReaderWriterGate
1746 </summary>
1747 </member>
1748 <member name="M:Wintellect.Threading.ReaderWriterGate.ReaderWriterGate.#ctor">
1749 <summary>
1750 Constructs a ReaderWriterGate object.
1751 </summary>
1752 </member>
1753 <member name="M:Wintellect.Threading.ReaderWriterGate.ReaderWriterGate.#ctor(System.Boolean)">
1754 <summary>
1755 Constructs a ReaderWriterGate object
1756 </summary>
1757 <param name="blockReadersUntilFirstWriteCompletes">Pass true to have readers block until the first writer has created the data that is being protected by the ReaderWriterGate.</param>
1758 </member>
1759 <member name="T:Wintellect.Threading.ResourceLocks.EventResourceLock">
1760 <summary>
1761 Implements a ResourceLock by way of a Windows auto-reset Event.
1762 </summary>
1763 </member>
1764 <member name="M:Wintellect.Threading.ResourceLocks.EventResourceLock.#ctor">
1765 <summary>
1766 Constructs an EventResourceLock.
1767 </summary>
1768 </member>
1769 <member name="M:Wintellect.Threading.ResourceLocks.EventResourceLock.OnWaitToWrite">
1770 <summary>
1771 Implements the ResourceLock's WaitToWrite behavior.
1772 </summary>
1773 </member>
1774 <member name="M:Wintellect.Threading.ResourceLocks.EventResourceLock.OnDoneWriting">
1775 <summary>
1776 Implements the ResourceLock's DoneWriting behavior.
1777 </summary>
1778 </member>
1779 <member name="T:Wintellect.Threading.ArbitraryWaitHandle">
1780 <summary>
1781 Converts variosu handles to waitable handle for synchronization.
1782 </summary>
1783 </member>
1784 <member name="M:Wintellect.Threading.ArbitraryWaitHandle.FromHandle(System.IntPtr)">
1785 <summary>
1786 A factory method that converts a Win32 handle to an ArbitraryWaitHandle.
1787 </summary>
1788 <param name="handle">Identifies a handle to a synchronizable Win32 object.</param>
1789 <returns>An ArbitraryWaitHandle object.</returns>
1790 </member>
1791 <member name="M:Wintellect.Threading.ArbitraryWaitHandle.op_Implicit(System.IntPtr)~Wintellect.Threading.ArbitraryWaitHandle">
1792 <summary>
1793 Implicitly casts a Win32 handle to an ArbitraryWaitHandle.
1794 </summary>
1795 <param name="handle">Identifies a handle to a synchronizable Win32 object.</param>
1796 <returns>An ArbitraryWaitHandle object.</returns>
1797 </member>
1798 <member name="M:Wintellect.Threading.ArbitraryWaitHandle.FromSafeHandle(System.Runtime.InteropServices.SafeHandle)">
1799 <summary>
1800 Converts a SafeHandle-derived object to an ArbitraryWaitHandle object.
1801 </summary>
1802 <param name="safeHandle">Identifies a SafeHandle to a synchronizable Win32 object.</param>
1803 <returns>An ArbitraryWaitHandle object.</returns>
1804 </member>
1805 <member name="M:Wintellect.Threading.ArbitraryWaitHandle.op_Implicit(System.Runtime.InteropServices.SafeHandle)~Wintellect.Threading.ArbitraryWaitHandle">
1806 <summary>
1807 Implicitly casts a SafeHandle-derived object to an ArbitraryWaitHandle.
1808 </summary>
1809 <param name="safeHandle">Identifies a SafeHandle to a synchronizable Win32 object.</param>
1810 <returns>An ArbitraryWaitHandle object.</returns>
1811 </member>
1812 <member name="T:Wintellect.Threading.ResourceLocks.ReaderWriterResourceLock">
1813 <summary>
1814 A reader/write lock implemented using the .NET Framework's own System.Threading.ReaderWriterLock
1815 </summary>
1816 </member>
1817 <member name="M:Wintellect.Threading.ResourceLocks.ReaderWriterResourceLock.#ctor">
1818 <summary>
1819 Constructs a ReaderWriterResourceLock object.
1820 </summary>
1821 </member>
1822 <member name="M:Wintellect.Threading.ResourceLocks.ReaderWriterResourceLock.OnWaitToWrite">
1823 <summary>
1824 Implements the ResourceLock's WaitToWrite behavior.
1825 </summary>
1826 </member>
1827 <member name="M:Wintellect.Threading.ResourceLocks.ReaderWriterResourceLock.OnDoneWriting">
1828 <summary>
1829 Implements the ResourceLock's DoneWriting behavior.
1830 </summary>
1831 </member>
1832 <member name="M:Wintellect.Threading.ResourceLocks.ReaderWriterResourceLock.OnWaitToRead">
1833 <summary>
1834 Implements the ResourceLock's WaitToRead behavior.
1835 </summary>
1836 </member>
1837 <member name="M:Wintellect.Threading.ResourceLocks.ReaderWriterResourceLock.OnDoneReading">
1838 <summary>
1839 Implements the ResourceLock's DoneReading behavior.
1840 </summary>
1841 </member>
1842 <member name="T:Wintellect.Threading.AsyncProgModel.SyncGateMode">
1843 <summary>
1844 Indicates if the SyncGate should be acquired for exclusive or shared access.
1845 </summary>
1846 </member>
1847 <member name="F:Wintellect.Threading.AsyncProgModel.SyncGateMode.Exclusive">
1848 <summary>
1849 Indicates that exclusive access is required.
1850 </summary>
1851 </member>
1852 <member name="F:Wintellect.Threading.AsyncProgModel.SyncGateMode.Shared">
1853 <summary>
1854 Indicates that shared access is required.
1855 </summary>
1856 </member>
1857 <member name="T:Wintellect.Threading.AsyncProgModel.SyncGate">
1858 <summary>
1859 This class implements a reader/writer lock that never blocks any threads.
1860 This class integrates very well with the AsyncEnumerator class.
1861 </summary>
1862 </member>
1863 <member name="M:Wintellect.Threading.AsyncProgModel.SyncGate.#ctor">
1864 <summary>
1865 Constructs a SyncGate object.
1866 </summary>
1867 </member>
1868 <member name="M:Wintellect.Threading.AsyncProgModel.SyncGate.#ctor(System.Boolean)">
1869 <summary>
1870 Constructs a SyncGate object
1871 </summary>
1872 <param name="blockReadersUntilFirstWriteCompletes">Pass true to have readers block until the first writer has created the data that is being protected by the ReaderWriterGate.</param>
1873 </member>
1874 <member name="M:Wintellect.Threading.AsyncProgModel.SyncGate.BeginRegion(Wintellect.Threading.AsyncProgModel.SyncGateMode,System.AsyncCallback)">
1875 <summary>
1876 Allows the caller to notify the SyncGate that it wants exclusive or shared access to a resource.
1877 </summary>
1878 <param name="mode">Indicates if exclusive or shared access is desired.</param>
1879 <param name="asyncCallback">The callback method to invoke once access can be granted.</param>
1880 </member>
1881 <member name="M:Wintellect.Threading.AsyncProgModel.SyncGate.BeginRegion(Wintellect.Threading.AsyncProgModel.SyncGateMode,System.AsyncCallback,System.Object)">
1882 <summary>
1883 Allows the caller to notify the SyncGate that it wants exclusive or shared access to a resource.
1884 </summary>
1885 <param name="mode">Indicates if exclusive or shared access is desired.</param>
1886 <param name="asyncCallback">The callback method to invoke once access can be granted.</param>
1887 <param name="asyncState">Additional state to pass to the callback method.</param>
1888 </member>
1889 <member name="M:Wintellect.Threading.AsyncProgModel.SyncGate.EndRegion(System.IAsyncResult)">
1890 <summary>
1891 Call this method after accessing the resource to notify the SyncGate that it can grant access to other code.
1892 </summary>
1893 <param name="result">The IAsyncResult object given to the callback method when access was granted.</param>
1894 </member>
1895 <member name="T:Wintellect.Threading.AsyncProgModel.AsyncResult">
1896 <summary>
1897 Represents the status of an asynchronous operation that has no return type.
1898 </summary>
1899 </member>
1900 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncResult.#ctor(System.AsyncCallback,System.Object)">
1901 <summary>
1902 Constructs an object that identifies an asynchronous operation.
1903 </summary>
1904 <param name="asyncCallback">The method that should be executed wehen the operation completes.</param>
1905 <param name="state">The object that can be obtained via the AsyncState property.</param>
1906 </member>
1907 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncResult.#ctor(System.AsyncCallback,System.Object,System.Object)">
1908 <summary>
1909 Constructs an object that identifies an asynchronous operation.
1910 </summary>
1911 <param name="asyncCallback">The method that should be executed wehen the operation completes.</param>
1912 <param name="state">The object that can be obtained via the AsyncState property.</param>
1913 <param name="initiatingObject">Identifies the object that is initiating the asynchronous operation. This object is obtainable via the InitiatingObject property.</param>
1914 </member>
1915 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncResult.SetAsCompleted(System.Exception,System.Boolean)">
1916 <summary>
1917 Call this method to indicate that the asynchronous operation has completed.
1918 </summary>
1919 <param name="exception">If non-null, this argument identifies the exception that occuring while processing the asynchronous operation.</param>
1920 <param name="completedSynchronously">Indicates whether the operation completed synchronously or asynchronously.</param>
1921 </member>
1922 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncResult.EndInvoke">
1923 <summary>
1924 Frees up resources used by the asynchronous operation represented by the IAsyncResult passed.
1925 If the asynchronous operation failed, this method throws the exception.
1926 </summary>
1927 </member>
1928 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncResult.GetAsyncCallbackHelper">
1929 <summary>
1930 Returns a single static delegate to a static method that will invoke the desired AsyncCallback
1931 </summary>
1932 <returns>The single static delegate.</returns>
1933 </member>
1934 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncResult.BeginInvokeOnWorkerThread">
1935 <summary>
1936 Returns an IAsyncResult for an operations that was queued to the thread pool.
1937 </summary>
1938 <returns>The IAsyncResult.</returns>
1939 </member>
1940 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncResult.OnCompleteOperation(System.IAsyncResult)">
1941 <summary>
1942 Invokes the callback method when the asynchronous operations completes.
1943 </summary>
1944 <param name="result">The IAsyncResult object identifying the asynchronous operation that has completed.</param>
1945 </member>
1946 <member name="P:Wintellect.Threading.AsyncProgModel.AsyncResult.InitiatingObject">
1947 <summary>
1948 Gets the object passed to the constructor to initate the asynchronous operation.
1949 </summary>
1950 </member>
1951 <member name="P:Wintellect.Threading.AsyncProgModel.AsyncResult.AsyncState">
1952 <summary>
1953 Gets a user-defined object that qualifies or contains information about an asynchronous operation.
1954 </summary>
1955 </member>
1956 <member name="P:Wintellect.Threading.AsyncProgModel.AsyncResult.CompletedSynchronously">
1957 <summary>
1958 Gets an indication of whether the asynchronous operation completed synchronously.
1959 </summary>
1960 </member>
1961 <member name="P:Wintellect.Threading.AsyncProgModel.AsyncResult.AsyncWaitHandle">
1962 <summary>
1963 Gets a WaitHandle that is used to wait for an asynchronous operation to complete.
1964 </summary>
1965 </member>
1966 <member name="P:Wintellect.Threading.AsyncProgModel.AsyncResult.IsCompleted">
1967 <summary>
1968 Gets an indication whether the asynchronous operation has completed.
1969 </summary>
1970 </member>
1971 <member name="T:Wintellect.Threading.ResourceLocks.ResourceLockOptions">
1972 <summary>
1973 Flags representing features of the ResourceLock.
1974 </summary>
1975 </member>
1976 <member name="F:Wintellect.Threading.ResourceLocks.ResourceLockOptions.None">
1977 <summary>
1978 None.
1979 </summary>
1980 </member>
1981 <member name="F:Wintellect.Threading.ResourceLocks.ResourceLockOptions.AcquiringThreadMustRelease">
1982 <summary>
1983 If specified, then the thread that acquires the lock must also
1984 release the lock. No other thread can release the lock.
1985 </summary>
1986 </member>
1987 <member name="F:Wintellect.Threading.ResourceLocks.ResourceLockOptions.SupportsRecursion">
1988 <summary>
1989 If specified, then this lock supports recursion.
1990 </summary>
1991 </member>
1992 <member name="F:Wintellect.Threading.ResourceLocks.ResourceLockOptions.IsMutualExclusive">
1993 <summary>
1994 Indicates that this lock is really a mutual-exclusive lock allowing only one thread to enter into it at a time.
1995 </summary>
1996 </member>
1997 <member name="F:Wintellect.Threading.ResourceLocks.ResourceLockOptions.ImmuneFromDeadlockDetection">
1998 <summary>
1999 If specified, then deadlock detection does not apply to this kind of lock.
2000 </summary>
2001 </member>
2002 <member name="T:Wintellect.Threading.ResourceLocks.ResourceLockState">
2003 <summary>
2004 Indicates the current state of the lock.
2005 </summary>
2006 </member>
2007 <member name="F:Wintellect.Threading.ResourceLocks.ResourceLockState.NotLocked">
2008 <summary>
2009 The lock is current not locked by any thread.
2010 </summary>
2011 </member>
2012 <member name="F:Wintellect.Threading.ResourceLocks.ResourceLockState.LockedForReading">
2013 <summary>
2014 The lock is current locked by one or more readers.
2015 </summary>
2016 </member>
2017 <member name="F:Wintellect.Threading.ResourceLocks.ResourceLockState.LockedForWriting">
2018 <summary>
2019 The lock is currently locked by one writer.
2020 </summary>
2021 </member>
2022 <member name="T:Wintellect.Threading.AsyncProgModel.AsyncEnumerator">
2023 <summary>
2024 A class that can drive an iterator asynchronously allowing for scalable and responsive applications and components.
2025 </summary>
2026 </member>
2027 <member name="F:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.MaxDiscardGroup">
2028 <summary>
2029 A discard group can be any number from 0 to MaxDiscardGroup.
2030 </summary>
2031 </member>
2032 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.FromAsyncResult(System.IAsyncResult)">
2033 <summary>
2034 Returns the AsyncEnumerator object used to obtain this IAsyncResult object.
2035 </summary>
2036 <param name="result">An IAsyncResult object previously returned
2037 by calling BeginExecute.</param>
2038 <returns>A reference to the AsyncEnumerator object that was used to call BeginExecute.</returns>
2039 </member>
2040 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.ThrowOnMissingDiscardGroup(System.Boolean)">
2041 <summary>
2042 Sets a flag indicating whether the AsyncEnumerator should throw an exception
2043 if you call a BeginXxx method without calling the End or EndVoid method passing a discard group.
2044 This method exists to allow some runtime checks to help ensure that you are writing your code correctly.
2045 </summary>
2046 <param name="throw">Pass true to turn checking on; false to turn it off.</param>
2047 </member>
2048 <member name="F:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.m_asyncResult">
2049 <summary>
2050 The IAsyncResult object that allows the iteration to execute asynchronously
2051 </summary>
2052 </member>
2053 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.#ctor">
2054 <summary>
2055 Initializes a new instance of the AsyncEnumerator class.
2056 </summary>
2057 </member>
2058 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.#ctor(System.String)">
2059 <summary>
2060 Initializes a new instance of the AsyncEnumerator class identified with a debug tag.
2061 </summary>
2062 <param name="debugTag">The desired debug tag name for this AsyncEnumerator object.</param>
2063 </member>
2064 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.Execute(System.Collections.Generic.IEnumerator{System.Int32})">
2065 <summary>
2066 Executes an interator and waits for it to complete before returning.
2067 </summary>
2068 <param name="enumerator">Identifies the iterator method to be driven by the AsyncEnumerator,</param>
2069 </member>
2070 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.BeginExecute(System.Collections.Generic.IEnumerator{System.Int32},System.AsyncCallback)">
2071 <summary>
2072 Begins executing an interator and returns after the iterator's first yield return statement executes.
2073 </summary>
2074 <param name="enumerator">Identifies the iterator method to be driven by the AsyncEnumerator,</param>
2075 <param name="callback">An optional asynchronous callback, to be called when the iterator completes.</param>
2076 </member>
2077 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.BeginExecute(System.Collections.Generic.IEnumerator{System.Int32},System.AsyncCallback,System.Object)">
2078 <summary>
2079 Begins executing an interator and returns after the iterator's first yield return statement executes.
2080 </summary>
2081 <param name="enumerator">Identifies the iterator method to be driven by the AsyncEnumerator,</param>
2082 <param name="callback">An optional asynchronous callback, to be called when the iterator completes.</param>
2083 <param name="state">A user-provided object that distinguishes this particular asynchronous operation from other operations.</param>
2084 </member>
2085 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.EndExecute(System.IAsyncResult)">
2086 <summary>
2087 Waits for the pending asynchronous operation to complete.
2088 </summary>
2089 <param name="result">The reference to the pending asynchronous operation to finish.</param>
2090 </member>
2091 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.OnConstructAsyncResult(System.AsyncCallback,System.Object)">
2092 <summary>
2093 Called to construct an AsyncResult object with the specified callback function and state.
2094 </summary>
2095 <param name="callback">An optional asynchronous callback, to be called when the iterator completes.</param>
2096 <param name="state">A user-provided object that distinguishes this particular asynchronous operation from other operations.</param>
2097 <returns>The AsyncResult object.</returns>
2098 </member>
2099 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.OnCompleteAsyncResult">
2100 <summary>
2101 Called when the asynchronous operation completes.
2102 </summary>
2103 </member>
2104 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.End">
2105 <summary>
2106 Pass this to a BegixXxx method's AsyncCallback argument to have the operation
2107 complete to advance the enumerator. The operation is implicitly part of discard group 0.
2108 </summary>
2109 </member>
2110 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.EnqueueCompletedOpToInbox(System.Object)">
2111 <summary>
2112 Called internally when an async operation completes
2113 </summary>
2114 <param name="asyncResultOrDiscardableAsyncResult">The IAsyncResult (for a non-discardable) or the DiscardableAsyncResult (for a discardable) operation.</param>
2115 </member>
2116 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.TryEnqueueCompletedOpToInbox(Wintellect.Threading.AsyncProgModel.AsyncEnumerator.AsyncResultWrapper)">
2117 <summary>
2118 Rejects a completed DiscardableAsyncResult if its group has been discarded; if not rejected,
2119 the DiscardableAsyncResult is added to the inbox.
2120 </summary>
2121 <param name="asyncResultWrapper">The completed AsyncResultWrapper</param>
2122 <returns>True if the AsyncResultWrapper was added to the inbox; false if it was rejected.</returns>
2123 </member>
2124 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.DequeueAsyncResult">
2125 <summary>
2126 Dequeues a completed AsyncResultWrapper's IAsyncResult object from the inbox.
2127 </summary>
2128 <returns>The completed DiscardableAsyncResult's IAsyncResult object.</returns>
2129 </member>
2130 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.DiscardAsyncResultsBelongingToDiscardedGroups">
2131 <summary>
2132 Discards previously-completed DiscardableAsyncResult objects from the inbox if their discard group has been discarded
2133 </summary>
2134 </member>
2135 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.IsDebuggingEnabled">
2136 <summary>
2137 Returns true if the EnableDebugging method has ever been called.
2138 </summary>
2139 <returns>true if EnableDebugging has ever been called.</returns>
2140 </member>
2141 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.EnableDebugSupport">
2142 <summary>
2143 Call this method to enable operation debugging support. When enabled, call
2144 stacks are captured and recorded when End methods are invoked. As operations
2145 complete, the call stacks are discarded. Calling ToString on an AsyncEnumerator
2146 object will shows its tag, the time stamp of the last 'yield return' statement
2147 executed and the collection of its outstanding operations (tags and line/file
2148 where the End method was called for it).
2149 Typically, you'd examine this information in a debugger. Because capturing call
2150 stacks hurts performance, you should only enable debugging support to help you
2151 solve a problem related to operations that do not complete.
2152 </summary>
2153 </member>
2154 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.GetInProgressList">
2155 <summary>
2156 Returns the AsyncEnumerator objects are are in progress of executing an iterator.
2157 The list returned is sorted. Element 0 identifes the AsyncEnumerator that has been
2158 waiting the longest for its operations to complete. The last element has been waiting
2159 the shortest amount of time.
2160 </summary>
2161 <returns>The sorted list of in-progress AsyncEnumerator objects.</returns>
2162 </member>
2163 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.SetOperationTag(System.String)">
2164 <summary>
2165 Sets the debug tag name of the next operation that you are initiating as
2166 indicated by the netx call to an End method. This method is marked with
2167 the [Conditional("AsyncEnumeratorDebug")] attribute.
2168 </summary>
2169 <param name="debugOperationTag">The debug tag name for the next operation you are initiating.</param>
2170 </member>
2171 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.ToString">
2172 <summary>
2173 Returns debug information about the AsyncEnumerator object. The information includes
2174 the Name (passed in the constructor). If EnableDebugging has been called, then the
2175 last yield timestamp and source code line/file is also displayed.
2176 </summary>
2177 <returns>String contianing helpful debugging information.</returns>
2178 </member>
2179 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.DiscardGroup(System.Int32)">
2180 <summary>
2181 Discards all operations that are part of the specified discard group from the Inbox.
2182 </summary>
2183 <param name="group">The discard group number (0-MaxDiscardGroup).</param>
2184 </member>
2185 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.End(System.Int32,Wintellect.Threading.AsyncProgModel.AsyncEnumerator.EndObjectXxx)">
2186 <summary>
2187 Pass the result of this method to a BegixXxx method's AsyncCallback argument to have a cancelable operation
2188 complete to advance the enumerator.
2189 </summary>
2190 <param name="group">Identifies an operation sequence number used for cancelation. The number passed must be between 0 and MaxDiscardGroup.</param>
2191 <param name="callback">The EndXxx method that must be called when this canceled operation eventually completes.</param>
2192 <returns>The value that should be passed to a BeginXxx method's AsyncCallback argument.</returns>
2193 </member>
2194 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.EndVoid(System.Int32,Wintellect.Threading.AsyncProgModel.AsyncEnumerator.EndVoidXxx)">
2195 <summary>
2196 Pass the result of this method to a BegixXxx method's AsyncCallback argument to have a cancelable operation
2197 complete to advance the enumerator.
2198 </summary>
2199 <param name="group">Identifies an operation sequence number used for cancelation. The number passed must be between 0 and 63.</param>
2200 <param name="callback">The EndXxx method that must be called when this canceled operation eventually completes.</param>
2201 <returns>The value that should be passed to a BeginXxx method's AsyncCallback argument.</returns>
2202 </member>
2203 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.SetCancelTimeout(System.Int32,System.Object)">
2204 <summary>
2205 Causes a timer to automatically call Cancel.
2206 </summary>
2207 <param name="milliseconds">How long to wait before Cancel is called.</param>
2208 <param name="cancelValue">Identifies the cancelValue to be passed to Cancel.</param>
2209 </member>
2210 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.Cancel(System.Object)">
2211 <summary>
2212 Tells the iterator to Cancel all of its remaining operations.
2213 </summary>
2214 <param name="cancelValue">An arbitrary value that can be examined by the iterator.
2215 This value is returned by IsCanceled.</param>
2216 <returns>Returns True if the calling thread is the first thread to call Cancel (and sets the cancelValue).</returns>
2217 </member>
2218 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.IsCanceled">
2219 <summary>
2220 An iterator calls this to determine if Cancel has been called (possibly by a timer set by a call to SetCancelTimer).
2221 </summary>
2222 <returns>Returns True if Cancel has been called.</returns>
2223 </member>
2224 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.IsCanceled(System.Object@)">
2225 <summary>
2226 An iterator calls this to determine if Cancel has been called (possibly by a timer set by a call to SetCancelTimer).
2227 </summary>
2228 <param name="cancelValue">Returns the cancelValue passed to Cancel.</param>
2229 <returns>Returns True if Cancel has been called.</returns>
2230 </member>
2231 <member name="P:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.SyncContext">
2232 <summary>
2233 Gets or sets the SynchronizationContext object that the AsyncEnumerator uses when resuming your iterator.
2234 All value of null (the default), means that your iterator will execute via various thread pool threads.
2235 </summary>
2236 </member>
2237 <member name="P:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.LastYieldReturnTimestamp">
2238 <summary>
2239 Returns the timestamp at the last 'yield return' statement.
2240 </summary>
2241 </member>
2242 <member name="T:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.EndObjectXxx">
2243 <summary>
2244 Identifies an EndXxx method that takes an IAsyncResult and returns some result
2245 </summary>
2246 <param name="result">The IAsyncResult of the completion operation.</param>
2247 <returns>The EndXxx method's return value.</returns>
2248 </member>
2249 <member name="T:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.EndVoidXxx">
2250 <summary>
2251 Identifies an EndXxx method that takes an IAsyncResult and doesn't return a value
2252 </summary>
2253 <param name="result">The IAsyncResult of the completion operation.</param>
2254 </member>
2255 <member name="T:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.DiscardableAsyncResult">
2256 <summary>
2257 Class that wraps an asynchronous operation and its AsyncCallback method.
2258 </summary>
2259 </member>
2260 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.DiscardableAsyncResult.SelfComplete">
2261 <summary>
2262 Called when an DiscardableAsyncResult is being rejected/dicarded to ensure that its EndXxx method is invoked
2263 </summary>
2264 </member>
2265 <member name="T:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.AsyncResultWrapper">
2266 <summary>
2267 A ValueType that abstracts an IAsyncResult (used for non-discard group operations)
2268 from a DiscardableAsyncResult (used for discard group operation).
2269 This type makes an IAsyncResult look like a DiscardableAsyncResult object without construction of another object
2270 </summary>
2271 </member>
2272 <member name="T:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.WaitAndInboxCounts">
2273 <summary>
2274 This struct contains a single Int32 member that encapsulates the
2275 number of items the enumerator is waiting for and the number of
2276 completed async operations in the inbox. All members of this type
2277 manipulate the counters atomically.
2278 </summary>
2279 </member>
2280 <member name="F:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.WaitAndInboxCounts.c_MaxWait">
2281 <summary>
2282 Sentinal value used to indicate that a thread determined that
2283 it should call MoveNext again to advance the iterator
2284 </summary>
2285 </member>
2286 <member name="F:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.WaitAndInboxCounts.m_waitAndInboxCounts">
2287 <summary>
2288 High 16 bits=number of inbox items to wait for before calling MoveNext
2289 Low 16 bits=number of items in inbox
2290 </summary>
2291 </member>
2292 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.WaitAndInboxCounts.#ctor(System.Int32)">
2293 <summary>
2294 Constructs a WaitAndInboxCounts instance from an Int32
2295 </summary>
2296 <param name="waic">The Int32 instance.</param>
2297 </member>
2298 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.WaitAndInboxCounts.ToInt32">
2299 <summary>
2300 Converts a WaitAndInboxCounts instance to an Int32
2301 </summary>
2302 <returns>The WaitAndInboxCounts object as an Int32.</returns>
2303 </member>
2304 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.WaitAndInboxCounts.Initialize">
2305 <summary>
2306 Initializes the Wait to the sentinal value because we don't want
2307 a thread to MoveNext until the iterator has returned a Wait at least once
2308 </summary>
2309 </member>
2310 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.WaitAndInboxCounts.AtomicSetWait(System.UInt16)">
2311 <summary>
2312 Atomically updates the number of inbox items the enumerator
2313 wants to wait for and returns the new value.
2314 </summary>
2315 <param name="numberOpsToWaitFor">The number of asynchronous operations that must complete before the enumerator advances.</param>
2316 <returns>Returns true if the calling thread met the requirements necessary to call the enumerator's MoveNext method.</returns>
2317 </member>
2318 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.WaitAndInboxCounts.AtomicIncrementInbox">
2319 <summary>
2320 Atomically updates the number of inbox items the enumerator
2321 wants to wait for and returns the new value.
2322 </summary>
2323 <returns>Returns true if the calling thread met the requirements necessary to call the enumerator's MoveNext method.</returns>
2324 </member>
2325 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.WaitAndInboxCounts.AtomicDecrementInbox(System.Int32)">
2326 <summary>
2327 Atomically subtracts the number of discarded items from the inbox.
2328 </summary>
2329 <param name="numRemoved">The number of asynchronous operations that were discarded from the inbox.</param>
2330 </member>
2331 <member name="P:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.WaitAndInboxCounts.Wait">
2332 <summary>
2333 Gets/Sets the number of items the enumerator is waiting for
2334 </summary>
2335 </member>
2336 <member name="P:Wintellect.Threading.AsyncProgModel.AsyncEnumerator.WaitAndInboxCounts.Inbox">
2337 <summary>
2338 Gets/Sets the number of items in the inbox
2339 </summary>
2340 </member>
2341 <member name="T:Wintellect.Threading.AsyncProgModel.NoEndMethodCalled">
2342 <summary>
2343 This class is used when throwing an Exception to indicate
2344 that an operation is being discarded but no EndXxx method
2345 was specified and so resources are being leaked.
2346 </summary>
2347 </member>
2348 <member name="P:Wintellect.Threading.AsyncProgModel.NoEndMethodCalled.AsyncResult">
2349 <summary>
2350 Identifies the IAsyncResult object that was being discarded.
2351 </summary>
2352 </member>
2353 <member name="T:Wintellect.Threading.AsyncProgModel.AsyncEnumerator`1">
2354 <summary>
2355 A class that can drive an iterator asynchronously allowing for
2356 scalable and responsive applications and components.
2357 </summary>
2358 <typeparam name="TResult">The type of result that the iterator method will return.</typeparam>
2359 </member>
2360 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator`1.FromAsyncResult(System.IAsyncResult)">
2361 <summary>
2362 Returns the AsyncEnumerator object used to obtain this IAsyncResult object.
2363 </summary>
2364 <param name="result">An IAsyncResult object previously returned
2365 by calling BeginExecute.</param>
2366 <returns>A reference to the AsyncEnumerator object that was used to call BeginExecute.</returns>
2367 </member>
2368 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator`1.#ctor">
2369 <summary>
2370 Initializes a new instance of the AsyncEnumerator class.
2371 </summary>
2372 </member>
2373 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator`1.#ctor(System.String)">
2374 <summary>
2375 Initializes a new instance of the AsyncEnumerator class identified with a debug tag.
2376 </summary>
2377 <param name="debugTag">The desired debug tag name for this AsyncEnumerator object.</param>
2378 </member>
2379 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator`1.Execute(System.Collections.Generic.IEnumerator{System.Int32})">
2380 <summary>
2381 Executes an interator and waits for it to complete before returning.
2382 </summary>
2383 <param name="enumerator">Identifies the iterator method to be driven by the AsyncEnumerator,</param>
2384 <returns>The value set in the Result property by the iterator.</returns>
2385 </member>
2386 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator`1.EndExecute(System.IAsyncResult)">
2387 <summary>
2388 Waits for the pending asynchronous operation to complete.
2389 </summary>
2390 <param name="result">The reference to the pending asynchronous operation to finish.</param>
2391 <returns>The value set in the Result property by the iterator.</returns>
2392 </member>
2393 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator`1.OnConstructAsyncResult(System.AsyncCallback,System.Object)">
2394 <summary>
2395 Called to construct an AsyncResult object with the specified callback function and state.
2396 </summary>
2397 <param name="callback">An optional asynchronous callback, to be called when the iterator completes.</param>
2398 <param name="state">A user-provided object that distinguishes this particular asynchronous operation from other operations.</param>
2399 <returns>The AsyncResult object.</returns>
2400 </member>
2401 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncEnumerator`1.OnCompleteAsyncResult">
2402 <summary>
2403 Called when the asynchronous operation completes.
2404 </summary>
2405 </member>
2406 <member name="P:Wintellect.Threading.AsyncProgModel.AsyncEnumerator`1.Result">
2407 <summary>
2408 An iterator sets this property to return the value back to code that executed the iterator.
2409 Code that executed the iterator usually gets this value as the return value from Execute or EndExecute.
2410 </summary>
2411 </member>
2412 <member name="T:Wintellect.OperationTimer">
2413 <summary>
2414 This class is useful for timing the duration of an algorithm
2415 </summary>
2416 </member>
2417 <member name="M:Wintellect.OperationTimer.#ctor">
2418 <summary>
2419 Constructs an OperationTimer with an empty text string
2420 </summary>
2421 </member>
2422 <member name="M:Wintellect.OperationTimer.#ctor(System.String)">
2423 <summary>
2424 Constructs an OperationTimer with text identifying the operation
2425 </summary>
2426 <param name="text">Text describing the operation.</param>
2427 </member>
2428 <member name="M:Wintellect.OperationTimer.Dispose">
2429 <summary>
2430 Call this when the operation is done to see how long it took and how many GCs occurred.
2431 </summary>
2432 </member>
2433 <member name="T:Wintellect.Threading.AsyncProgModel.AsyncResult`1">
2434 <summary>
2435 Represents the status of an asynchronous operation that has a return type of type <typeparamref name="TResult"/>.
2436 </summary>
2437 <typeparam name="TResult">The type of the return value</typeparam>
2438 </member>
2439 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncResult`1.#ctor(System.AsyncCallback,System.Object)">
2440 <summary>
2441 Constructs an object that identifies an asynchronous operation.
2442 </summary>
2443 <param name="asyncCallback">The method that should be executed wehen the operation completes.</param>
2444 <param name="state">The object that can be obtained via the AsyncState property.</param>
2445 </member>
2446 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncResult`1.#ctor(System.AsyncCallback,System.Object,System.Object)">
2447 <summary>
2448 Constructs an object that identifies an asynchronous operation.
2449 </summary>
2450 <param name="asyncCallback">The method that should be executed wehen the operation completes.</param>
2451 <param name="state">The object that can be obtained via the AsyncState property.</param>
2452 <param name="initiatingObject">Identifies the object that is initiating the asynchronous operation. This object is obtainable via the InitiatingObject property.</param>
2453 </member>
2454 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncResult`1.SetAsCompleted(`0,System.Boolean)">
2455 <summary>
2456 Call this method to indicate that the asynchronous operation has completed.
2457 </summary>
2458 <param name="result">Indicates the value calculated by the asynchronous operation.</param>
2459 <param name="completedSynchronously">Indicates whether the operation completed synchronously or asynchronously.</param>
2460 </member>
2461 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncResult`1.EndInvoke">
2462 <summary>
2463 Frees up resources used by the asynchronous operation represented by the IAsyncResult passed.
2464 If the asynchronous operation failed, this method throws the exception. If the operation suceeded,
2465 this method returns the value calculated by the asynchronous operation.
2466 </summary>
2467 <returns>The value calculated by the asynchronous operation.</returns>
2468 </member>
2469 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncResult`1.GetAsyncCallbackHelper">
2470 <summary>
2471 Returns a single static delegate to a static method that will invoke the desired AsyncCallback
2472 </summary>
2473 <returns>The single static delegate.</returns>
2474 </member>
2475 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncResult`1.BeginInvokeOnWorkerThread">
2476 <summary>
2477 Returns an IAsyncResult for an operations that was queued to the thread pool.
2478 </summary>
2479 <returns>The IAsyncResult.</returns>
2480 </member>
2481 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncResult`1.OnCompleteOperation(System.IAsyncResult)">
2482 <summary>
2483 Invokes the callback method when the asynchronous operations completes.
2484 </summary>
2485 <param name="result">The IAsyncResult object identifying the asynchronous operation that has completed.</param>
2486 <returns>The value computed by the asynchronous operation.</returns>
2487 </member>
2488 <member name="T:Wintellect.Threading.AsyncProgModel.AsyncResultReflection`1">
2489 <summary>
2490 Represents the status of an asynchronous operation that has a return type of type <typeparamref name="TResult"/>.
2491 </summary>
2492 <typeparam name="TResult">The type of the operations computed value.</typeparam>
2493 </member>
2494 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncResultReflection`1.#ctor(System.AsyncCallback,System.Object,System.Object,System.Reflection.MethodInfo,System.Object[])">
2495 <summary>
2496 Constructs an object that identifies an asynchronous operation.
2497 </summary>
2498 <param name="asyncCallback">The method that should be executed wehen the operation completes.</param>
2499 <param name="state">The object that can be obtained via the AsyncState property.</param>
2500 <param name="target">The object whose instance method should be called. Pass null to invoke a static method.</param>
2501 <param name="methodInfo">Identifies the static or instance method that should be invoked when the asynchronous operation completes.</param>
2502 <param name="args">Identifies the arguments that should be passed to the method when the asynchronous operation completes.</param>
2503 </member>
2504 <member name="M:Wintellect.Threading.AsyncProgModel.AsyncResultReflection`1.OnCompleteOperation(System.IAsyncResult)">
2505 <summary>
2506 Invokes the target's method passing it the specified arguments when the asynchronous operations completes.
2507 </summary>
2508 <param name="result">The IAsyncResult object identifying the asynchronous operation that has completed.</param>
2509 <returns>The value computed by the asynchronous operation.</returns>
2510 </member>
2511 <member name="T:Wintellect.Threading.AsyncProgModel.SyncContextAsyncCallback">
2512 <summary>
2513 This class invokes an AsyncCallback delegate via a specific SynchronizationContext object.
2514 </summary>
2515 </member>
2516 <member name="M:Wintellect.Threading.AsyncProgModel.SyncContextAsyncCallback.Wrap(System.AsyncCallback,System.Boolean)">
2517 <summary>
2518 Wraps the calling thread's SynchronizationContext object around the specified AsyncCallback.
2519 </summary>
2520 <param name="callback">The method that should be invoked using
2521 the calling thread's SynchronizationContext.</param>
2522 <param name="send">true if the AsyncCallback should be invoked via send; false if post.</param>
2523 <returns>The wrapped AsyncCallback delegate.</returns>
2524 </member>
2525 <member name="M:Wintellect.Threading.AsyncProgModel.SyncContextAsyncCallback.Wrap(System.AsyncCallback)">
2526 <summary>
2527 Wraps the calling thread's SynchronizationContext object around the specified AsyncCallback.
2528 </summary>
2529 <param name="callback">The method that should be invoked using
2530 the calling thread's SynchronizationContext.</param>
2531 <returns>The wrapped AsyncCallback delegate.</returns>
2532 </member>
2533 <member name="T:Wintellect.Disposer">
2534 <summary>
2535 Puts an IDisposable wrapper around a callback method allowing any
2536 method to be used with the C# using statement.
2537 </summary>
2538 </member>
2539 <member name="M:Wintellect.Disposer.#ctor(Wintellect.Disposer.DisposeMethod)">
2540 <summary>
2541 Constructs a Dispose object around the specified method.
2542 </summary>
2543 <param name="disposeMethod">The method that should be called via Dispose.</param>
2544 </member>
2545 <member name="M:Wintellect.Disposer.Dispose">
2546 <summary>
2547 Invokes the desired method via this method.
2548 </summary>
2549 </member>
2550 <member name="T:Wintellect.Disposer.DisposeMethod">
2551 <summary>
2552 A delegate that matches the signature of IDisposable's Dispose method.
2553 </summary>
2554 </member>
2555 <member name="T:Wintellect.IO.DeviceControlCode">
2556 <summary>
2557 A value type representing a single device control code.
2558 </summary>
2559 </member>
2560 <member name="M:Wintellect.IO.DeviceControlCode.#ctor(Wintellect.IO.DeviceType,System.Int32,Wintellect.IO.DeviceMethod,Wintellect.IO.DeviceAccess)">
2561 <summary>
2562 Constructs a device control code.
2563 </summary>
2564 <param name="type">Identifies the type of device.</param>
2565 <param name="function">Identifies the device's function.</param>
2566 <param name="method">Identifies the bufferring method.</param>
2567 <param name="access">Identifies what access to the device is required.</param>
2568 </member>
2569 <member name="M:Wintellect.IO.DeviceControlCode.ToString">
2570 <summary>
2571 Returns the device code number as a string.
2572 </summary>
2573 <returns></returns>
2574 </member>
2575 <member name="M:Wintellect.IO.DeviceControlCode.GetHashCode">
2576 <summary>
2577 Returns the hash code for the device code.
2578 </summary>
2579 <returns></returns>
2580 </member>
2581 <member name="M:Wintellect.IO.DeviceControlCode.Equals(System.Object)">
2582 <summary>
2583 Determines whether the specified Object is equal to the current DeviceControlCode.
2584 </summary>
2585 <param name="obj"></param>
2586 <returns></returns>
2587 </member>
2588 <member name="M:Wintellect.IO.DeviceControlCode.op_Equality(Wintellect.IO.DeviceControlCode,Wintellect.IO.DeviceControlCode)">
2589 <summary>
2590 Determines whether two DeviceControlCode objects have the same value.
2591 </summary>
2592 <param name="code1">The first DeviceControlCode to compare.</param>
2593 <param name="code2">The second DeviceControlCode to compare.</param>
2594 <returns>true if code1 and code2 have the same value; otherwise, false</returns>
2595 </member>
2596 <member name="M:Wintellect.IO.DeviceControlCode.op_Inequality(Wintellect.IO.DeviceControlCode,Wintellect.IO.DeviceControlCode)">
2597 <summary>
2598 Determines whether two DeviceControlCode objects have different values.
2599 </summary>
2600 <param name="code1">The first DeviceControlCode to compare.</param>
2601 <param name="code2">The second DeviceControlCode to compare.</param>
2602 <returns>true if code1 and code2 have different values; otherwise, false</returns>
2603 </member>
2604 <member name="T:Wintellect.IO.DeviceType">
2605 <summary>
2606 The various types of devices.
2607 </summary>
2608 </member>
2609 <member name="F:Wintellect.IO.DeviceType.None">
2610 <summary>
2611 None.
2612 </summary>
2613 </member>
2614 <member name="F:Wintellect.IO.DeviceType.Beep">
2615 <summary>
2616 The Beep device.
2617 </summary>
2618 </member>
2619 <member name="F:Wintellect.IO.DeviceType.CDRom">
2620 <summary>
2621 The CDRom device.
2622 </summary>
2623 </member>
2624 <member name="F:Wintellect.IO.DeviceType.CDRomFileSystem">
2625 <summary>
2626 The CDRom File System device.
2627 </summary>
2628 </member>
2629 <member name="F:Wintellect.IO.DeviceType.Controller">
2630 <summary>
2631 The Controller device.
2632 </summary>
2633 </member>
2634 <member name="F:Wintellect.IO.DeviceType.DataLink">
2635 <summary>
2636 The DataLink device.
2637 </summary>
2638 </member>
2639 <member name="F:Wintellect.IO.DeviceType.Dfs">
2640 <summary>
2641 The DFS device.
2642 </summary>
2643 </member>
2644 <member name="F:Wintellect.IO.DeviceType.Disk">
2645 <summary>
2646 The disk device.
2647 </summary>
2648 </member>
2649 <member name="F:Wintellect.IO.DeviceType.DiskFileSystem">
2650 <summary>
2651 The Disk file system device.
2652 </summary>
2653 </member>
2654 <member name="F:Wintellect.IO.DeviceType.FileSystem">
2655 <summary>
2656 The file system device.
2657 </summary>
2658 </member>
2659 <member name="F:Wintellect.IO.DeviceType.InportPort">
2660 <summary>
2661 The inport port device.
2662 </summary>
2663 </member>
2664 <member name="F:Wintellect.IO.DeviceType.Keyboard">
2665 <summary>
2666 The keyboard device.
2667 </summary>
2668 </member>
2669 <member name="F:Wintellect.IO.DeviceType.Mailslot">
2670 <summary>
2671 The mailslot device.
2672 </summary>
2673 </member>
2674 <member name="F:Wintellect.IO.DeviceType.MidiIn">
2675 <summary>
2676 THe MIDI in device.
2677 </summary>
2678 </member>
2679 <member name="F:Wintellect.IO.DeviceType.MidiOut">
2680 <summary>
2681 The MIDI out device.
2682 </summary>
2683 </member>
2684 <member name="F:Wintellect.IO.DeviceType.Mouse">
2685 <summary>
2686 The mouse device.
2687 </summary>
2688 </member>
2689 <member name="F:Wintellect.IO.DeviceType.MultiUncProvider">
2690 <summary>
2691 The multi UNC provider device.
2692 </summary>
2693 </member>
2694 <member name="F:Wintellect.IO.DeviceType.NamedPipe">
2695 <summary>
2696 The named-pipe device.
2697 </summary>
2698 </member>
2699 <member name="F:Wintellect.IO.DeviceType.Network">
2700 <summary>
2701 The networkd device.
2702 </summary>
2703 </member>
2704 <member name="F:Wintellect.IO.DeviceType.NetworkBrowser">
2705 <summary>
2706 The network browser device.
2707 </summary>
2708 </member>
2709 <member name="F:Wintellect.IO.DeviceType.NetworkFileSystem">
2710 <summary>
2711 The network file system device.
2712 </summary>
2713 </member>
2714 <member name="F:Wintellect.IO.DeviceType.Null">
2715 <summary>
2716 The null device.
2717 </summary>
2718 </member>
2719 <member name="F:Wintellect.IO.DeviceType.ParallelPort">
2720 <summary>
2721 The parallel port device.
2722 </summary>
2723 </member>
2724 <member name="F:Wintellect.IO.DeviceType.PhysicalNetcard">
2725 <summary>
2726 The physical net card device.
2727 </summary>
2728 </member>
2729 <member name="F:Wintellect.IO.DeviceType.Printer">
2730 <summary>
2731 The printer device.
2732 </summary>
2733 </member>
2734 <member name="F:Wintellect.IO.DeviceType.Scanner">
2735 <summary>
2736 The scanner device.
2737 </summary>
2738 </member>
2739 <member name="F:Wintellect.IO.DeviceType.SerialMousePort">
2740 <summary>
2741 The serial mouse port device.
2742 </summary>
2743 </member>
2744 <member name="F:Wintellect.IO.DeviceType.SerialPort">
2745 <summary>
2746 The serial port device.
2747 </summary>
2748 </member>
2749 <member name="F:Wintellect.IO.DeviceType.Screen">
2750 <summary>
2751 The screen device.
2752 </summary>
2753 </member>
2754 <member name="F:Wintellect.IO.DeviceType.Sound">
2755 <summary>
2756 The sound device.
2757 </summary>
2758 </member>
2759 <member name="F:Wintellect.IO.DeviceType.Streams">
2760 <summary>
2761 The streams device.
2762 </summary>
2763 </member>
2764 <member name="F:Wintellect.IO.DeviceType.Tape">
2765 <summary>
2766 The tape device.
2767 </summary>
2768 </member>
2769 <member name="F:Wintellect.IO.DeviceType.TapeFileSystem">
2770 <summary>
2771 The tape file system device.
2772 </summary>
2773 </member>
2774 <member name="F:Wintellect.IO.DeviceType.Transport">
2775 <summary>
2776 The transport device.
2777 </summary>
2778 </member>
2779 <member name="F:Wintellect.IO.DeviceType.Unknown">
2780 <summary>
2781 The unknown device.
2782 </summary>
2783 </member>
2784 <member name="F:Wintellect.IO.DeviceType.Video">
2785 <summary>
2786 The video device.
2787 </summary>
2788 </member>
2789 <member name="F:Wintellect.IO.DeviceType.VirtualDisk">
2790 <summary>
2791 The virtual disk device.
2792 </summary>
2793 </member>
2794 <member name="F:Wintellect.IO.DeviceType.WaveIn">
2795 <summary>
2796 The wave in device.
2797 </summary>
2798 </member>
2799 <member name="F:Wintellect.IO.DeviceType.WaveOut">
2800 <summary>
2801 The wave out device.
2802 </summary>
2803 </member>
2804 <member name="F:Wintellect.IO.DeviceType.Port8042">
2805 <summary>
2806 The port 8042 device.
2807 </summary>
2808 </member>
2809 <member name="F:Wintellect.IO.DeviceType.NetworkRedirector">
2810 <summary>
2811 The network redirector device.
2812 </summary>
2813 </member>
2814 <member name="F:Wintellect.IO.DeviceType.Battery">
2815 <summary>
2816 The battery device.
2817 </summary>
2818 </member>
2819 <member name="F:Wintellect.IO.DeviceType.BusExtender">
2820 <summary>
2821 The bus extender device.
2822 </summary>
2823 </member>
2824 <member name="F:Wintellect.IO.DeviceType.Modem">
2825 <summary>
2826 The modem device.
2827 </summary>
2828 </member>
2829 <member name="F:Wintellect.IO.DeviceType.Vdm">
2830 <summary>
2831 The VDM device.
2832 </summary>
2833 </member>
2834 <member name="F:Wintellect.IO.DeviceType.MassStorage">
2835 <summary>
2836 The mass storage device.
2837 </summary>
2838 </member>
2839 <member name="F:Wintellect.IO.DeviceType.Smb">
2840 <summary>
2841 The SMB device.
2842 </summary>
2843 </member>
2844 <member name="F:Wintellect.IO.DeviceType.KS">
2845 <summary>
2846 The KS device.
2847 </summary>
2848 </member>
2849 <member name="F:Wintellect.IO.DeviceType.Changer">
2850 <summary>
2851 The changer device.
2852 </summary>
2853 </member>
2854 <member name="F:Wintellect.IO.DeviceType.Smartcard">
2855 <summary>
2856 The smartcard device.
2857 </summary>
2858 </member>
2859 <member name="F:Wintellect.IO.DeviceType.Acpi">
2860 <summary>
2861 The ACPI device.
2862 </summary>
2863 </member>
2864 <member name="F:Wintellect.IO.DeviceType.Dvd">
2865 <summary>
2866 The DVD device.
2867 </summary>
2868 </member>
2869 <member name="F:Wintellect.IO.DeviceType.FullscreenVideo">
2870 <summary>
2871 The full screen video device.
2872 </summary>
2873 </member>
2874 <member name="F:Wintellect.IO.DeviceType.DfsFileSystem">
2875 <summary>
2876 The DFS file system device.
2877 </summary>
2878 </member>
2879 <member name="F:Wintellect.IO.DeviceType.DfsVolume">
2880 <summary>
2881 The DFS volume device.
2882 </summary>
2883 </member>
2884 <member name="F:Wintellect.IO.DeviceType.Serenum">
2885 <summary>
2886 The serenum device.
2887 </summary>
2888 </member>
2889 <member name="F:Wintellect.IO.DeviceType.TermSrv">
2890 <summary>
2891 The terminal server device.
2892 </summary>
2893 </member>
2894 <member name="F:Wintellect.IO.DeviceType.Ksec">
2895 <summary>
2896 The KSEC device.
2897 </summary>
2898 </member>
2899 <member name="F:Wintellect.IO.DeviceType.Fips">
2900 <summary>
2901 The FIPS device.
2902 </summary>
2903 </member>
2904 <member name="F:Wintellect.IO.DeviceType.Infiniband">
2905 <summary>
2906 The Infiniband device.
2907 </summary>
2908 </member>
2909 <member name="T:Wintellect.IO.DeviceMethod">
2910 <summary>
2911 Describes how the buffer is used by the device driver.
2912 </summary>
2913 </member>
2914 <member name="F:Wintellect.IO.DeviceMethod.Buffered">
2915 <summary>
2916 This buffer represents both the input buffer and the output buffer that are specified in calls to DeviceIoControl.
2917 The driver transfers data out of, and then into, this buffer.
2918 </summary>
2919 </member>
2920 <member name="F:Wintellect.IO.DeviceMethod.InDirect">
2921 <summary>
2922 This represents the input buffer that is specified in calls to DeviceIoControl.
2923 </summary>
2924 </member>
2925 <member name="F:Wintellect.IO.DeviceMethod.OutDirect">
2926 <summary>
2927 This represents the output buffer that is specified in calls to DeviceIoControl.
2928 </summary>
2929 </member>
2930 <member name="F:Wintellect.IO.DeviceMethod.Neither">
2931 <summary>
2932 The IRP supplies the user-mode virtual addresses of the input and output buffers
2933 that were specified to DeviceIoControl.
2934 </summary>
2935 </member>
2936 <member name="T:Wintellect.IO.DeviceAccess">
2937 <summary>
2938 Indicates the type of access that a caller must request when opening the file object
2939 that represents the device. The I/O manager will create IRPs and call the driver with a
2940 particular I/O control code only if the caller has requested the specified access rights
2941 </summary>
2942 </member>
2943 <member name="F:Wintellect.IO.DeviceAccess.Any">
2944 <summary>
2945 The I/O manager sends the IRP for any caller that has a handle to the
2946 file object that represents the target device object.
2947 </summary>
2948 </member>
2949 <member name="F:Wintellect.IO.DeviceAccess.Special">
2950 <summary>
2951 The I/O manager sends the IRP for any caller that has a handle to the
2952 file object that represents the target device object.
2953 </summary>
2954 </member>
2955 <member name="F:Wintellect.IO.DeviceAccess.Read">
2956 <summary>
2957 The I/O manager sends the IRP only for a caller with read access rights,
2958 allowing the underlying device driver to transfer data from the device to system memory.
2959 </summary>
2960 </member>
2961 <member name="F:Wintellect.IO.DeviceAccess.Write">
2962 <summary>
2963 The I/O manager sends the IRP only for a caller with write access rights,
2964 allowing the underlying device driver to transfer data from system memory to its device.
2965 </summary>
2966 </member>
2967 <member name="F:Wintellect.IO.DeviceAccess.ReadWrite">
2968 <summary>
2969 The I/O manager sends the IRP only for a caller with read and write access rights,
2970 allowing the underlying device driver to transfer data from the device to system memory and
2971 allowing the underlying device driver to transfer data from system memory to its device.
2972 </summary>
2973 </member>
2974 <member name="T:Wintellect.IO.DeviceIO">
2975 <summary>This class allows you to perform low-level device I/O operations with a device driver.</summary>
2976 </member>
2977 <member name="M:Wintellect.IO.DeviceIO.#ctor(System.String,System.IO.FileAccess,System.IO.FileShare,System.Boolean)">
2978 <summary>
2979 Opens the specified device driver using the desired access and sharing. You can also indicate whether you wish to work with the device synchronously or asynchronously.</summary>
2980 <param name="deviceName">A string identifying the device driver.</param>
2981 <param name="access">What kind of access you wish to have to the device.</param>
2982 <param name="share">Indicates how you are willing to share access ot the device.</param>
2983 <param name="useAsync">If true, allows you to perform asynchronous operations to the device.</param>
2984 </member>
2985 <member name="M:Wintellect.IO.DeviceIO.#ctor(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Boolean)">
2986 <summary>Creates a DeviceIO opjects that allows you to communicate with a device driver that has already been opened.</summary>
2987 <param name="device">Identifies an already-open handle to a device driver.</param>
2988 <param name="openedAsync">Specify true if the device was opened for asynchronous operations.</param>
2989 </member>
2990 <member name="M:Wintellect.IO.DeviceIO.Dispose">
2991 <summary>Releases all resources used by the DeviceIO class.</summary>
2992 </member>
2993 <member name="M:Wintellect.IO.DeviceIO.Dispose(System.Boolean)">
2994 <summary>Releases the unmanaged resources used by the DeviceIO class specifying whether to perform a normal dispose operation.</summary>
2995 <param name="disposing">true for a normal dispose operation; false to finalize the handle.</param>
2996 </member>
2997 <member name="M:Wintellect.IO.DeviceIO.Control(Wintellect.IO.DeviceControlCode)">
2998 <summary>Sends a control code to the device driver synchronously.</summary>
2999 <param name="deviceControlCode">The control code to send to the driver.</param>
3000 </member>
3001 <member name="M:Wintellect.IO.DeviceIO.Control(Wintellect.IO.DeviceControlCode,System.Object)">
3002 <summary>Sends a control code to the device driver synchronously along with an input buffer.</summary>
3003 <param name="deviceControlCode">The control code to send to the driver.</param>
3004 <param name="inBuffer">The input buffer to send to the driver.</param>
3005 </member>
3006 <member name="M:Wintellect.IO.DeviceIO.BeginControl(Wintellect.IO.DeviceControlCode,System.Object,System.AsyncCallback,System.Object)">
3007 <summary>Sends a control code to the device driver asynchronously along with an input buffer.</summary>
3008 <param name="deviceControlCode">The control code to send to the driver.</param>
3009 <param name="inBuffer">The input buffer to send to the driver.</param>
3010 <param name="asyncCallback">The method to be called when the asynchronous operation completes.</param>
3011 <param name="state">A user-provided object that distinguishes this particular asynchronous operation from other operations.</param>
3012 <returns>An IAsyncResult that references the asynchronous operation.</returns>
3013 </member>
3014 <member name="M:Wintellect.IO.DeviceIO.EndControl(System.IAsyncResult)">
3015 <summary>Waits for the pending asynchronous operation to complete.</summary>
3016 <param name="result">The reference to the pending asynchronous request to wait for.</param>
3017 </member>
3018 <member name="M:Wintellect.IO.DeviceIO.GetObject``1(Wintellect.IO.DeviceControlCode)">
3019 <summary>
3020 Synchronously sends a control code to a device.
3021 </summary>
3022 <typeparam name="TResult">The type of the result.</typeparam>
3023 <param name="deviceControlCode">The control code.</param>
3024 <returns>The result of the operation.</returns>
3025 </member>
3026 <member name="M:Wintellect.IO.DeviceIO.GetObject``1(Wintellect.IO.DeviceControlCode,System.Object)">
3027 <summary>
3028 Synchronously sends a control code and an input buffer to a device.
3029 </summary>
3030 <typeparam name="TResult">The type of the result.</typeparam>
3031 <param name="deviceControlCode">The control code.</param>
3032 <returns>The result of the operation.</returns>
3033 <param name="inBuffer">The input data.</param>
3034 </member>
3035 <member name="M:Wintellect.IO.DeviceIO.BeginGetObject``1(Wintellect.IO.DeviceControlCode,System.Object,System.AsyncCallback,System.Object)">
3036 <summary>
3037 Asynchronously sends a control code and an input buffer to a device.
3038 </summary>
3039 <typeparam name="TResult">The type of the result.</typeparam>
3040 <param name="deviceControlCode">The control code.</param>
3041 <param name="inBuffer">The input data.</param>
3042 <param name="asyncCallback">The method that should be called when the operation completes.</param>
3043 <param name="state">Data that should be passed to the callback method.</param>
3044 <returns>An IAsyncResult identifying the started operation.</returns>
3045 </member>
3046 <member name="M:Wintellect.IO.DeviceIO.EndGetObject``1(System.IAsyncResult)">
3047 <summary>
3048 Returns the result of a completed asynchronous operation.
3049 </summary>
3050 <typeparam name="TResult">The type of the result.</typeparam>
3051 <param name="result">The IAsyncResult passed into the callback method.</param>
3052 <returns>The result of the operation.</returns>
3053 </member>
3054 <member name="M:Wintellect.IO.DeviceIO.GetArray``1(Wintellect.IO.DeviceControlCode,System.Object,System.Int32)">
3055 <summary>
3056 Synchronously sends a control code and an input buffer to a device.
3057 </summary>
3058 <param name="deviceControlCode">The control code.</param>
3059 <returns>The array of elements returned by the device.</returns>
3060 <param name="inBuffer">The input data.</param>
3061 <typeparam name="TElement">The type of elements that are returned from the device.</typeparam>
3062 <param name="maxElements">The maximum number of elements that you expect the device to return.</param>
3063 </member>
3064 <member name="M:Wintellect.IO.DeviceIO.BeginGetArray``1(Wintellect.IO.DeviceControlCode,System.Object,System.Int32,System.AsyncCallback,System.Object)">
3065 <summary>
3066 Asynchronously sends a control code and an input buffer to a device.
3067 </summary>
3068 <param name="deviceControlCode">The control code.</param>
3069 <param name="inBuffer">The input data.</param>
3070 <typeparam name="TElement">The type of eleemnts that are returned from teh device.</typeparam>
3071 <param name="maxElements">The maximum number of elements that you expect the device to return.</param>
3072 <param name="asyncCallback">The method that should be called when the operation completes.</param>
3073 <param name="state">Data that should be passed to the callback method.</param>
3074 <returns>An IAsyncResult identifying the started operation.</returns>
3075 </member>
3076 <member name="M:Wintellect.IO.DeviceIO.EndGetArray``1(System.IAsyncResult)">
3077 <summary>
3078 Returns the result of a completed asynchronous operation.
3079 </summary>
3080 <typeparam name="TElement">The type of elements that are returned from the device.</typeparam>
3081 <param name="result">The IAsyncResult passed into the callback method.</param>
3082 <returns>The array of elements returned by the device.</returns>
3083 </member>
3084 <member name="T:Wintellect.Threading.LogicalProcessor.LogicalProcessorInformation">
3085 <summary>
3086 This class exposes logical processor information about the host machine.
3087 </summary>
3088 </member>
3089 <member name="M:Wintellect.Threading.LogicalProcessor.LogicalProcessorInformation.GetLogicalProcessorInformation">
3090 <summary>
3091 Retrieves all of the logical processor information about the host machine.
3092 </summary>
3093 <returns>An array of LogicalProcessorInformation objects.</returns>
3094 </member>
3095 <member name="M:Wintellect.Threading.LogicalProcessor.LogicalProcessorInformation.ToString">
3096 <summary>
3097 Returns a string representing the state of the object.
3098 </summary>
3099 <returns>The string representing the state of the object.</returns>
3100 </member>
3101 <member name="P:Wintellect.Threading.LogicalProcessor.LogicalProcessorInformation.ProcessorMask">
3102 <summary>
3103 Returns a bitmask indicating the logical processors associated with this physical processor.
3104 </summary>
3105 </member>
3106 <member name="P:Wintellect.Threading.LogicalProcessor.LogicalProcessorInformation.Relationship">
3107 <summary>
3108 Returns the
3109 </summary>
3110 </member>
3111 <member name="P:Wintellect.Threading.LogicalProcessor.LogicalProcessorInformation.ProcessorCore">
3112 <summary>
3113 This structure contains valid data only if the Relationship member is RelationProcessorCore.
3114 If the value of this member is 1, the logical processors identified by the value of the ProcessorMask member share functional units, as in Hyperthreading or SMT.
3115 Otherwise, the identified logical processors do not share functional units.
3116 </summary>
3117 </member>
3118 <member name="P:Wintellect.Threading.LogicalProcessor.LogicalProcessorInformation.NumaNode">
3119 <summary>
3120 This structure contains valid data only if the Relationship member is RelationNumaNode.
3121 Identifies the NUMA node. The valid values of this parameter are 0 to the highest NUMA node number inclusive.
3122 A non-NUMA multiprocessor system will report that all processors belong to one NUMA node.
3123 </summary>
3124 </member>
3125 <member name="P:Wintellect.Threading.LogicalProcessor.LogicalProcessorInformation.CacheDescriptor">
3126 <summary>
3127 This property contains valid data only if the Relationship member is RelationCache.
3128 There is one record returned for each cache reported. Some or all caches may not be reported.
3129 Therefore, do not assume the absence of any particular caches. Caches are not necessarily shared among logical processors.
3130 </summary>
3131 </member>
3132 <member name="T:Wintellect.Threading.LogicalProcessor.CacheDescriptor">
3133 <summary>
3134 Describes the processor's cache characteristics.
3135 </summary>
3136 </member>
3137 <member name="M:Wintellect.Threading.LogicalProcessor.CacheDescriptor.ToString">
3138 <summary>
3139 Returns a string representing the state of the object.
3140 </summary>
3141 <returns></returns>
3142 </member>
3143 <member name="M:Wintellect.Threading.LogicalProcessor.CacheDescriptor.Equals(System.Object)">
3144 <summary>
3145 Determines whether the specified Object is equal to the current Object.
3146 </summary>
3147 <param name="obj">The Object to compare with the current Object.</param>
3148 <returns>true if the specified Object is equal to the current Object; otherwise, false.</returns>
3149 </member>
3150 <member name="M:Wintellect.Threading.LogicalProcessor.CacheDescriptor.GetHashCode">
3151 <summary>
3152 Serves as a hash function for a particular type.
3153 </summary>
3154 <returns>A hash code for the current Object.</returns>
3155 </member>
3156 <member name="M:Wintellect.Threading.LogicalProcessor.CacheDescriptor.Equals(Wintellect.Threading.LogicalProcessor.CacheDescriptor)">
3157 <summary>
3158 Determines whether the specified CacheDescriptor is equal to the current CacheDescriptor.
3159 </summary>
3160 <param name="other">The CacheDescriptor to compare with the current CacheDescriptor.</param>
3161 <returns>true if the specified CacheDescriptor is equal to the current CacheDescriptor; otherwise, false.</returns>
3162 </member>
3163 <member name="M:Wintellect.Threading.LogicalProcessor.CacheDescriptor.op_Equality(Wintellect.Threading.LogicalProcessor.CacheDescriptor,Wintellect.Threading.LogicalProcessor.CacheDescriptor)">
3164 <summary>
3165 Determines if two CacheDescriptors are equal to each other.
3166 </summary>
3167 <param name="cd1">The first CacheDescriptor to compare.</param>
3168 <param name="cd2">The second CacheDescriptor to compare.</param>
3169 <returns>true if the two CacheDescriptors are equal; otherwise, false.</returns>
3170 </member>
3171 <member name="M:Wintellect.Threading.LogicalProcessor.CacheDescriptor.op_Inequality(Wintellect.Threading.LogicalProcessor.CacheDescriptor,Wintellect.Threading.LogicalProcessor.CacheDescriptor)">
3172 <summary>
3173 Determines if two CacheDescriptors are not equal to each other.
3174 </summary>
3175 <param name="cd1">The first CacheDescriptor to compare.</param>
3176 <param name="cd2">The second CacheDescriptor to compare.</param>
3177 <returns>true if the two CacheDescriptors are not equal; otherwise, false.</returns>
3178 </member>
3179 <member name="P:Wintellect.Threading.LogicalProcessor.CacheDescriptor.Level">
3180 <summary>
3181 The cache level. This member can currently be one of the following values; other values may be supported in the future.Value Meaning 1=L1, 2=L2, 3=L3
3182 </summary>
3183 </member>
3184 <member name="P:Wintellect.Threading.LogicalProcessor.CacheDescriptor.Associativity">
3185 <summary>
3186 The cache associativity. If this member is CACHE_FULLY_ASSOCIATIVE (0xFF), the cache is fully associative.
3187 </summary>
3188 </member>
3189 <member name="P:Wintellect.Threading.LogicalProcessor.CacheDescriptor.LineSize">
3190 <summary>The cache line size, in bytes.</summary>
3191 </member>
3192 <member name="P:Wintellect.Threading.LogicalProcessor.CacheDescriptor.Size">
3193 <summary>The cache size, in bytes.</summary>
3194 </member>
3195 <member name="P:Wintellect.Threading.LogicalProcessor.CacheDescriptor.Type">
3196 <summary>The cache type.</summary>
3197 </member>
3198 <member name="T:Wintellect.Threading.LogicalProcessor.CacheAssociativity">
3199 <summary>
3200 Indicates the cache associativity.
3201 </summary>
3202 </member>
3203 <member name="F:Wintellect.Threading.LogicalProcessor.CacheAssociativity.None">
3204 <summary>
3205 The cache is not associative.
3206 </summary>
3207 </member>
3208 <member name="F:Wintellect.Threading.LogicalProcessor.CacheAssociativity.CacheFullyAssociative">
3209 <summary>
3210 The is fully associative.
3211 </summary>
3212 </member>
3213 <member name="T:Wintellect.Threading.LogicalProcessor.LogicalProcessorRelationship">
3214 <summary>
3215 Flags indicating what a set of logical processors share with each other.
3216 </summary>
3217 </member>
3218 <member name="F:Wintellect.Threading.LogicalProcessor.LogicalProcessorRelationship.ProcessorCore">
3219 <summary>
3220 The specified logical processors share a single processor core. The ProcessorCore member contains additional information.
3221 </summary>
3222 </member>
3223 <member name="F:Wintellect.Threading.LogicalProcessor.LogicalProcessorRelationship.NumaNode">
3224 <summary>
3225 The specified logical processors are part of the same NUMA node. The NumaNode member contains additional information.
3226 </summary>
3227 </member>
3228 <member name="F:Wintellect.Threading.LogicalProcessor.LogicalProcessorRelationship.Cache">
3229 <summary>
3230 The specified logical processors share a cache. The Cache member contains additional information.
3231 </summary>
3232 </member>
3233 <member name="F:Wintellect.Threading.LogicalProcessor.LogicalProcessorRelationship.ProcessorPackage">
3234 <summary>
3235 The specified logical processors share a physical package. There is no additional information available.
3236 </summary>
3237 </member>
3238 <member name="T:Wintellect.Threading.LogicalProcessor.CacheLevel">
3239 <summary>
3240 Indicates the cache level.
3241 </summary>
3242 </member>
3243 <member name="F:Wintellect.Threading.LogicalProcessor.CacheLevel.None">
3244 <summary>
3245 None.
3246 </summary>
3247 </member>
3248 <member name="F:Wintellect.Threading.LogicalProcessor.CacheLevel.L1">
3249 <summary>
3250 Level 1 cache.
3251 </summary>
3252 </member>
3253 <member name="F:Wintellect.Threading.LogicalProcessor.CacheLevel.L2">
3254 <summary>
3255 Level 2 cache.
3256 </summary>
3257 </member>
3258 <member name="F:Wintellect.Threading.LogicalProcessor.CacheLevel.L3">
3259 <summary>
3260 Level 3 cache.
3261 </summary>
3262 </member>
3263 <member name="T:Wintellect.Threading.LogicalProcessor.ProcessorCacheType">
3264 <summary>
3265 Indicates the processor cache type.
3266 </summary>
3267 </member>
3268 <member name="F:Wintellect.Threading.LogicalProcessor.ProcessorCacheType.Unified">
3269 <summary>The cache is unified.</summary>
3270 </member>
3271 <member name="F:Wintellect.Threading.LogicalProcessor.ProcessorCacheType.Instruction">
3272 <summary>The cache is for processor instructions.</summary>
3273 </member>
3274 <member name="F:Wintellect.Threading.LogicalProcessor.ProcessorCacheType.Data">
3275 <summary>The cache is for data.</summary>
3276 </member>
3277 <member name="F:Wintellect.Threading.LogicalProcessor.ProcessorCacheType.Trace">
3278 <summary>The cache is for traces.</summary>
3279 </member>
3280 <member name="T:Wintellect.Threading.AsyncProgModel.EventApmOperation`1">
3281 <summary>
3282 This class represents an asynchronous operation that will be initiated
3283 by some method and the operations completes by way of raising an event.
3284 </summary>
3285 <typeparam name="TEventArgs">The object passed as the event's second argument.
3286 This object is usually of an EventArgs-derived type.</typeparam>
3287 </member>
3288 <member name="M:Wintellect.Threading.AsyncProgModel.EventApmOperation`1.EventHandler(System.Object,`0)">
3289 <summary>
3290 The event handler that completes the APM operation when invoked.
3291 </summary>
3292 <param name="sender">The source of the event.</param>
3293 <param name="e">An object (usually derived from EventArgs) that contains the event data.</param>
3294 </member>
3295 <member name="T:Wintellect.Threading.AsyncProgModel.EventApmFactory`1">
3296 <summary>
3297 This class converts a raised event to an IAsyncResult-based APM completion.
3298 </summary>
3299 </member>
3300 <member name="M:Wintellect.Threading.AsyncProgModel.EventApmFactory`1.PrepareOperation(System.AsyncCallback,System.Object)">
3301 <summary>
3302 Prepares to initiate an asynchronous operation by setting the desired callback
3303 method and state that will be used to completed the operation when the
3304 event handler method is invoked.
3305 </summary>
3306 <param name="callback">The method to be called when the event is raised.</param>
3307 <param name="state">The state tobtained via IAsyncResult's AsyncState property.</param>
3308 <returns>The prepared operation which exposes the event handler method to be registered with the desired event.</returns>
3309 </member>
3310 <member name="M:Wintellect.Threading.AsyncProgModel.EventApmFactory`1.PrepareOperation(System.AsyncCallback)">
3311 <summary>
3312 Prepares to initiate an asynchronous operation by setting the desired callback
3313 method that will be used to completed the operation when the
3314 event handler method is invoked.
3315 </summary>
3316 <param name="callback">The method to be called when the event is raised.</param>
3317 <returns>The prepared operation which exposes the event handler method to be registered with the desired event.</returns>
3318 </member>
3319 <member name="M:Wintellect.Threading.AsyncProgModel.EventApmFactory`1.EndInvoke(System.IAsyncResult)">
3320 <summary>
3321 Returns the object passed as the second argument to the event handler.
3322 This is usually an object whose type is derived from System.EventArgs.
3323 Note that you can use any instance of this type to call EndInvoke; you do not
3324 have to use the same instance that you used to call PrepareOperation.
3325 </summary>
3326 <param name="result">An IAsyncResult that references the pending operation.</param>
3327 <returns>The object passed to the event handler.</returns>
3328 </member>
3329 </members>
3330</doc>