-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathSharpDX.DirectInput.xml
11661 lines (11660 loc) · 760 KB
/
SharpDX.DirectInput.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0"?>
<doc>
<assembly>
<name>SharpDX.DirectInput</name>
</assembly>
<members>
<member name="T:SharpDX.DirectInput.AssemblyDoc">
<summary>
The <see cref="A:SharpDX.DirectInput"/> assembly provides managed DirectInput API.
</summary>
<msdn-id>ee416842</msdn-id>
<unmanaged>DirectInput</unmanaged>
<unmanaged-short>DirectInput</unmanaged-short>
</member>
<member name="T:SharpDX.DirectInput.Capabilities">
<summary>
Describes a DirectInput device's capabilities. This structure is used with theIDirectInputDevice8::GetCapabilitiesmethod.
</summary>
<remarks>
<p>The semantics of version numbers are left to the manufacturer of the device. The only guarantee is that newer versions have larger numbers.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='DIDEVCAPS']/*" />
<msdn-id>microsoft.directx_sdk.reference.didevcaps</msdn-id>
<unmanaged>DIDEVCAPS</unmanaged>
<unmanaged-short>DIDEVCAPS</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Capabilities.#ctor">
<summary>
Initializes a new instance of the <see cref="T:SharpDX.DirectInput.Capabilities"/> class.
</summary>
</member>
<member name="P:SharpDX.DirectInput.Capabilities.Type">
<summary>
Gets the type of this device.
</summary>
<value>The type.</value>
</member>
<member name="P:SharpDX.DirectInput.Capabilities.Subtype">
<summary>
Gets the subtype of the device.
</summary>
<value>The subtype.</value>
</member>
<member name="P:SharpDX.DirectInput.Capabilities.IsHumanInterfaceDevice">
<summary>
Gets a value indicating whether this instance is human interface device.
</summary>
<value>
<c>true</c> if this instance is human interface device; otherwise, <c>false</c>.
</value>
</member>
<member name="F:SharpDX.DirectInput.Capabilities.Size">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='DIDEVCAPS::dwSize']/*" />
<msdn-id>microsoft.directx_sdk.reference.didevcaps</msdn-id>
<unmanaged>unsigned int dwSize</unmanaged>
<unmanaged-short>unsigned int dwSize</unmanaged-short>
</member>
<member name="F:SharpDX.DirectInput.Capabilities.Flags">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='DIDEVCAPS::dwFlags']/*" />
<msdn-id>microsoft.directx_sdk.reference.didevcaps</msdn-id>
<unmanaged>DIDC dwFlags</unmanaged>
<unmanaged-short>DIDC dwFlags</unmanaged-short>
</member>
<member name="F:SharpDX.DirectInput.Capabilities.RawType">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='DIDEVCAPS::dwDevType']/*" />
<msdn-id>microsoft.directx_sdk.reference.didevcaps</msdn-id>
<unmanaged>unsigned int dwDevType</unmanaged>
<unmanaged-short>unsigned int dwDevType</unmanaged-short>
</member>
<member name="F:SharpDX.DirectInput.Capabilities.AxeCount">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='DIDEVCAPS::dwAxes']/*" />
<msdn-id>microsoft.directx_sdk.reference.didevcaps</msdn-id>
<unmanaged>unsigned int dwAxes</unmanaged>
<unmanaged-short>unsigned int dwAxes</unmanaged-short>
</member>
<member name="F:SharpDX.DirectInput.Capabilities.ButtonCount">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='DIDEVCAPS::dwButtons']/*" />
<msdn-id>microsoft.directx_sdk.reference.didevcaps</msdn-id>
<unmanaged>unsigned int dwButtons</unmanaged>
<unmanaged-short>unsigned int dwButtons</unmanaged-short>
</member>
<member name="F:SharpDX.DirectInput.Capabilities.PovCount">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='DIDEVCAPS::dwPOVs']/*" />
<msdn-id>microsoft.directx_sdk.reference.didevcaps</msdn-id>
<unmanaged>unsigned int dwPOVs</unmanaged>
<unmanaged-short>unsigned int dwPOVs</unmanaged-short>
</member>
<member name="F:SharpDX.DirectInput.Capabilities.ForceFeedbackSamplePeriod">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='DIDEVCAPS::dwFFSamplePeriod']/*" />
<msdn-id>microsoft.directx_sdk.reference.didevcaps</msdn-id>
<unmanaged>unsigned int dwFFSamplePeriod</unmanaged>
<unmanaged-short>unsigned int dwFFSamplePeriod</unmanaged-short>
</member>
<member name="F:SharpDX.DirectInput.Capabilities.ForceFeedbackMinimumTimeResolution">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='DIDEVCAPS::dwFFMinTimeResolution']/*" />
<msdn-id>microsoft.directx_sdk.reference.didevcaps</msdn-id>
<unmanaged>unsigned int dwFFMinTimeResolution</unmanaged>
<unmanaged-short>unsigned int dwFFMinTimeResolution</unmanaged-short>
</member>
<member name="F:SharpDX.DirectInput.Capabilities.FirmwareRevision">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='DIDEVCAPS::dwFirmwareRevision']/*" />
<msdn-id>microsoft.directx_sdk.reference.didevcaps</msdn-id>
<unmanaged>unsigned int dwFirmwareRevision</unmanaged>
<unmanaged-short>unsigned int dwFirmwareRevision</unmanaged-short>
</member>
<member name="F:SharpDX.DirectInput.Capabilities.HardwareRevision">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='DIDEVCAPS::dwHardwareRevision']/*" />
<msdn-id>microsoft.directx_sdk.reference.didevcaps</msdn-id>
<unmanaged>unsigned int dwHardwareRevision</unmanaged>
<unmanaged-short>unsigned int dwHardwareRevision</unmanaged-short>
</member>
<member name="F:SharpDX.DirectInput.Capabilities.DriverVersion">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='DIDEVCAPS::dwFFDriverVersion']/*" />
<msdn-id>microsoft.directx_sdk.reference.didevcaps</msdn-id>
<unmanaged>unsigned int dwFFDriverVersion</unmanaged>
<unmanaged-short>unsigned int dwFFDriverVersion</unmanaged-short>
</member>
<member name="T:SharpDX.DirectInput.ConditionSet">
<summary>
This class describes a set of <see cref="T:SharpDX.DirectInput.Condition"/> effect.
It is passed in the <see cref="P:SharpDX.DirectInput.EffectParameters.Parameters"/> of the <see cref="T:SharpDX.DirectInput.EffectParameters"/> structure.
</summary>
</member>
<member name="M:SharpDX.DirectInput.ConditionSet.MarshalFrom(System.Int32,System.IntPtr)">
<summary>
Marshal this class from an unmanaged buffer.
</summary>
<param name="bufferSize">The size of the unmanaged buffer.</param>
<param name="bufferPointer">The pointer to the unmanaged buffer.</param>
<returns>An instance of TypeSpecificParameters or null</returns>
</member>
<member name="M:SharpDX.DirectInput.ConditionSet.MarshalTo">
<summary>
Marshals this class to its native/unmanaged counterpart.
</summary>
<returns>A pointer to an allocated buffer containing the unmanaged structure.</returns>
</member>
<member name="P:SharpDX.DirectInput.ConditionSet.Conditions">
<summary>
Gets or sets the conditions.
</summary>
<value>The conditions.</value>
</member>
<member name="P:SharpDX.DirectInput.ConditionSet.Size">
<summary>
Gets the size of this specific parameter.
</summary>
<value>The size.</value>
</member>
<member name="T:SharpDX.DirectInput.ConstantForce">
<summary>
This class describes a Constant force effect.
It is passed in the <see cref="P:SharpDX.DirectInput.EffectParameters.Parameters"/> of the <see cref="T:SharpDX.DirectInput.EffectParameters"/> structure.
</summary>
</member>
<member name="P:SharpDX.DirectInput.ConstantForce.Magnitude">
<summary>
Gets or sets the magnitude.
The magnitude of the effect, in the range from - 10,000 through 10,000. If an envelope is applied to this effect, the value represents the magnitude of the sustain. If no envelope is applied, the value represents the amplitude of the entire effect.
</summary>
<value>The magnitude.</value>
</member>
<member name="M:SharpDX.DirectInput.ConstantForce.MarshalFrom(System.Int32,System.IntPtr)">
<summary>
Marshal this class from an unmanaged buffer.
</summary>
<param name="bufferSize">The size of the unmanaged buffer.</param>
<param name="bufferPointer">The pointer to the unmanaged buffer.</param>
<returns>An instance of TypeSpecificParameters or null</returns>
</member>
<member name="M:SharpDX.DirectInput.ConstantForce.MarshalTo">
<summary>
Marshals this class to its native/unmanaged counterpart.
</summary>
<returns>A pointer to an allocated buffer containing the unmanaged structure.</returns>
</member>
<member name="P:SharpDX.DirectInput.ConstantForce.Size">
<summary>
Gets the size of this specific parameter.
</summary>
<value>The size.</value>
</member>
<member name="M:SharpDX.DirectInput.CustomDevice`3.GetBufferedData">
<summary>
Retrieves buffered data from the device.
</summary>
<returns>A collection of buffered input events.</returns>
</member>
<member name="M:SharpDX.DirectInput.CustomDevice`3.DumpDataFormat(SharpDX.DirectInput.DataFormat)">
<summary>
Dumps the DataFormat in native form in order to verify it against the unmanaged version.
</summary>
<param name="format">The format.</param>
</member>
<member name="T:SharpDX.DirectInput.CustomForce">
<summary>
This class describes a Custom force effect.
It is passed in the <see cref="P:SharpDX.DirectInput.EffectParameters.Parameters"/> of the <see cref="T:SharpDX.DirectInput.EffectParameters"/> structure.
</summary>
</member>
<member name="P:SharpDX.DirectInput.CustomForce.ChannelCount">
<summary>
Gets or sets the number of channels (axes) affected by this force.
The first channel is applied to the first axis associated with the effect, the second to the second, and so on. If there are fewer channels than axes, nothing is associated with the extra axes.
If there is only a single channel, the effect is rotated in the direction specified by the <see cref="P:SharpDX.DirectInput.EffectParameters.Directions"/> of the <see cref="T:SharpDX.DirectInput.EffectParameters"/> structure. If there is more than one channel, rotation is not allowed.
Not all devices support rotation of custom effects.
</summary>
<value>The channel count.</value>
</member>
<member name="P:SharpDX.DirectInput.CustomForce.SamplePeriod">
<summary>
Gets or sets the sample period, in microseconds.
</summary>
<value>The sample period.</value>
</member>
<member name="P:SharpDX.DirectInput.CustomForce.SampleCount">
<summary>
Gets or sets the total number of samples in the <see cref="P:SharpDX.DirectInput.CustomForce.ForceData"/>. It must be an integral multiple of the <see cref="P:SharpDX.DirectInput.CustomForce.ChannelCount"/>.
</summary>
<value>The sample count.</value>
</member>
<member name="P:SharpDX.DirectInput.CustomForce.ForceData">
<summary>
Gets or sets an array of force values representing the custom force. If multiple channels are provided, the values are interleaved. For example, if <see cref="P:SharpDX.DirectInput.CustomForce.ChannelCount"/> is 3, the first element of the array belongs to the first channel, the second to the second, and the third to the third.
</summary>
<value>The force data.</value>
</member>
<member name="M:SharpDX.DirectInput.CustomForce.MarshalFrom(System.Int32,System.IntPtr)">
<summary>
Marshal this class from an unmanaged buffer.
</summary>
<param name="bufferSize">The size of the unmanaged buffer.</param>
<param name="bufferPointer">The pointer to the unmanaged buffer.</param>
<returns>An instance of TypeSpecificParameters or null</returns>
</member>
<member name="M:SharpDX.DirectInput.CustomForce.MarshalTo">
<summary>
Marshals this class to its native/unmanaged counterpart.
</summary>
<returns>A pointer to an allocated buffer containing the unmanaged structure.</returns>
</member>
<member name="M:SharpDX.DirectInput.CustomForce.MarshalFree(System.IntPtr)">
<summary>
Free a previously allocated buffer.
</summary>
<param name="bufferPointer">The buffer pointer.</param>
</member>
<member name="P:SharpDX.DirectInput.CustomForce.Size">
<summary>
Gets the size of this specific parameter.
</summary>
<value>The size.</value>
</member>
<member name="T:SharpDX.DirectInput.DataFormat">
<summary>
Describes a device's data format. This structure is used with theIDirectInputDevice8::SetDataFormatmethod.
</summary>
<remarks>
<p>Applications do not typically need to create a <see cref="T:SharpDX.DirectInput.DataFormat" /> structure. An application can use one of the predefined global data format variables, c_dfDIMouse, c_dfDIMouse2, c_dfDIKeyboard, c_dfDIJoystick, or c_dfDIJoystick2.</p> <p>Applications that need to create a <see cref="T:SharpDX.DirectInput.DataFormat" /> structure must first call <see cref="M:SharpDX.DirectInput.Device.EnumObjects(SharpDX.FunctionCallback,System.IntPtr,System.Int32)" /> to determine the available objects for the current device. This is because the <see cref="M:SharpDX.DirectInput.Device.SetDataFormat(SharpDX.DirectInput.DataFormat)" /> method will return <see cref="F:SharpDX.DirectInput.ResultCode.InvalidParam" /> if an object is described in the <see cref="T:SharpDX.DirectInput.DataFormat" /> structure but does not exist on the current device.</p> <p>The following code example sets a data format for a device that has an X-axis and a Y-axis:</p> <pre> // Suppose an application uses the following
// structure to read device data. typedef struct MYDATA { LONG lX; // X-axis goes here. LONG lY; // Y-axis goes here. BYTE bButtonA; // One button goes here. BYTE bButtonB; // Another button goes here. BYTE bPadding[2]; // Must be DWORD multiple in size.
} MYDATA; // Then, it can use the following data format. DIOBJECTDATAFORMAT rgodf[ ] = { { &<see cref="F:SharpDX.DirectInput.ObjectGuid.XAxisStr" />, FIELD_OFFSET(MYDATA, lX), <see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.Axis" /> | <see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.AnyInstance" />, 0, }, { &<see cref="F:SharpDX.DirectInput.ObjectGuid.YAxisStr" />, FIELD_OFFSET(MYDATA, lY), <see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.Axis" /> | <see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.AnyInstance" />, 0, }, { &<see cref="F:SharpDX.DirectInput.ObjectGuid.ButtonStr" />, FIELD_OFFSET(MYDATA, bButtonA), <see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.Button" /> | <see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.AnyInstance" />, 0, }, { &<see cref="F:SharpDX.DirectInput.ObjectGuid.ButtonStr" />, FIELD_OFFSET(MYDATA, bButtonB), <see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.Button" /> | <see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.AnyInstance" />, 0, },
};
#define numObjects (sizeof(rgodf) / sizeof(rgodf[0])) <see cref="T:SharpDX.DirectInput.DataFormat" /> df = { sizeof(<see cref="T:SharpDX.DirectInput.DataFormat" />), // Size of this structure sizeof(DIOBJECTDATAFORMAT), // Size of object data format <see cref="F:SharpDX.DirectInput.DataFormatFlag.AbsoluteAxis" />, // Absolute axis coordinates sizeof(MYDATA), // Size of device data numObjects, // Number of objects rgodf, // And here they are
}; </pre>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='DIDATAFORMAT']/*" />
<msdn-id>microsoft.directx_sdk.reference.didataformat</msdn-id>
<unmanaged>DIDATAFORMAT</unmanaged>
<unmanaged-short>DIDATAFORMAT</unmanaged-short>
</member>
<member name="F:SharpDX.DirectInput.DataFormat.Size">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='DIDATAFORMAT::dwSize']/*" />
<msdn-id>microsoft.directx_sdk.reference.didataformat</msdn-id>
<unmanaged>unsigned int dwSize</unmanaged>
<unmanaged-short>unsigned int dwSize</unmanaged-short>
</member>
<member name="F:SharpDX.DirectInput.DataFormat.ObjectSize">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='DIDATAFORMAT::dwObjSize']/*" />
<msdn-id>microsoft.directx_sdk.reference.didataformat</msdn-id>
<unmanaged>unsigned int dwObjSize</unmanaged>
<unmanaged-short>unsigned int dwObjSize</unmanaged-short>
</member>
<member name="F:SharpDX.DirectInput.DataFormat.Flags">
<summary>
Flags describing other attributes of the data format.
</summary>
<msdn-id>microsoft.directx_sdk.reference.didataformat</msdn-id>
<unmanaged>DIDF dwFlags</unmanaged>
<unmanaged-short>DIDF dwFlags</unmanaged-short>
</member>
<member name="F:SharpDX.DirectInput.DataFormat.DataSize">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='DIDATAFORMAT::dwDataSize']/*" />
<msdn-id>microsoft.directx_sdk.reference.didataformat</msdn-id>
<unmanaged>unsigned int dwDataSize</unmanaged>
<unmanaged-short>unsigned int dwDataSize</unmanaged-short>
</member>
<member name="F:SharpDX.DirectInput.DataFormat.ObjectArrayCount">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='DIDATAFORMAT::dwNumObjs']/*" />
<msdn-id>microsoft.directx_sdk.reference.didataformat</msdn-id>
<unmanaged>unsigned int dwNumObjs</unmanaged>
<unmanaged-short>unsigned int dwNumObjs</unmanaged-short>
</member>
<member name="F:SharpDX.DirectInput.DataFormat.ObjectArrayPointer">
<summary>
No documentation.
</summary>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='DIDATAFORMAT::rgodf']/*" />
<msdn-id>microsoft.directx_sdk.reference.didataformat</msdn-id>
<unmanaged>void* rgodf</unmanaged>
<unmanaged-short>void rgodf</unmanaged-short>
</member>
<member name="T:SharpDX.DirectInput.DataFormatAttribute">
<summary>
Attributes that describes a device data format specification.
</summary>
</member>
<member name="F:SharpDX.DirectInput.DataFormatAttribute.Flags">
<summary>
Gets or sets the data format flags.
</summary>
<value>The flags.</value>
</member>
<member name="P:SharpDX.DirectInput.DataObjectFormat.Name">
<summary>
Name of this DataObjectFormat. Default is using field name.
</summary>
</member>
<member name="P:SharpDX.DirectInput.DataObjectFormat.Guid">
<summary>
Gets or sets Guid for the axis, button, or other input source. When requesting a data format, making this member empty indicates that any type of object is permissible.
</summary>
<value>The GUID.</value>
</member>
<member name="P:SharpDX.DirectInput.DataObjectFormat.Offset">
<summary>
Gets or sets the field offset. This is used internally.
</summary>
<value>The offset.</value>
</member>
<member name="P:SharpDX.DirectInput.DataObjectFormat.TypeFlags">
<summary>
Gets or sets the device type that describes the object.
</summary>
<value>The type.</value>
</member>
<member name="P:SharpDX.DirectInput.DataObjectFormat.InstanceNumber">
<summary>
Gets or sets the instance number. Setting -1 is applied to any object instance.
</summary>
<value>The instance number.</value>
</member>
<member name="P:SharpDX.DirectInput.DataObjectFormat.Flags">
<summary>
Gets or sets the extra flags used to describe the data format.
</summary>
<value>The flags.</value>
</member>
<member name="T:SharpDX.DirectInput.DataObjectFormatAttribute">
<summary>
Attribute to describe a custom format for a field.
</summary>
</member>
<member name="F:SharpDX.DirectInput.DataObjectFormatAttribute.Name">
<summary>
Gets or sets the name of the field. Default is using the field name.
</summary>
</member>
<member name="F:SharpDX.DirectInput.DataObjectFormatAttribute.Guid">
<summary>
Gets or sets Guid for the axis, button, or other input source. When requesting a data format, making this member empty indicates that any type of object is permissible.
</summary>
<value>The GUID.</value>
</member>
<member name="F:SharpDX.DirectInput.DataObjectFormatAttribute.ArrayCount">
<summary>
Gets or sets the array count.
</summary>
<value>The array count.</value>
</member>
<member name="F:SharpDX.DirectInput.DataObjectFormatAttribute.TypeFlags">
<summary>
Gets or sets the device type that describes the object.
</summary>
<value>The type.</value>
</member>
<member name="F:SharpDX.DirectInput.DataObjectFormatAttribute.Flags">
<summary>
Gets or sets the extra flags used to describe the data format.
</summary>
<value>The flags.</value>
</member>
<member name="F:SharpDX.DirectInput.DataObjectFormatAttribute.InstanceNumber">
<summary>
Gets or sets the instance number.
</summary>
<value>The instance number.</value>
</member>
<member name="T:SharpDX.DirectInput.Device">
<summary>
<p>Applications use the methods of the <see cref="T:SharpDX.DirectInput.Device" /> interface to gain and release access to Microsoft DirectInput devices, manage device properties and information, set behavior, perform initialization, create and play force-feedback effects, and invoke a device's control panel.</p>IDirectInputDevice8 Members<table> <tr><th>Method
</th><th>Description
</th></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.Acquire" /> </td><td>Obtains access to the input device.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.BuildActionMap(SharpDX.DirectInput.ActionFormat@,System.String,System.Int32)" /> </td><td>Builds an action map for the device and retrieves information about it.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.CreateEffect(System.Guid,SharpDX.DirectInput.EffectParameters,SharpDX.DirectInput.Effect,SharpDX.ComObject)" /> </td><td>Creates and initializes an instance of an effect identified by the effect globally unique identifier (<see cref="T:System.Guid" />).
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.EnumCreatedEffectObjects(SharpDX.FunctionCallback,System.IntPtr,System.Int32)" /> </td><td>Enumerates all the currently created effects for this device.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.EnumEffects(SharpDX.FunctionCallback,System.IntPtr,SharpDX.DirectInput.EffectType)" /> </td><td>Enumerates all the effects supported by the force-feedback system on the device.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.EnumEffectsInFile(System.String,SharpDX.FunctionCallback,System.IntPtr,SharpDX.DirectInput.EffectFileFlags)" /> </td><td>Enumerates all the effects in a file created by the Force Editor utility or another application using the same file format.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.EnumObjects(SharpDX.FunctionCallback,System.IntPtr,System.Int32)" /> </td><td>Enumerates the input and output objects available on a device.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.Escape(System.Int32,System.Byte[],System.Byte[])" /> </td><td>Sends a hardware-specific command to the force-feedback driver.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.GetCapabilities(SharpDX.DirectInput.Capabilities@)" /> </td><td>Obtains the capabilities of the DirectInputDevice object.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.GetDeviceData(System.Int32,System.IntPtr,System.Int32@,System.Int32)" /> </td><td>Retrieves buffered data from the device.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.GetInformation(SharpDX.DirectInput.DeviceInstance@)" /> </td><td>Obtains information about the device's identity.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.GetDeviceState(System.Int32,System.IntPtr)" /> </td><td>Retrieves immediate data from the device.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.GetEffectInfo(System.Guid)" /> </td><td>Obtains information about an effect.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.GetForceFeedbackState" /> </td><td>Retrieves the state of the device's force-feedback system.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.GetImageInfo(SharpDX.DirectInput.DeviceImageHeader)" /> </td><td>Retrieves information about a device image for use in a configuration property sheet.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.GetObjectInfo(System.Int32,SharpDX.DirectInput.PropertyHowType)" /> </td><td>Retrieves information about a device object, such as a button or axis.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.GetProperty(System.IntPtr,System.IntPtr)" /> </td><td>Retrieves information about the input device.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.Initialize(System.IntPtr,System.Int32,System.Guid)" /> </td><td>Initializes a DirectInputDevice object.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.Poll" /> </td><td>Retrieves data from polled objects on a DirectInput device.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.RunControlPanel" /> </td><td>Runs the DirectInput control panel associated with this device.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.SendDeviceData(System.Int32,SharpDX.DirectInput.ObjectData[],System.Int32@,System.Int32)" /> </td><td>Sends data to a device that accepts output.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.SendForceFeedbackCommand(SharpDX.DirectInput.ForceFeedbackCommand)" /> </td><td>Sends a command to the device's force-feedback system.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.SetActionMap(SharpDX.DirectInput.ActionFormat@,System.String,System.Int32)" /> </td><td>Sets the data format for a device and maps application-defined actions to device objects.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.SetCooperativeLevel(System.IntPtr,SharpDX.DirectInput.CooperativeLevel)" /> </td><td>Establishes the cooperative level for this instance of the device.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.SetDataFormat(SharpDX.DirectInput.DataFormat)" /> </td><td>Sets the data format for the DirectInput device.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.SetEventNotification(System.IntPtr)" /> </td><td>Specifies an event that is to be set when the device state changes.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.SetProperty(System.IntPtr,System.IntPtr)" /> </td><td>Sets properties that define the device behavior.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.Unacquire" /> </td><td>Releases access to the device.
</td></tr> <tr><td><see cref="M:SharpDX.DirectInput.Device.WriteEffectToFile(System.String,System.Int32,SharpDX.DirectInput.EffectFile[],System.Int32)" /> </td><td>Saves information about one or more force-feedback effects to a file that can be read by using EnumEffectsInFile.
</td></tr> </table>
</summary>
<remarks>
<p>The <see cref="T:SharpDX.DirectInput.Device" /> interface is obtained by using the <see cref="M:SharpDX.DirectInput.DirectInput.CreateDevice(System.Guid,System.IntPtr@,SharpDX.ComObject)" /> method. For an example, see Creating a DirectInput Device.</p> <p><see cref="T:SharpDX.DirectInput.Device" /> supersedes the IDirectInputDevice, IDirectInputDevice2, and IDirectInputDevice7 interfaces used in previous versions of Microsoft DirectX, but does not inherit from them. Methods that share names with those from older interfaces perform similar services, but may not have exactly the same functionality or behavior. You cannot obtain the earlier interfaces by using QueryInterface.</p> <p>The LPDIRECTINPUTDEVICE8 type is defined as a reference to the <see cref="T:SharpDX.DirectInput.Device" /> interface:</p> <pre> typedef struct <see cref="T:SharpDX.DirectInput.Device" /> *LPDIRECTINPUTDEVICE8;
</pre>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W']/*" />
<msdn-id>ee417816</msdn-id>
<unmanaged>IDirectInputDevice8W</unmanaged>
<unmanaged-short>IDirectInputDevice8W</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.#ctor(SharpDX.DirectInput.DirectInput,System.Guid)">
<summary>
Initializes a new instance of the <see cref="T:SharpDX.DirectInput.Device"/> class based on a given globally unique identifier (Guid).
</summary>
<param name="directInput">The direct input.</param>
<param name="deviceGuid">The device GUID.</param>
</member>
<member name="P:SharpDX.DirectInput.Device.Properties">
<summary>
Gets the device properties.
</summary>
<value>The device properties.</value>
</member>
<member name="M:SharpDX.DirectInput.Device.Escape(System.Int32,System.Byte[],System.Byte[])">
<summary>
Sends a hardware-specific command to the force-feedback driver.
</summary>
<param name="command">Driver-specific command number. Consult the driver documentation for a list of valid commands. </param>
<param name="inData">Buffer containing the data required to perform the operation. </param>
<param name="outData">Buffer in which the operation's output data is returned. </param>
<returns>Number of bytes written to the output buffer</returns>
<remarks>
Because each driver implements different escapes, it is the application's responsibility to ensure that it is sending the escape to the correct driver by comparing the value of the guidFFDriver member of the <see cref="T:SharpDX.DirectInput.DeviceInstance"/> structure against the value the application is expecting.
</remarks>
</member>
<member name="M:SharpDX.DirectInput.Device.GetDeviceImages">
<summary>
Gets information about a device image for use in a configuration property sheet.
</summary>
<returns>A structure that receives information about the device image.</returns>
</member>
<member name="M:SharpDX.DirectInput.Device.GetEffects">
<summary>
Gets all effects.
</summary>
<returns>A collection of <see cref="T:SharpDX.DirectInput.EffectInfo"/></returns>
</member>
<member name="M:SharpDX.DirectInput.Device.GetEffects(SharpDX.DirectInput.EffectType)">
<summary>
Gets the effects for a particular <see cref="T:SharpDX.DirectInput.EffectType"/>.
</summary>
<param name="effectType">Effect type.</param>
<returns>A collection of <see cref="T:SharpDX.DirectInput.EffectInfo"/></returns>
</member>
<member name="M:SharpDX.DirectInput.Device.GetEffectsInFile(System.String)">
<summary>
Gets the effects stored in a RIFF Force Feedback file.
</summary>
<param name="fileName">Name of the file.</param>
<returns>A collection of <see cref="T:SharpDX.DirectInput.EffectFile"/></returns>
</member>
<member name="M:SharpDX.DirectInput.Device.GetEffectsInFile(System.String,SharpDX.DirectInput.EffectFileFlags)">
<summary>
Gets the effects stored in a RIFF Force Feedback file.
</summary>
<param name="fileName">Name of the file.</param>
<param name="effectFileFlags">Flags used to filter effects.</param>
<returns>A collection of <see cref="T:SharpDX.DirectInput.EffectFile"/></returns>
</member>
<member name="M:SharpDX.DirectInput.Device.GetObjectInfoById(SharpDX.DirectInput.DeviceObjectId)">
<summary>
Gets information about a device object, such as a button or axis.
</summary>
<param name="objectId">The object type/instance identifier. This identifier is returned in the <see cref="F:SharpDX.DirectInput.DeviceObjectInstance.ObjectId"/> member of the <see cref="T:SharpDX.DirectInput.DeviceObjectInstance"/> structure returned from a previous call to the <see cref="M:SharpDX.DirectInput.Device.GetObjects"/> method.</param>
<returns>A <see cref="T:SharpDX.DirectInput.DeviceObjectInstance"/> information</returns>
</member>
<member name="M:SharpDX.DirectInput.Device.GetObjectInfoByUsage(System.Int32)">
<summary>
Gets information about a device object, such as a button or axis.
</summary>
<param name="usageCode">the HID Usage Page and Usage values.</param>
<returns>A <see cref="T:SharpDX.DirectInput.DeviceObjectInstance"/> information</returns>
</member>
<member name="M:SharpDX.DirectInput.Device.GetObjectPropertiesById(SharpDX.DirectInput.DeviceObjectId)">
<summary>
Gets the properties about a device object, such as a button or axis.
</summary>
<param name="objectId">The object type/instance identifier. This identifier is returned in the <see cref="!:DeviceObjectInstance.Type"/> member of the <see cref="T:SharpDX.DirectInput.DeviceObjectInstance"/> structure returned from a previous call to the <see cref="M:SharpDX.DirectInput.Device.GetObjects"/> method.</param>
<returns>an ObjectProperties</returns>
</member>
<member name="M:SharpDX.DirectInput.Device.GetObjectPropertiesByUsage(System.Int32)">
<summary>
Gets the properties about a device object, such as a button or axis.
</summary>
<param name="usageCode">the HID Usage Page and Usage values.</param>
<returns>an ObjectProperties</returns>
</member>
<member name="M:SharpDX.DirectInput.Device.GetObjects">
<summary>
Retrieves a collection of objects on the device.
</summary>
<returns>A collection of all device objects on the device.</returns>
</member>
<member name="M:SharpDX.DirectInput.Device.GetObjects(SharpDX.DirectInput.DeviceObjectTypeFlags)">
<summary>
Retrieves a collection of objects on the device.
</summary>
<param name="deviceObjectTypeFlag">A filter for the returned device objects collection.</param>
<returns>A collection of device objects matching the specified filter.</returns>
</member>
<member name="M:SharpDX.DirectInput.Device.RunControlPanel">
<summary>
Runs the DirectInput control panel associated with this device. If the device does not have a control panel associated with it, the default device control panel is launched.
</summary>
<returns>A <see cref = "T:SharpDX.Result" /> object describing the result of the operation.</returns>
</member>
<member name="M:SharpDX.DirectInput.Device.RunControlPanel(System.IntPtr)">
<summary>
Runs the DirectInput control panel associated with this device. If the device does not have a control panel associated with it, the default device control panel is launched.
</summary>
<param name="parentHwnd">The parent control.</param>
<returns>A <see cref = "T:SharpDX.Result" /> object describing the result of the operation.</returns>
</member>
<member name="M:SharpDX.DirectInput.Device.SetNotification(System.Threading.WaitHandle)">
<summary>
Specifies an event that is to be set when the device state changes. It is also used to turn off event notification.
</summary>
<param name="eventHandle">Handle to the event that is to be set when the device state changes. DirectInput uses the Microsoft Win32 SetEvent function on the handle when the state of the device changes. If the eventHandle parameter is null, notification is disabled.</param>
<returns>A <see cref = "T:SharpDX.Result" /> object describing the result of the operation.</returns>
</member>
<member name="M:SharpDX.DirectInput.Device.WriteEffectsToFile(System.String,SharpDX.DirectInput.EffectFile[])">
<summary>
Writes the effects to a file.
</summary>
<param name="fileName">Name of the file.</param>
<param name="effects">The effects.</param>
<returns>A <see cref = "T:SharpDX.Result" /> object describing the result of the operation.</returns>
</member>
<member name="M:SharpDX.DirectInput.Device.WriteEffectsToFile(System.String,SharpDX.DirectInput.EffectFile[],System.Boolean)">
<summary>
Writes the effects to file.
</summary>
<param name="fileName">Name of the file.</param>
<param name="effects">The effects.</param>
<param name="includeNonstandardEffects">if set to <c>true</c> [include nonstandard effects].</param>
<returns>A <see cref = "T:SharpDX.Result" /> object describing the result of the operation.</returns>
</member>
<member name="P:SharpDX.DirectInput.Device.CreatedEffects">
<summary>
Gets the created effects.
</summary>
<value>The created effects.</value>
</member>
<member name="M:SharpDX.DirectInput.Device.#ctor(System.IntPtr)">
<summary>
Initializes a new instance of the <see cref="T:SharpDX.DirectInput.Device"/> class.
</summary>
<param name="nativePtr">The native pointer.</param>
</member>
<member name="M:SharpDX.DirectInput.Device.op_Explicit(System.IntPtr)~SharpDX.DirectInput.Device">
<summary>
Performs an explicit conversion from <see cref="T:System.IntPtr"/> to <see cref="T:SharpDX.DirectInput.Device"/>. (This method is a shortcut to <see cref="P:SharpDX.CppObject.NativePointer"/>)
</summary>
<param name="nativePointer">The native pointer.</param>
<returns>
The result of the conversion.
</returns>
</member>
<member name="P:SharpDX.DirectInput.Device.Capabilities">
<summary>
Obtains the capabilities of the DirectInputDevice object.
</summary>
<remarks>
<p>For compatibility with DirectX 3, it is also valid to pass a DIDEVCAPS_DX3 structure with the dwSize member initialized to sizeof(DIDEVCAPS_DX3). </p> <p>The number of objects returned in the <see cref="T:SharpDX.DirectInput.Capabilities" /> structure is the maximum number of objects that could be enumerated. However, all of these objects are not necessarily returned during a call to <see cref="M:SharpDX.DirectInput.Device.EnumObjects(SharpDX.FunctionCallback,System.IntPtr,System.Int32)" />. </p>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::GetCapabilities']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.getcapabilities</msdn-id>
<unmanaged>GetCapabilities</unmanaged>
<unmanaged-short>GetCapabilities</unmanaged-short>
<unmanaged>HRESULT IDirectInputDevice8W::GetCapabilities([Out] DIDEVCAPS* arg0)</unmanaged>
</member>
<member name="P:SharpDX.DirectInput.Device.Information">
<summary>
Obtains information about the device's identity.
</summary>
<remarks>
<p>For compatibility with DirectX 3, it is also valid to pass a DIDEVICEINSTANCE_DX3 structure with the dwSize member initialized to sizeof(DIDEVICEINSTANCE_DX3).</p>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::GetDeviceInfo']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.getdeviceinfo</msdn-id>
<unmanaged>GetDeviceInfo</unmanaged>
<unmanaged-short>GetDeviceInfo</unmanaged-short>
<unmanaged>HRESULT IDirectInputDevice8W::GetDeviceInfo([Out] DIDEVICEINSTANCEW* arg0)</unmanaged>
</member>
<member name="M:SharpDX.DirectInput.Device.GetCapabilities(SharpDX.DirectInput.Capabilities@)">
<summary>
Obtains the capabilities of the DirectInputDevice object.
</summary>
<param name="arg0"><dd> Address of a <see cref="T:SharpDX.DirectInput.Capabilities" /> structure to be filled with the device capabilities. The dwSize member of this structure must be initialized before calling this method. </dd></param>
<returns><p>If the method succeeds, the return value is <see cref="F:SharpDX.DirectInput.ResultCode.Ok" />. If the method fails, the return value can be one of the following error values: <see cref="F:SharpDX.DirectInput.ResultCode.InvalidParam" />, <see cref="F:SharpDX.DirectInput.ResultCode.NotInitialized" />, E_POINTER.</p></returns>
<remarks>
<p>For compatibility with DirectX 3, it is also valid to pass a DIDEVCAPS_DX3 structure with the dwSize member initialized to sizeof(DIDEVCAPS_DX3). </p> <p>The number of objects returned in the <see cref="T:SharpDX.DirectInput.Capabilities" /> structure is the maximum number of objects that could be enumerated. However, all of these objects are not necessarily returned during a call to <see cref="M:SharpDX.DirectInput.Device.EnumObjects(SharpDX.FunctionCallback,System.IntPtr,System.Int32)" />. </p>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::GetCapabilities']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.getcapabilities</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::GetCapabilities([Out] DIDEVCAPS* arg0)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::GetCapabilities</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.EnumObjects(SharpDX.FunctionCallback,System.IntPtr,System.Int32)">
<summary>
Enumerates the input and output objects available on a device.
</summary>
<param name="arg0"><dd> Address of a callback function that receives DirectInputDevice objects. DirectInput provides a prototype of this function as DIEnumDeviceObjectsCallback. </dd></param>
<param name="arg1"><dd> Reference data (context) for callback. </dd></param>
<param name="arg2"><dd> Flags that specify the types of object to be enumerated. Each of the following values restricts the enumeration to objects of the described type: <dl> <dt><see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.AbsoluteAxis" /></dt> <dd>An absolute axis. </dd> <dt><see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.Alias" /></dt> <dd>Controls identified by a Human Interface Device (HID) usage alias. This flag applies only to HID-compliant USB devices. </dd> <dt><see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.All" /></dt> <dd>All objects. </dd> <dt><see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.Axis" /></dt> <dd>An axis, either absolute or relative. </dd> <dt><see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.Button" /></dt> <dd>A push button or a toggle button. </dd> <dt><see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.Collection" /></dt> <dd>A HID link collection. HID link collections do not generate data of their own. </dd> <dt>DIDFT_ENUMCOLLECTION(n)</dt> <dd>An object that belongs to HID link collection number n. </dd> <dt><see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.ForceFeedbackActuator" /></dt> <dd>An object that contains a force-feedback actuator. In other words, forces can be applied to this object.</dd> <dt><see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.ForceFeedbackEffectTrigger" /></dt> <dd>An object that can be used to trigger force-feedback effects. </dd> <dt>DIDFT_NOCOLLECTION</dt> <dd>An object that does not belong to any HID link collection; in other words, an object for which the wCollectionNumber member of the <see cref="T:SharpDX.DirectInput.DeviceObjectInstance" /> structure is 0. </dd> <dt><see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.NoData" /></dt> <dd>An object that does not generate data. </dd> <dt><see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.Output" /></dt> <dd>An object that supports output. For details, see Remarks in <see cref="M:SharpDX.DirectInput.Device.SendDeviceData(System.Int32,SharpDX.DirectInput.ObjectData[],System.Int32@,System.Int32)" />. </dd> <dt><see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.PointOfViewController" /></dt> <dd>A point-of-view controller. </dd> <dt><see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.PushButton" /></dt> <dd>A push button. A push button is reported as down when the user presses it, and as up when the user releases it. </dd> <dt><see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.RelativeAxis" /></dt> <dd>A relative axis. </dd> <dt><see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.ToggleButton" /></dt> <dd>A toggle button. A toggle button is reported as down when the user presses it and remains so until the user presses the button a second time. </dd> <dt><see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.VendorDefined" /></dt> <dd>An object of a type defined by the manufacturer. </dd> </dl> </dd></param>
<returns><p>If the method succeeds, the return value is <see cref="F:SharpDX.DirectInput.ResultCode.Ok" />. If the method fails, the return value can be one of the following error values:.</p><see cref="F:SharpDX.DirectInput.ResultCode.InvalidParam" /><see cref="F:SharpDX.DirectInput.ResultCode.NotInitialized" /></returns>
<remarks>
<p>The <see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.ForceFeedbackActuator" /> and <see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.ForceFeedbackEffectTrigger" /> flags in the dwFlags parameter restrict enumeration to objects that meet all the criteria defined by the included flags. For all the other flags, an object is enumerated if it meets the criterion defined by any included flag in this category. For example, (<see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.ForceFeedbackActuator" /> | <see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.ForceFeedbackEffectTrigger" />) restricts enumeration to force-feedback trigger objects, and (<see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.ForceFeedbackEffectTrigger" /> | <see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.ToggleButton" /> | <see cref="F:SharpDX.DirectInput.DeviceObjectTypeFlags.PushButton" />) restricts enumeration to buttons of any kind that can be used as effect triggers.</p> <p>Applications should not rely on this method to determine whether certain keyboard keys or indicator lights are present, as these objects might be enumerated even though they are not present. Although the basic set of available objects can be determined from the device subtype, there is no reliable way of determining whether extra objects such as the menu key are available.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::EnumObjects']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.enumobjects</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::EnumObjects([In] __function__stdcall* arg0,[In] void* arg1,[In] unsigned int arg2)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::EnumObjects</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.GetProperty(System.IntPtr,System.IntPtr)">
<summary>
Retrieves information about the input device.
</summary>
<param name="arg0"><dd> Reference to (C++) or address of (C) the globally unique identifier (<see cref="T:System.Guid" />) identifying the property to be retrieved. This can be one of the predefined values or a reference to a <see cref="T:System.Guid" /> that identifies the property. The following properties are predefined for an input device. <dl> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Appdata" /></dt> <dd>Retrieves the application-defined value associated with an in-game action, as a <see cref="T:SharpDX.DirectInput.PropertyPointer" />.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Autocenter" /></dt> <dd>Determines whether device objects are self centering. The value returned can be DIPROPAUTOCENTER_OFF or DIPROPAUTOCENTER_ON. See <see cref="M:SharpDX.DirectInput.Device.SetProperty(System.IntPtr,System.IntPtr)" /> for more information.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Axismode" /></dt> <dd>Retrieves the axis mode. The retrieved value can be <see cref="F:SharpDX.DirectInput.DeviceAxisMode.Absolute" /> or <see cref="F:SharpDX.DirectInput.DeviceAxisMode.Relative" />.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.BufferSize" /></dt> <dd>Retrieves the input buffer size. The buffer size determines the amount of data that the buffer can hold between calls to the <see cref="M:SharpDX.DirectInput.Device.GetDeviceData(System.Int32,System.IntPtr,System.Int32@,System.Int32)" /> method before data is lost. You can set this value to 0 to indicate that the application does not read buffered data from the device. If the buffer size in the dwData member of the <see cref="T:SharpDX.DirectInput.PropertyInt" /> structure is too large for the device to support it, then the largest possible buffer size is set. However, this property always returns the buffer size set using the <see cref="M:SharpDX.DirectInput.Device.SetProperty(System.IntPtr,System.IntPtr)" /> method, even if the buffer cannot be supported because it is too large.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Calibration" /></dt> <dd><p>Predefined property that allows the application to access the information that DirectInput uses to manipulate axes that require calibration. This property exists primarily for applications of the control panel type. Normal applications should not need to deal with calibration information.</p> <p>You can access the calibration mode property for a particular axis by setting the dwHow member of the <see cref="T:SharpDX.DirectInput.PropertyHeader" /> structure to <see cref="F:SharpDX.DirectInput.PropertyHowType.Byid" /> or to <see cref="F:SharpDX.DirectInput.PropertyHowType.Byoffset" /> and setting the dwObj member to the object ID or offset, respectively. </p> <p>Control panel applications that set new calibration data must also invoke the IDirectInputJoyConfig::SendNotify method to notify other applications of the change in calibration. For more information about IDirectInputJoyConfig::SendNotify, see the DirectInput Driver Development Kit (DDK). </p></dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Calibrationmode" /></dt> <dd>For use by device drivers; not used by applications.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Cpoints" /></dt> <dd>This property is unsupported. Retrieves calibration points used for the adjustment of incoming raw data as a DIPROPCPOINTS structure.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Deadzone" /></dt> <dd>Retrieves a value for the dead zone of a joystick, in the range from 0 through 10,000, where 0 indicates that there is no dead zone, 5,000 indicates that the dead zone extends over 50 percent of the physical range of the axis on both sides of center, and 10,000 indicates that the entire physical range of the axis is dead. When the axis is within the dead zone, it is reported as being at the center of its range.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Ffgain" /></dt> <dd>Retrieves the gain of the device. This property always returns <see cref="F:SharpDX.DirectInput.ResultCode.Ok" /> even if the device does not support force feedback. See <see cref="M:SharpDX.DirectInput.Device.SetProperty(System.IntPtr,System.IntPtr)" /> for more information.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Ffload" /></dt> <dd>Retrieves the memory load for the device. This setting applies to the entire device, rather than to any particular object, so the dwHow member of the associated <see cref="T:SharpDX.DirectInput.PropertyInt" /> structure must be <see cref="F:SharpDX.DirectInput.PropertyHowType.Device" />. The retrieved value is in the range from 0 through 100, indicating the percentage of device memory in use. The device must be acquired in exclusive mode. If it is not, the method will fail with a return value of <see cref="F:SharpDX.DirectInput.ResultCode.NotExclusiveAcquired" />.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.GetPortdisplayname" /></dt> <dd>Retrieves the human-readable display name of the port to which this device is connected. Not generally used by applications. </dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Granularity" /></dt> <dd>Retrieves the input granularity. Granularity represents the smallest distance over which the object reports movement. Most axis objects have a granularity of one; that is, all values are possible. Some axes have a larger granularity. For example, the wheel axis on a mouse can have a granularity of 20; that is, all reported changes in position are multiples of 20. In other words, when the user turns the wheel slowly, the device reports a position of 0, then 20, then 40, and so on. This is a read-only property.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Guidandpath" /></dt> <dd>Retrieves the class <see cref="T:System.Guid" /> and device interface (path) for the device. This property lets advanced applications perform operations on a human interface device that are not supported by DirectInput. For more information, see the <see cref="T:SharpDX.DirectInput.PropertyGuidAndPath" /> structure.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.InstanceName" /></dt> <dd>Retrieves the friendly instance name of the device. For more information, see <see cref="M:SharpDX.DirectInput.Device.SetProperty(System.IntPtr,System.IntPtr)" />.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Joystickid" /></dt> <dd>Retrieves the instance number of a joystick. This property is not implemented for the mouse or keyboard.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Keyname" /></dt> <dd>Retrieves the localized key name for a keyboard key, as a <see cref="T:SharpDX.DirectInput.PropertyString" />. Using this property on devices other than a keyboard will return unexpected names. </dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.LogicalRange" /></dt> <dd>Retrieves the range of the raw data returned for axes on a human interface device. Devices can return negative values.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Physicalrange" /></dt> <dd>Retrieves the range of data for axes as suggested by the manufacturer of a human interface device. Values can be negative. Normally DirectInput returns values from 0 through 0xFFFF, but the range can be made to conform to the manufacturer's suggested range by using <see cref="F:SharpDX.DirectInput.PropertyGuids.Range" />.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Productname" /></dt> <dd>Retrieves the friendly product name of the device. For more information, see <see cref="M:SharpDX.DirectInput.Device.SetProperty(System.IntPtr,System.IntPtr)" />.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Range" /></dt> <dd>Retrieves the range of values an object can possibly report. For some devices, this is a read-only property.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Saturation" /></dt> <dd>Retrieves a value for the saturation zones of a joystick, in the range from 0 through 10,000. The saturation level is the point at which the axis is considered to be at its most extreme position. For example, if the saturation level is set to 9,500, the axis reaches the extreme of its range when it has moved 95 percent of the physical distance from its center position (or from the dead zone).</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Scancode" /></dt> <dd>Retrieves the scan code for a keyboard key, as a <see cref="T:SharpDX.DirectInput.PropertyInt" />. If successful, <see cref="F:SharpDX.Result.Ok" /> is returned. E_FAIL is returned if the property cannot resolve specialized keys on USB keyboards because they do not exist in scan code form. For all other failures, E_INVALIDARG is returned.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Typename" /></dt> <dd>Predefined property that retrieves the type name of a device. For most game controllers, this is the registry key name under REGSTR_PATH_JOYOEM from which static device settings can be retrieved, but predefined joystick types have special names consisting of a number sign (&Sharp;) followed by a character dependent on the type. This value might not be available for all devices.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Username" /></dt> <dd>Retrieves the user name for a user currently assigned to a device, as a <see cref="T:SharpDX.DirectInput.PropertyString" />. User names are set by calling <see cref="M:SharpDX.DirectInput.Device.SetActionMap(SharpDX.DirectInput.ActionFormat@,System.String,System.Int32)" />. If no user name is set, the method returns S_FALSE.</dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Vidpid" /></dt> <dd>Read-only device property that retrieves the vendor identity (ID) and product ID of a HID device. This property is of type <see cref="T:SharpDX.DirectInput.PropertyInt" /> and contains both values. These two WORD values are combined in the dwData member of the <see cref="T:SharpDX.DirectInput.PropertyInt" /> structure. See Examples. This property applies to the entire device, rather than to any particular object, so the dwHow member of the <see cref="T:SharpDX.DirectInput.PropertyHeader" /> structure must be set to <see cref="F:SharpDX.DirectInput.PropertyHowType.Device" />.</dd> </dl> </dd></param>
<param name="arg1"><dd> Address of the <see cref="T:SharpDX.DirectInput.PropertyHeader" /> portion of a larger property-dependent structure that contains the <see cref="T:SharpDX.DirectInput.PropertyHeader" /> structure as a member. The following structures are used for properties: <ul> <li><p><see cref="T:SharpDX.DirectInput.PropertyInt" /> is used for properties represented by a single numerical value.</p></li> <li><p><see cref="T:SharpDX.DirectInput.PropertyGuidAndPath" /> is used for <see cref="F:SharpDX.DirectInput.PropertyGuids.Guidandpath" />.</p></li> <li><p><see cref="T:SharpDX.DirectInput.PropertyRange" /> is used for properties represented by a pair of numerical values. Currently, the only such property is <see cref="F:SharpDX.DirectInput.PropertyGuids.Range" />.</p></li> <li><p><see cref="T:SharpDX.DirectInput.PropertyString" /> is used for string properties.</p></li></ul> </dd></param>
<returns>No documentation.</returns>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::GetProperty']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.getproperty</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::GetProperty([In] const void& arg0,[In] void* arg1)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::GetProperty</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.SetProperty(System.IntPtr,System.IntPtr)">
<summary>
Sets properties that define the device behavior. These properties include input buffer size and axis mode.
</summary>
<param name="arg0"><dd> Reference to (C++) or address of (C) the globally unique identifier (<see cref="T:System.Guid" />) identifying the property to be set. This can be one of the predefined values, or a reference to a <see cref="T:System.Guid" /> that identifies the property. The following property values are predefined for an input device: <dl> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Appdata" /></dt> <dd>Sets the application-defined value associated with an in-game action, as a <see cref="T:SharpDX.DirectInput.PropertyPointer" />. </dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Autocenter" /></dt> <dd><p>Specifies whether device objects are self centering. This setting applies to the entire device, rather than to any particular object, so the dwHow member of the associated <see cref="T:SharpDX.DirectInput.PropertyInt" /> structure must be <see cref="F:SharpDX.DirectInput.PropertyHowType.Device" />.</p> <p>The dwData member can be one of the following values. </p> <p>DIPROPAUTOCENTER_OFF: The device should not automatically center when the user releases the device. An application that uses force feedback should disable autocentering before playing effects. </p> <p>DIPROPAUTOCENTER_ON: The device should automatically center when the user releases the device. </p> <p>Not all devices support the autocenter property. </p></dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Axismode" /></dt> <dd>Sets the axis mode. The value being set (<see cref="F:SharpDX.DirectInput.DeviceAxisMode.Absolute" /> or <see cref="F:SharpDX.DirectInput.DeviceAxisMode.Relative" />) must be specified in the dwData member of the associated <see cref="T:SharpDX.DirectInput.PropertyInt" /> structure. See the description of the pdiph parameter for more information. This setting applies to the entire device, so the dwHow member of the associated <see cref="T:SharpDX.DirectInput.PropertyInt" /> structure must be set to <see cref="F:SharpDX.DirectInput.PropertyHowType.Device" />. </dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.BufferSize" /></dt> <dd>Sets the input buffer size. The value being set must be specified in the dwData member of the associated <see cref="T:SharpDX.DirectInput.PropertyInt" /> structure. See Remarks. This setting applies to the entire device, so the dwHow member of the associated <see cref="T:SharpDX.DirectInput.PropertyInt" /> structure must be set to <see cref="F:SharpDX.DirectInput.PropertyHowType.Device" />. </dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Calibration" /></dt> <dd><p>Predefined property that allows the application to access the information that DirectInput uses to manipulate axes that require calibration. This property exists primarily for applications of the control panel type. Normal applications should not need to deal with calibration information.</p> <p>You can access the calibration mode property for an axis by setting the dwHow member of the <see cref="T:SharpDX.DirectInput.PropertyHeader" /> structure to <see cref="F:SharpDX.DirectInput.PropertyHowType.Byid" /> or to <see cref="F:SharpDX.DirectInput.PropertyHowType.Byoffset" /> and setting the dwObj member to the object ID or offset, respectively. </p> <p>Control panel applications that set new calibration data must also invoke the IDirectInputJoyConfig::SendNotify method to notify other applications of the change in calibration. For more information about IDirectInputJoyConfig::SendNotify, see the DirectX Driver Development Kit (DDK). </p></dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Calibrationmode" /></dt> <dd><p>Enables the application to specify whether DirectInput should retrieve calibrated or uncalibrated data from an axis. By default, DirectInput retrieves calibrated data.</p> <p>Setting the calibration mode for the entire device is equivalent to setting it for each axis individually. </p> <p>The dwData member of the <see cref="T:SharpDX.DirectInput.PropertyInt" /> structure can be one of the following values: </p> <p>DIPROPCALIBRATIONMODE_COOKED: DirectInput should return data after applying calibration information. This is the default mode. </p> <p>DIPROPCALIBRATIONMODE_RAW: DirectInput should return raw, uncalibrated data. This mode is typically used only by applications of the control panel type. Note that raw data might include negative values. </p> <p>Setting a device into raw mode causes the dead zone, saturation, and range settings to be ignored. </p></dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Cpoints" /></dt> <dd>This property is unsupported. Sets calibration points used for the adjustment of incoming raw data. The values being set must be specified as CPOINT types in the cp array of the associated DIPROPCPOINTS structure. This setting applies to individual device objects, so the dwHow member of the associated <see cref="T:SharpDX.DirectInput.PropertyHeader" /> structure must be set to either <see cref="F:SharpDX.DirectInput.PropertyHowType.Byid" /> or <see cref="F:SharpDX.DirectInput.PropertyHowType.Byoffset" />. </dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Deadzone" /></dt> <dd>Sets the value for the dead zone of a joystick, in the range from 0 through 10,000, where 0 indicates that there is no dead zone, 5,000 indicates that the dead zone extends over 50 percent of the physical range of the axis on both sides of center, and 10,000 indicates that the entire physical range of the axis is dead. When the axis is within the dead zone, it is reported as being at the center of its range. This setting can be applied to either the entire device or to a specific axis. </dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Ffgain" /></dt> <dd>Sets the gain for the device. This setting applies to the entire device, rather than to any particular object, so the dwHow member of the associated <see cref="T:SharpDX.DirectInput.PropertyInt" /> structure must be <see cref="F:SharpDX.DirectInput.PropertyHowType.Device" />. <p>The dwData member contains a gain value that is applied to all effects created on the device. The value is an integer in the range from 0 through 10,000, specifying the amount by which effect magnitudes should be scaled for the device. For example, a value of 10,000 indicates that all effect magnitudes are to be taken at face value. A value of 9,000 indicates that all effect magnitudes are to be reduced to 90 percent of their nominal magnitudes. </p> <p>DirectInput always checks the gain value before setting the gain property. If the gain is outside of the range (less than zero or greater than 10,000), <see cref="M:SharpDX.DirectInput.Device.SetProperty(System.IntPtr,System.IntPtr)" /> will return <see cref="F:SharpDX.DirectInput.ResultCode.InvalidParam" />. Otherwise, if successful, it will return <see cref="F:SharpDX.DirectInput.ResultCode.Ok" />, even if the device does not support force feedback.</p> <p>Setting a gain value is useful when an application wants to scale down the strength of all force-feedback effects uniformly, based on user preferences. </p> <p>Unlike other properties, the gain can be set when the device is in an acquired state. </p></dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.InstanceName" /></dt> <dd><p>This property exists for advanced applications that want to change the friendly instance name of a device (as returned in the tszInstanceName member of the <see cref="T:SharpDX.DirectInput.DeviceInstance" /> structure) to distinguish it from similar devices that are plugged in simultaneously. Most applications should have no need to change the friendly name.</p> <p>This setting applies to the entire device, so the dwHow member of the associated <see cref="T:SharpDX.DirectInput.PropertyInt" /> structure must be set to <see cref="F:SharpDX.DirectInput.PropertyHowType.Device" />. </p> <p>The pdiph parameter must be a reference to the diph member of a <see cref="T:SharpDX.DirectInput.PropertyString" /> structure. </p></dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Productname" /></dt> <dd><p>This property exists for advanced applications that want to change the friendly product name of a device (as returned in the tszProductName member of the <see cref="T:SharpDX.DirectInput.DeviceInstance" /> structure) to distinguish it from similar devices which are plugged in simultaneously. Most applications should have no need to change the friendly name.</p> <p>This setting applies to the entire device, so the dwHow member of the associated <see cref="T:SharpDX.DirectInput.PropertyInt" /> structure must be set to <see cref="F:SharpDX.DirectInput.PropertyHowType.Device" />. </p> <p>The pdiph parameter must be a reference to the diph member of a <see cref="T:SharpDX.DirectInput.PropertyString" /> structure. </p> <p>Setting the product name is only useful for changing the user-defined name of an analog joystick on Microsoft Windows 98, Windows 2000, and Windows Millennium Edition (Windows Me) computers. In other cases, attempting to set this property will still return <see cref="F:SharpDX.DirectInput.ResultCode.Ok" />. However, the name is not stored in a location used by <see cref="M:SharpDX.DirectInput.Device.GetProperty(System.IntPtr,System.IntPtr)" />. </p> </dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Range" /></dt> <dd>Sets the range of values an object can possibly report. The minimum and maximum values are taken from the lmin and lmax members of the associated <see cref="T:SharpDX.DirectInput.PropertyRange" /> structure. <p>For some devices, this is a read-only property. </p> <p>You cannot set a reverse range; lmax must be greater than lmin. </p></dd> <dt><see cref="F:SharpDX.DirectInput.PropertyGuids.Saturation" /></dt> <dd>Sets the value for the saturation zones of a joystick, in the range from 0 through 10,000. The saturation level is the point at which the axis is considered to be at its most extreme position. For example, if the saturation level is set to 9,500, the axis reaches the extreme of its range when it has moved 95 percent of the physical distance from its center position (or from the dead zone). This setting can be applied to either the entire device or a specific axis. </dd> </dl> </dd></param>
<param name="arg1"><dd> Address of the <see cref="T:SharpDX.DirectInput.PropertyHeader" /> structure contained within the type-specific property structure. </dd></param>
<returns><p>If the method succeeds, the return value is <see cref="F:SharpDX.DirectInput.ResultCode.Ok" /> or <see cref="F:SharpDX.DirectInput.ResultCode.PropertyHadNoEffect" />. If the method fails, the return value can be one of the following error values: <see cref="F:SharpDX.DirectInput.ResultCode.InvalidParam" /><see cref="F:SharpDX.DirectInput.ResultCode.NotInitialized" />, <see cref="F:SharpDX.DirectInput.ResultCode.ObjectNotFound" />, <see cref="F:SharpDX.DirectInput.ResultCode.Unsupported" />.</p></returns>
<remarks>
<p>The buffer size determines the amount of data that the buffer can hold between calls to the <see cref="M:SharpDX.DirectInput.Device.GetDeviceData(System.Int32,System.IntPtr,System.Int32@,System.Int32)" /> method before data is lost. This value may be set to 0 to indicate that the application does not read buffered data from the device. If the buffer size in the dwData member of the <see cref="T:SharpDX.DirectInput.PropertyInt" /> structure is too large for the device to support it, then the largest possible buffer size is set. </p>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::SetProperty']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.setproperty</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::SetProperty([In] const void& arg0,[In] const void* arg1)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::SetProperty</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.Acquire">
<summary>
Obtains access to the input device.
</summary>
<returns><p>If the method succeeds, the return value is <see cref="F:SharpDX.DirectInput.ResultCode.Ok" />, or S_FALSE if the device was already acquired. If the method fails, the return value can be one of the following error values: <see cref="F:SharpDX.DirectInput.ResultCode.InvalidParam" />, <see cref="F:SharpDX.DirectInput.ResultCode.NotInitialized" />, <see cref="F:SharpDX.DirectInput.ResultCode.OtherApplicationHasPriority" />.</p></returns>
<remarks>
<p>Before a device can be acquired, a data format must be set by using the <see cref="M:SharpDX.DirectInput.Device.SetDataFormat(SharpDX.DirectInput.DataFormat)" /> method or <see cref="M:SharpDX.DirectInput.Device.SetActionMap(SharpDX.DirectInput.ActionFormat@,System.String,System.Int32)" /> method. If the data format has not been set, <see cref="T:SharpDX.DirectInput.Device" /> Interface returns <see cref="F:SharpDX.DirectInput.ResultCode.InvalidParam" />.</p> <p>Devices must be acquired before calling the <see cref="M:SharpDX.DirectInput.Device.GetDeviceState(System.Int32,System.IntPtr)" /> or <see cref="M:SharpDX.DirectInput.Device.GetDeviceData(System.Int32,System.IntPtr,System.Int32@,System.Int32)" /> methods for that device.</p> <p>Device acquisition does not use a reference count. Therefore, if an application calls the <see cref="T:SharpDX.DirectInput.Device" /> Interface method twice, then calls the <see cref="T:SharpDX.DirectInput.Device" /> Interface method once, the device is unacquired.</p> <p>If <see cref="M:SharpDX.DirectInput.Device.BuildActionMap(SharpDX.DirectInput.ActionFormat@,System.String,System.Int32)" /> succeeds but no actions have been mapped, a subsequent call to <see cref="M:SharpDX.DirectInput.Device.SetActionMap(SharpDX.DirectInput.ActionFormat@,System.String,System.Int32)" /> will return <see cref="F:SharpDX.DirectInput.ResultCode.Ok" /> but a call to <see cref="T:SharpDX.DirectInput.Device" /> Interface will fail with <see cref="F:SharpDX.DirectInput.ResultCode.InvalidParam" />.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::Acquire']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.acquire</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::Acquire()</unmanaged>
<unmanaged-short>IDirectInputDevice8W::Acquire</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.Unacquire">
<summary>
Releases access to the device.
</summary>
<returns><p>The return value is <see cref="F:SharpDX.DirectInput.ResultCode.Ok" /> is the device was unacquired, or <see cref="F:SharpDX.DirectInput.ResultCode.NoEffect" /> if the device was not in an acquired state.</p></returns>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::Unacquire']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.unacquire</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::Unacquire()</unmanaged>
<unmanaged-short>IDirectInputDevice8W::Unacquire</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.GetDeviceState(System.Int32,System.IntPtr)">
<summary>
Retrieves immediate data from the device.
</summary>
<param name="arg0"><dd> Size of the buffer in the lpvData parameter, in bytes. </dd></param>
<param name="arg1"><dd> Address of a structure that receives the current state of the device. The format of the data is established by a prior call to the <see cref="M:SharpDX.DirectInput.Device.SetDataFormat(SharpDX.DirectInput.DataFormat)" /> method. </dd></param>
<returns><p>If the method succeeds, the return value is <see cref="F:SharpDX.DirectInput.ResultCode.Ok" />. If the method fails, the return value can be one of the following error values: <see cref="F:SharpDX.DirectInput.ResultCode.InputLost" />, <see cref="F:SharpDX.DirectInput.ResultCode.InvalidParam" />, <see cref="F:SharpDX.DirectInput.ResultCode.NotAcquired" />, <see cref="F:SharpDX.DirectInput.ResultCode.NotInitialized" />, E_PENDING.</p></returns>
<remarks>
<p>Before device data can be obtained, set the cooperative level by using the <see cref="M:SharpDX.DirectInput.Device.SetCooperativeLevel(System.IntPtr,SharpDX.DirectInput.CooperativeLevel)" /> method, then set the data format by using <see cref="M:SharpDX.DirectInput.Device.SetDataFormat(SharpDX.DirectInput.DataFormat)" />, and acquire the device by using the <see cref="T:SharpDX.DirectInput.Device" /> Interface method.</p> <p>The five predefined data formats require corresponding device state structures according to the following table:</p> <table> <tr><th>Data format
</th><th>State structure
</th></tr> <tr><td> c_dfDIMouse </td><td>DIMOUSESTATE </td></tr> <tr><td> c_dfDIMouse2 </td><td>DIMOUSESTATE2 </td></tr> <tr><td> c_dfDIKeyboard </td><td>array of 256 bytes
</td></tr> <tr><td> c_dfDIJoystick </td><td>DIJOYSTATE </td></tr> <tr><td> c_dfDIJoystick2 </td><td>DIJOYSTATE2 </td></tr> </table> <p>For example, if you passed the c_dfDIMouse format to the <see cref="M:SharpDX.DirectInput.Device.SetDataFormat(SharpDX.DirectInput.DataFormat)" /> method, you must pass a DIMOUSESTATE structure to the <see cref="M:SharpDX.DirectInput.Device.GetDeviceState(System.Int32,System.IntPtr)" /> method.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::GetDeviceState']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.getdevicestate</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::GetDeviceState([In] unsigned int arg0,[In] void* arg1)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::GetDeviceState</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.GetDeviceData(System.Int32,System.IntPtr,System.Int32@,System.Int32)">
<summary>
Retrieves buffered data from the device.
</summary>
<param name="arg0"><dd> Size of the <see cref="T:SharpDX.DirectInput.ObjectData" /> structure, in bytes. </dd></param>
<param name="arg1"><dd> Array of <see cref="T:SharpDX.DirectInput.ObjectData" /> structures to receive the buffered data. The number of elements in this array must be equal to the value of the pdwInOut parameter. If this parameter is <c>null</c>, the buffered data is not stored anywhere, but all other side effects take place. </dd></param>
<param name="arg2"><dd> On entry, the number of elements in the array pointed to by the rgdod parameter. On exit, the number of elements actually obtained. </dd></param>
<param name="arg3"><dd> Flags that control the manner in which data is obtained. This value can be 0 or the following flag. <dl> <dt>DIGDD_PEEK</dt> <dd>Do not remove the items from the buffer. A subsequent <see cref="M:SharpDX.DirectInput.Device.GetDeviceData(System.Int32,System.IntPtr,System.Int32@,System.Int32)" /> call will read the same data. Normally, data is removed from the buffer after it is read.</dd> </dl> </dd></param>
<returns><p>If the method succeeds, the return value is <see cref="F:SharpDX.DirectInput.ResultCode.Ok" /> or <see cref="F:SharpDX.DirectInput.ResultCode.BufferOverflow" />. If the method fails, the return value can be one of the following error values: <see cref="F:SharpDX.DirectInput.ResultCode.InputLost" />, <see cref="F:SharpDX.DirectInput.ResultCode.InvalidParam" />, <see cref="F:SharpDX.DirectInput.ResultCode.NotAcquired" />, <see cref="F:SharpDX.DirectInput.ResultCode.NotBuffered" />, <see cref="F:SharpDX.DirectInput.ResultCode.NotInitialized" />.</p></returns>
<remarks>
<table><tr><th>Note </th></tr><tr><td>If the method returns <see cref="F:SharpDX.DirectInput.ResultCode.BufferOverflow" />, the data in the rgdod array has been truncated. </td></tr></table> <p>In the debug version of DirectInput, if a call is made to <see cref="M:SharpDX.DirectInput.Device.GetDeviceData(System.Int32,System.IntPtr,System.Int32@,System.Int32)" /> and the device has been unacquired, then random bytes will be sent to the device data buffer. To make sure you are not using random device data, always check for the DIERR_UNACQUIRED return code.</p> <p>Before device data can be obtained, you must set the data format and the buffer size by using the <see cref="M:SharpDX.DirectInput.Device.SetDataFormat(SharpDX.DirectInput.DataFormat)" /> and <see cref="M:SharpDX.DirectInput.Device.SetProperty(System.IntPtr,System.IntPtr)" /> methods, or by using the <see cref="M:SharpDX.DirectInput.Device.SetActionMap(SharpDX.DirectInput.ActionFormat@,System.String,System.Int32)" /> method. You must also acquire the device by using the <see cref="T:SharpDX.DirectInput.Device" /> Interface method.</p> <p>The maximum number of events that the buffer will hold is one less than the buffer size set with the <see cref="M:SharpDX.DirectInput.Device.SetProperty(System.IntPtr,System.IntPtr)" /> method.</p> <p>The following code example reads up to ten buffered data elements, removing them from the device buffer as they are read.</p> <pre> <see cref="T:SharpDX.DirectInput.ObjectData" /> rgdod[10];
DWORD dwItems = 10;
hres = idirectinputdevice9_GetDeviceData( sizeof(<see cref="T:SharpDX.DirectInput.ObjectData" />), rgdod, &dwItems, 0);
if (SUCCEEDED(hres)) { // dwItems = Number of elements read (could be zero). if (hres == <see cref="F:SharpDX.DirectInput.ResultCode.BufferOverflow" />) { // Buffer had overflowed. }
}
</pre> <p>Your application can flush the buffer and retrieve the number of flushed items by specifying <c>null</c> for the rgdod parameter and a reference to a variable containing INFINITE for the pdwInOut parameter. The following code example illustrates how this can be done.</p> <pre> dwItems = INFINITE;
hres = idirectinputdevice9_GetDeviceData( pdid, sizeof(<see cref="T:SharpDX.DirectInput.ObjectData" />), <c>null</c>, &dwItems, 0);
if (SUCCEEDED(hres)) { // Buffer successfully flushed. // dwItems = Number of elements flushed. if (hres == <see cref="F:SharpDX.DirectInput.ResultCode.BufferOverflow" />) { // Buffer had overflowed. }
}
</pre> <p>Your application can query for the number of elements in the device buffer by setting the rgdod parameter to <c>null</c>, setting pdwInOut to INFINITE and setting dwFlags to DIGDD_PEEK. The following code example illustrates how this can be done.</p> <pre> dwItems = INFINITE;
hres = idirectinputdevice9_GetDeviceData( pdid, sizeof(<see cref="T:SharpDX.DirectInput.ObjectData" />), <c>null</c>, &dwItems, DIGDD_PEEK);
if (SUCCEEDED(hres)) { // dwItems = Number of elements in buffer. if (hres == <see cref="F:SharpDX.DirectInput.ResultCode.BufferOverflow" />) { // Buffer overflow occurred; not all data // was successfully captured. }
}
</pre> <p>To query about whether a buffer overflow has occurred, set the rgdod parameter to <c>null</c> and the pdwInOut parameter to 0. The following code example illustrates how this can be done.</p> <pre> dwItems = 0;
hres = idirectinputdevice9_GetDeviceData( pdid, sizeof(<see cref="T:SharpDX.DirectInput.ObjectData" />), <c>null</c>, &dwItems, 0);
if (hres == <see cref="F:SharpDX.DirectInput.ResultCode.BufferOverflow" />) { // Buffer overflow occurred.
}
</pre>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::GetDeviceData']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.getdevicedata</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::GetDeviceData([In] unsigned int arg0,[In, Buffer] void* arg1,[InOut] unsigned int* arg2,[In] unsigned int arg3)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::GetDeviceData</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.SetDataFormat(SharpDX.DirectInput.DataFormat)">
<summary>
Sets the data format for the DirectInput device.
</summary>
<param name="arg0"><dd> Address of a structure that describes the format of the data that the DirectInputDevice should return. An application can define its own <see cref="T:SharpDX.DirectInput.DataFormat" /> structure or use one of the following predefined global variables: <ul> <li><p> c_dfDIKeyboard </p></li> <li><p> c_dfDIMouse </p></li> <li><p> c_dfDIMouse2 </p></li> <li><p> c_dfDIJoystick </p></li> <li><p> c_dfDIJoystick2 </p></li> </ul> </dd></param>
<returns><p>If the method succeeds, the return value is <see cref="F:SharpDX.DirectInput.ResultCode.Ok" />. If the method fails, the return value can be one of the following error values: <see cref="F:SharpDX.DirectInput.ResultCode.Acquired" />, <see cref="F:SharpDX.DirectInput.ResultCode.InvalidParam" />, <see cref="F:SharpDX.DirectInput.ResultCode.NotInitialized" />.</p></returns>
<remarks>
<p>The data format must be set before the device can be acquired by using the <see cref="T:SharpDX.DirectInput.Device" /> Interface method. It is necessary to set the data format only once. The data format cannot be changed while the device is acquired.</p> <p>If the application is using action mapping, the data format is set instead by the call to <see cref="M:SharpDX.DirectInput.Device.SetActionMap(SharpDX.DirectInput.ActionFormat@,System.String,System.Int32)" />.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::SetDataFormat']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.setdataformat</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::SetDataFormat([In] const DIDATAFORMAT* arg0)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::SetDataFormat</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.SetEventNotification(System.IntPtr)">
<summary>
Specifies an event that is to be set when the device state changes. It is also used to turn off event notification.
</summary>
<param name="arg0"><dd> Handle to the event that is to be set when the device state changes. DirectInput uses the Microsoft Win32 SetEvent function on the handle when the state of the device changes. If the hEvent parameter is <c>null</c>, notification is disabled. <p>The application can create the handle as either a manual-reset or autoreset event by using the Win32 CreateEvent function. If the event is created as an autoreset event, the operating system automatically resets the event when a wait has been satisfied. If the event is created as a manual-reset event, it is the application's responsibility to call the Win32 ResetEvent function to reset it. DirectInput does not call the Win32 ResetEvent function for event notification handles. Most applications create the event as an automatic-reset event.</p> </dd></param>
<returns>No documentation.</returns>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::SetEventNotification']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.seteventnotification</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::SetEventNotification([In] void* arg0)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::SetEventNotification</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.SetCooperativeLevel(System.IntPtr,SharpDX.DirectInput.CooperativeLevel)">
<summary>
Requests the cooperative level for this instance of the inpute device. The cooperative level determines how this instance of the device interacts with other instances of the device and the rest of the system.
</summary><param name="arg0">Window handle to be associated with the device. This parameter must be a valid top-level window handle that belongs to the process. The window associated with the device must not be destroyed while it is still active in a DirectInput device.</param><param name="arg1">Flags that specify the cooperative level to associate with the input device.</param><returns>If the method succeeds, the return value is <see cref="F:SharpDX.DirectInput.ResultCode.Ok" />. If the method fails, a <see cref="T:SharpDX.SharpDXException" /> is raised with the following error code values: <see cref="F:SharpDX.DirectInput.ResultCode.InvalidParam" />, <see cref="F:SharpDX.DirectInput.ResultCode.NotInitialized" />, <see cref="F:SharpDX.Result.Handle" />.</returns><remarks>
<para>Applications cannot specify <see cref="F:SharpDX.DirectInput.CooperativeLevel.Foreground" /> and <see cref="F:SharpDX.DirectInput.CooperativeLevel.Background" /> at the same time. This apply as well to <see cref="F:SharpDX.DirectInput.CooperativeLevel.Exclusive" /> and <see cref="F:SharpDX.DirectInput.CooperativeLevel.NonExclusive" />.</para>
<para>When the mouse is acquired with exclusive access, the mouse pointer is removed from the screen until the device is unacquired.</para>
<para>Applications that select the background exclusive mode cooperative level are not guaranteed to retain access to the device if another application requests exclusive access. When a background exclusive mode application loses access, calls to DirectInput device methods will fail and return <see cref="F:SharpDX.DirectInput.ResultCode.NotAcquired" />. The application can regain access to the device by manually unacquiring the device and reaquiring it.</para>
<para>Applications must call this method before acquiring the device by using the <see cref="T:SharpDX.DirectInput.Device" /> method.</para>
</remarks>
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.setcooperativelevel</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::SetCooperativeLevel([In] HWND arg0,[In] DISCL arg1)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::SetCooperativeLevel</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.GetObjectInfo(System.Int32,SharpDX.DirectInput.PropertyHowType)">
<summary>
Retrieves information about a device object, such as a button or axis.
</summary>
<param name="arg1"><dd> Value that identifies the object whose information is to be retrieved. The value set for this parameter depends on the value specified in the dwHow parameter. </dd></param>
<param name="arg2"><dd> Value that specifies how the dwObj parameter should be interpreted. The dwHow value can be one of the following: <dl> <dt><see cref="F:SharpDX.DirectInput.PropertyHowType.Byoffset" /></dt> <dd>The dwObj parameter is the offset into the current data format of the object whose information is being accessed. </dd> <dt><see cref="F:SharpDX.DirectInput.PropertyHowType.Byid" /></dt> <dd>The dwObj parameter is the object type/instance identifier. This identifier is returned in the dwType member of the <see cref="T:SharpDX.DirectInput.DeviceObjectInstance" /> structure returned from a previous call to the <see cref="M:SharpDX.DirectInput.Device.EnumObjects(SharpDX.FunctionCallback,System.IntPtr,System.Int32)" /> method. </dd> <dt><see cref="F:SharpDX.DirectInput.PropertyHowType.Byusage" /></dt> <dd>The dwObj parameter contains the HID Usage Page and Usage values of the object, combined by the DIMAKEUSAGEDWORD macro.</dd> </dl> </dd></param>
<returns><dd> Address of a <see cref="T:SharpDX.DirectInput.DeviceObjectInstance" /> structure to be filled with information about the object. The structure's dwSize member must be initialized before this method is called. </dd></returns>
<remarks>
<p>For compatibility with DirectX 3, it is also valid to pass a DIDEVICEOBJECTINSTANCE_DX3 structure with the dwSize member initialized to sizeof(DIDEVICEOBJECTINSTANCE_DX3).</p>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::GetObjectInfo']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.getobjectinfo</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::GetObjectInfo([Out] DIDEVICEOBJECTINSTANCEW* arg0,[In] unsigned int arg1,[In] DIPH arg2)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::GetObjectInfo</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.GetInformation(SharpDX.DirectInput.DeviceInstance@)">
<summary>
Obtains information about the device's identity.
</summary>
<param name="arg0"><dd> Address of a <see cref="T:SharpDX.DirectInput.DeviceInstance" /> structure to be filled with information about the device's identity. An application must initialize the structure's dwSize member before calling this method. </dd></param>
<returns><p>If the method succeeds, the return value is <see cref="F:SharpDX.DirectInput.ResultCode.Ok" />. If the method fails, the return value can be one of the following error values: <see cref="F:SharpDX.DirectInput.ResultCode.InvalidParam" />, <see cref="F:SharpDX.DirectInput.ResultCode.NotInitialized" />, E_POINTER.</p></returns>
<remarks>
<p>For compatibility with DirectX 3, it is also valid to pass a DIDEVICEINSTANCE_DX3 structure with the dwSize member initialized to sizeof(DIDEVICEINSTANCE_DX3).</p>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::GetDeviceInfo']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.getdeviceinfo</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::GetDeviceInfo([Out] DIDEVICEINSTANCEW* arg0)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::GetDeviceInfo</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.RunControlPanel(System.IntPtr,System.Int32)">
<summary>
Runs the DirectInput control panel associated with this device. If the device does not have a control panel associated with it, the default device control panel is launched.
</summary>
<param name="arg0"><dd> Parent window handle. If this parameter is <c>null</c> , no parent window is used. </dd></param>
<param name="arg1"><dd> Not currently used. Zero is the only valid value. </dd></param>
<returns><p>If the method succeeds, the return value is <see cref="F:SharpDX.DirectInput.ResultCode.Ok" />. If the method fails, the return value can be one of the following error values:</p><see cref="F:SharpDX.DirectInput.ResultCode.InvalidParam" /><see cref="F:SharpDX.DirectInput.ResultCode.NotInitialized" /></returns>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::RunControlPanel']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.runcontrolpanel</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::RunControlPanel([In] HWND arg0,[In] unsigned int arg1)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::RunControlPanel</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.Initialize(System.IntPtr,System.Int32,System.Guid)">
<summary>
Initializes a DirectInputDevice object. TheIDirectInput8::CreateDevicemethod automatically initializes a device after creating it; applications normally do not need to call this method.
</summary>
<param name="arg0">No documentation.</param>
<param name="arg1">No documentation.</param>
<param name="arg2">No documentation.</param>
<returns><p>If the method succeeds, the return value is <see cref="F:SharpDX.DirectInput.ResultCode.Ok" /> or S_FALSE. If the method returns S_FALSE, the device had already been initialized with the instance <see cref="T:System.Guid" /> passed in though rGUID. If the method fails, the return value can be one of the following error values: <see cref="F:SharpDX.DirectInput.ResultCode.Acquired" />, <see cref="F:SharpDX.DirectInput.ResultCode.DeviceNotRegistered" />.</p></returns>
<remarks>
<p>If this method fails, the underlying object should be considered to be in an indeterminate state and must be reinitialized before use.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::Initialize']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.initialize</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::Initialize([In] HINSTANCE arg0,[In] unsigned int arg1,[In] const GUID& arg2)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::Initialize</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.CreateEffect(System.Guid,SharpDX.DirectInput.EffectParameters,SharpDX.DirectInput.Effect,SharpDX.ComObject)">
<summary>
Creates and initializes an instance of an effect identified by the effect globally unique identifier (<see cref="T:System.Guid" />).
</summary>
<param name="arg0"><dd> Reference to (C++) or address of (C) the <see cref="T:System.Guid" /> identifying the effect to be created. This can be a predefined effect <see cref="T:System.Guid" />, or it can be a <see cref="T:System.Guid" /> obtained from <see cref="M:SharpDX.DirectInput.Device.EnumEffects(SharpDX.FunctionCallback,System.IntPtr,SharpDX.DirectInput.EffectType)" />. The following standard effect GUIDs are defined: <ul> <li><p><see cref="F:SharpDX.DirectInput.EffectGuid.ConstantForce" /> </p></li> <li><p><see cref="F:SharpDX.DirectInput.EffectGuid.RampForce" /> </p></li> <li><p><see cref="F:SharpDX.DirectInput.EffectGuid.Square" /> </p></li> <li><p><see cref="F:SharpDX.DirectInput.EffectGuid.Sine" /> </p></li> <li><p><see cref="F:SharpDX.DirectInput.EffectGuid.Triangle" /> </p></li> <li><p><see cref="F:SharpDX.DirectInput.EffectGuid.SawtoothUp" /> </p></li> <li><p><see cref="F:SharpDX.DirectInput.EffectGuid.SawtoothDown" /> </p></li> <li><p><see cref="F:SharpDX.DirectInput.EffectGuid.Spring" /> </p></li> <li><p><see cref="F:SharpDX.DirectInput.EffectGuid.Damper" /> </p></li> <li><p><see cref="F:SharpDX.DirectInput.EffectGuid.Inertia" /> </p></li> <li><p><see cref="F:SharpDX.DirectInput.EffectGuid.Friction" /> </p></li> <li><p><see cref="F:SharpDX.DirectInput.EffectGuid.CustomForce" /> </p></li> </ul> </dd></param>
<param name="arg1"><dd> <see cref="T:SharpDX.DirectInput.EffectParameters" /> structure that provides parameters for the created effect. This parameter is optional. If it is <c>null</c>, the effect object is created without parameters. The application must then call the <see cref="M:SharpDX.DirectInput.Effect.SetParameters(SharpDX.DirectInput.EffectParameters)" /> method to set the parameters of the effect before it can download the effect. </dd></param>
<param name="arg2"><dd> Address of a variable to receive a reference to the <see cref="T:SharpDX.DirectInput.Effect" /> Interface interface if successful. </dd></param>
<param name="arg3"><dd> Controlling unknown for COM aggregation. The value is <c>null</c> if the interface is not aggregated. Most calling applications pass <c>null</c>. </dd></param>
<returns><p>If the method succeeds, the return value is <see cref="F:SharpDX.DirectInput.ResultCode.Ok" />. If the method fails, the return value can be one of the following error values: <see cref="F:SharpDX.DirectInput.ResultCode.DeviceFull" />, <see cref="F:SharpDX.DirectInput.ResultCode.DeviceNotRegistered" />,<see cref="F:SharpDX.DirectInput.ResultCode.InvalidParam" />, <see cref="F:SharpDX.DirectInput.ResultCode.NotInitialized" />.</p></returns>
<remarks>
<p>If the return value is <see cref="F:SharpDX.Result.Ok" />, the effect was created, and the parameters of the effect were updated, but the effect was not necessarily downloaded. For it to be downloaded, the device must be acquired in exclusive mode.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::CreateEffect']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.createeffect</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::CreateEffect([In] const GUID& arg0,[In] const DIEFFECT* arg1,[Out, Fast] IDirectInputEffect** arg2,[In] IUnknown* arg3)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::CreateEffect</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.EnumEffects(SharpDX.FunctionCallback,System.IntPtr,SharpDX.DirectInput.EffectType)">
<summary>
Enumerates all the effects supported by the force-feedback system on the device. The enumerated GUIDs can represent predefined effects, as well as effects peculiar to the device manufacturer.
</summary>
<param name="arg0"><dd> Address of an application-defined callback function. The declaration of this function must conform to that of the DIEnumEffectsCallback prototype. </dd></param>
<param name="arg1"><dd> A 32-bit application-defined value to be passed to the callback function. This parameter can be any 32-bit type; it is declared as LPVOID for convenience. </dd></param>
<param name="arg2"><dd> Effect type filter. Use one of the DIEFT_* values to indicate the effect type to be enumerated, or <see cref="F:SharpDX.DirectInput.EffectType.All" /> to enumerate all effect types. For a list of these values, see DIEffectInfo. </dd></param>
<returns><p>If the method succeeds, the return value is <see cref="F:SharpDX.DirectInput.ResultCode.Ok" />. If the method fails, the return value can be one of the following error values:</p><see cref="F:SharpDX.DirectInput.ResultCode.InvalidParam" /><see cref="F:SharpDX.DirectInput.ResultCode.NotInitialized" /></returns>
<remarks>
<p>If the callback stops the enumeration prematurely, the enumeration is considered to have succeeded.</p> <p>An application can use the dwEffType member of the DIEffectInfo structure to obtain general information about the effect, such as its type and which envelope and condition parameters are supported by the effect.</p> <p>To exploit an effect to its fullest, contact the device manufacturer to obtain information about the semantics of the effect and its effect-specific parameters.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::EnumEffects']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.enumeffects</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::EnumEffects([In] __function__stdcall* arg0,[In] void* arg1,[In] DIEFT arg2)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::EnumEffects</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.GetEffectInfo(System.Guid)">
<summary>
Obtains information about an effect.
</summary>
<param name="arg1"><dd> Reference to (C++) or address of (C) the globally unique identifier (<see cref="T:System.Guid" />) identifying the effect for which information is being requested. </dd></param>
<returns><dd> DIEffectInfo structure that receives information about the effect. The calling application must initialize the dwSize member of the structure before calling this method. </dd></returns>
<remarks>
<table><tr><th>Note </th></tr><tr><td>If this method is called on an non-Force Feedback device, E_POINTER will be returned.</td></tr></table>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::GetEffectInfo']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.geteffectinfo</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::GetEffectInfo([Out] DIEFFECTINFOW* arg0,[In] const GUID& arg1)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::GetEffectInfo</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.GetForceFeedbackState">
<summary>
Retrieves the state of the device's force-feedback system.
</summary>
<returns><dd> Location for flags that describe the current state of the device's force-feedback system. <p>The value is a combination of the following constants. </p> <dl> <dt><see cref="F:SharpDX.DirectInput.ForceFeedbackState.ActuatorsOff" /></dt> <dd>The device's force-feedback actuators are disabled. If the device cannot report the actuator state, neither <see cref="F:SharpDX.DirectInput.ForceFeedbackState.ActuatorsOn" /> nor <see cref="F:SharpDX.DirectInput.ForceFeedbackState.ActuatorsOff" /> is returned. </dd> <dt><see cref="F:SharpDX.DirectInput.ForceFeedbackState.ActuatorsOn" /></dt> <dd>The device's force-feedback actuators are enabled. If the device cannot report the actuator state, neither <see cref="F:SharpDX.DirectInput.ForceFeedbackState.ActuatorsOn" /> nor <see cref="F:SharpDX.DirectInput.ForceFeedbackState.ActuatorsOff" /> is returned. </dd> <dt><see cref="F:SharpDX.DirectInput.ForceFeedbackState.DeviceLost" /></dt> <dd>The device suffered an unexpected failure and is in an indeterminate state. It must be reset either by unacquiring and reacquiring the device, or by sending a <see cref="F:SharpDX.DirectInput.ForceFeedbackCommand.Reset" /> command. </dd> <dt><see cref="F:SharpDX.DirectInput.ForceFeedbackState.Empty" /></dt> <dd>The device has no downloaded effects. </dd> <dt><see cref="F:SharpDX.DirectInput.ForceFeedbackState.Paused" /></dt> <dd>Playback of all active effects has been paused. </dd> <dt><see cref="F:SharpDX.DirectInput.ForceFeedbackState.PowerOff" /></dt> <dd>The force-feedback system is not currently available. If the device cannot report the power state, neither <see cref="F:SharpDX.DirectInput.ForceFeedbackState.PowerOn" /> nor <see cref="F:SharpDX.DirectInput.ForceFeedbackState.PowerOff" /> is returned. </dd> <dt><see cref="F:SharpDX.DirectInput.ForceFeedbackState.PowerOn" /></dt> <dd>Power to the force-feedback system is currently available. If the device cannot report the power state, neither <see cref="F:SharpDX.DirectInput.ForceFeedbackState.PowerOn" /> nor <see cref="F:SharpDX.DirectInput.ForceFeedbackState.PowerOff" /> is returned. </dd> <dt><see cref="F:SharpDX.DirectInput.ForceFeedbackState.SafetySwitchOff" /></dt> <dd>The safety switch is currently off; that is, the device cannot operate. If the device cannot report the state of the safety switch, neither <see cref="F:SharpDX.DirectInput.ForceFeedbackState.SafetySwitchOn" /> nor <see cref="F:SharpDX.DirectInput.ForceFeedbackState.SafetySwitchOff" /> is returned. </dd> <dt><see cref="F:SharpDX.DirectInput.ForceFeedbackState.SafetySwitchOn" /></dt> <dd>The safety switch is currently on; that is, the device can operate. If the device cannot report the state of the safety switch, neither <see cref="F:SharpDX.DirectInput.ForceFeedbackState.SafetySwitchOn" /> nor <see cref="F:SharpDX.DirectInput.ForceFeedbackState.SafetySwitchOff" /> is returned. </dd> <dt><see cref="F:SharpDX.DirectInput.ForceFeedbackState.Stopped" /></dt> <dd>No effects are playing, and the device is not paused. </dd> <dt><see cref="F:SharpDX.DirectInput.ForceFeedbackState.UserSafetySwitchOff" /></dt> <dd>The user force-feedback switch is currently off; that is, the device cannot operate. If the device cannot report the state of the user force-feedback switch, neither <see cref="F:SharpDX.DirectInput.ForceFeedbackState.UserSafetySwitchOn" /> nor <see cref="F:SharpDX.DirectInput.ForceFeedbackState.UserSafetySwitchOff" /> is returned. </dd> <dt><see cref="F:SharpDX.DirectInput.ForceFeedbackState.UserSafetySwitchOn" /></dt> <dd>The user force-feedback switch is currently on; that is, the device can operate. If the device cannot report the state of the user force-feedback switch, neither <see cref="F:SharpDX.DirectInput.ForceFeedbackState.UserSafetySwitchOn" /> nor <see cref="F:SharpDX.DirectInput.ForceFeedbackState.UserSafetySwitchOff" /> is returned. </dd> </dl> <p> Applications should ignore any flags that are not currently defined. </p> </dd></returns>
<remarks>
<p>The device must be acquired at the exclusive cooperative level for this method to succeed.</p> <p>The <see cref="F:SharpDX.DirectInput.ForceFeedbackState.Paused" /> and <see cref="F:SharpDX.DirectInput.ForceFeedbackState.Stopped" /> flags may not always be reported correctly because there is no mechanism for the drivers to report that they support these flags. </p> <table><tr><th>Note </th></tr><tr><td>When calling <see cref="M:SharpDX.DirectInput.Device.GetForceFeedbackState" />, it is possible for the state of the device returned not to match the expected state. This might happen if commands recently sent by <see cref="M:SharpDX.DirectInput.Device.SendForceFeedbackCommand(SharpDX.DirectInput.ForceFeedbackCommand)" /> are still pending. Wait a short time and then check the device state again. </td></tr></table>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::GetForceFeedbackState']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.getforcefeedbackstate</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::GetForceFeedbackState([Out] DIGFFS* arg0)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::GetForceFeedbackState</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.SendForceFeedbackCommand(SharpDX.DirectInput.ForceFeedbackCommand)">
<summary>
Sends a command to the device's force-feedback system.
</summary>
<param name="arg0"><dd> Single value indicating the desired change in state. The value can be one of the following. <dl> <dt><see cref="F:SharpDX.DirectInput.ForceFeedbackCommand.Continue" /></dt> <dd>Paused playback of all active effects is to be continued. It is an error to send this command when the device is not in a paused state. </dd> <dt><see cref="F:SharpDX.DirectInput.ForceFeedbackCommand.Pause" /></dt> <dd>Playback of all active effects is to be paused. This command also stops the clock-on effects so that they continue playing to their full duration when restarted. <p>While the device is paused, new effects cannot be started, and existing ones cannot be modified. Doing so can cause the subsequent <see cref="F:SharpDX.DirectInput.ForceFeedbackCommand.Continue" /> command to fail to perform properly. </p> <p>To abandon a pause and stop all effects, use the <see cref="F:SharpDX.DirectInput.ForceFeedbackCommand.StopAll" /> or DISFCC_RESET commands. </p></dd> <dt><see cref="F:SharpDX.DirectInput.ForceFeedbackCommand.Reset" /></dt> <dd>The device's force-feedback system is to be put in its startup state. All effects are removed from the device, are no longer valid, and must be re-created if they are to be used again. The device's actuators are disabled. </dd> <dt><see cref="F:SharpDX.DirectInput.ForceFeedbackCommand.SetActuatorsOff" /></dt> <dd>The device's force-feedback actuators are to be disabled. While the actuators are off, effects continue to play but are ignored by the device. Using the analogy of a sound playback device, they are muted, rather than paused. </dd> <dt><see cref="F:SharpDX.DirectInput.ForceFeedbackCommand.SetActuatorsOn" /></dt> <dd>The device's force-feedback actuators are to be enabled. </dd> <dt><see cref="F:SharpDX.DirectInput.ForceFeedbackCommand.StopAll" /></dt> <dd>Playback of any active effects is to be stopped. All active effects are reset, but are still being maintained by the device and are still valid. If the device is in a paused state, that state is lost. This command is equivalent to calling the <see cref="M:SharpDX.DirectInput.Effect.Stop" /> method for each effect playing. </dd> </dl> </dd></param>
<returns><p>If the method succeeds, the return value is <see cref="F:SharpDX.DirectInput.ResultCode.Ok" />. If the method fails, the return value can be one of the following error values: <see cref="F:SharpDX.DirectInput.ResultCode.InputLost" />, <see cref="F:SharpDX.DirectInput.ResultCode.InvalidParam" />, <see cref="F:SharpDX.DirectInput.ResultCode.NotExclusiveAcquired" />, <see cref="F:SharpDX.DirectInput.ResultCode.NotInitialized" />, <see cref="F:SharpDX.DirectInput.ResultCode.Unsupported" />.</p></returns>
<remarks>
<p>The device must be acquired at the exclusive cooperative level for this method to succeed.</p> <table><tr><th>Note </th></tr><tr><td>When calling <see cref="M:SharpDX.DirectInput.Device.GetForceFeedbackState" />, it is possible for the state of the device returned not to match the expected state. This might happen if commands recently sent by <see cref="M:SharpDX.DirectInput.Device.SendForceFeedbackCommand(SharpDX.DirectInput.ForceFeedbackCommand)" /> are still pending. Wait a short time and then check the device state again. </td></tr></table>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::SendForceFeedbackCommand']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.sendforcefeedbackcommand</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::SendForceFeedbackCommand([In] DISFFC arg0)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::SendForceFeedbackCommand</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.EnumCreatedEffectObjects(SharpDX.FunctionCallback,System.IntPtr,System.Int32)">
<summary>
Enumerates all the currently created effects for this device. Effects created byIDirectInputDevice8::CreateEffectare enumerated.
</summary>
<param name="arg0">No documentation.</param>
<param name="arg1">No documentation.</param>
<param name="arg2">No documentation.</param>
<returns><p>If the method succeeds, the return value is <see cref="F:SharpDX.DirectInput.ResultCode.Ok" />. If the method fails, the return value can be one of the following error values: <see cref="F:SharpDX.DirectInput.ResultCode.InvalidParam" />, <see cref="F:SharpDX.DirectInput.ResultCode.NotInitialized" />.</p></returns>
<remarks>
<p>The results are unpredictable if you create or destroy an effect while an enumeration is in progress. However, the callback function can safely release the effect passed to it.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::EnumCreatedEffectObjects']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.enumcreatedeffectobjects</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::EnumCreatedEffectObjects([In] __function__stdcall* arg0,[In] void* arg1,[In] unsigned int arg2)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::EnumCreatedEffectObjects</unmanaged-short>
</member>
<member name="M:SharpDX.DirectInput.Device.Escape(SharpDX.DirectInput.EffectEscape@)">
<summary>
Sends a hardware-specific command to the force-feedback driver.
</summary>
<param name="arg0"><dd> <see cref="T:SharpDX.DirectInput.EffectEscape" /> structure that describes the command to be sent. On success, the cbOutBuffer member contains the number of bytes of the output buffer actually used. </dd></param>
<returns><p>If the method succeeds, the return value is <see cref="F:SharpDX.DirectInput.ResultCode.Ok" />. If the method fails, the return value can be one of the following error values: <see cref="F:SharpDX.DirectInput.ResultCode.DeviceFull" />, <see cref="F:SharpDX.DirectInput.ResultCode.NotInitialized" />.</p></returns>
<remarks>
<p>Other device-specific error codes are also possible. Ask the hardware manufacturer for details.</p> <p>Because each driver implements different escapes, it is the application's responsibility to ensure that it is sending the escape to the correct driver by comparing the value of the guidFFDriver member of the <see cref="T:SharpDX.DirectInput.DeviceInstance" /> structure against the value the application is expecting.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><include file=".\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDirectInputDevice8W::Escape']/*" />
<msdn-id>microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.escape</msdn-id>
<unmanaged>HRESULT IDirectInputDevice8W::Escape([In] DIEFFESCAPE* arg0)</unmanaged>
<unmanaged-short>IDirectInputDevice8W::Escape</unmanaged-short>