"SlimDX" Tests if the controller is currently connected. Wireless controllers are not considered active upon system startup, and calls to any of the XInput functions before a wireless controller is made active return ERROR_DEVICE_NOT_CONNECTED. Game titles must examine the return code and be prepared to handle this condition. Wired controllers are automatically activated when they are inserted. Wireless controllers are activated when the user presses the START or Xbox Guide button to power on the controller. Gets information on the controllers battery. Input flags that identify the device type. Out reference to BatteryInformation structure that receives the battery status information. Retrieves a gamepad input event. Input flags that identify the device type. Out reference to KeyStroke structure that receives an input event. False if no new keys have been pressed. Retrieves the sound rendering and sound capture device GUIDs that are associated with the headset connected to the specified controller. Out reference to Guid structure that receives the GUID of the headset sound rendering device. Out reference to Guid structure that receives the GUID of the headset sound capture device. Retrieves the capabilities and features of a connected controller. Input flags that identify the device type. Out reference to Capabilities structure that receives the controller capabilities. Sends data to a connected controller. This function is used to activate the vibration function of a controller. Reference structure containing the vibration information to send to the controller. Retrieves the current state of the specified controller. Out reference to State structure that receives the current state of the controller. Initializes a new instance of Controller Index of the user's controller. Index of the signed-in gamer associated with the device. Devices that support batteries. Flags that identify the device type. The amount of charge remaining in the battery. These are only valid for wireless, connected devices, with known battery types. The amount of use time remaining depends on the type of device. Flags for battery type Vibration structure that describes available vibration functionality and resolutions. GamePad structure that describes available controller features and control resolutions. Features of the controller. Subtype of the game controller. Controller type. Describes the capabilities of a connected controller. Sets the structure members to indicate which inputs the device supports. For binary state controls, such as digital buttons, the corresponding bit reflects whether or not the control is supported by the device. For proportional controls, such as thumbsticks, the value indicates the resolution for that control. Some number of the least significant bits may not be set, indicating that the control does not provide resolution to that level. Features of the controller. The device has an integrated voice device. Subtype of the game controller. Controller type. The device is a game controller. GamePad structure containing the current state of an Xbox 360 Controller. State packet number. The packet number indicates whether there have been any changes in the state of the controller. If the PacketNumber member is the same in sequentially returned State structures, the controller state has not changed. Represents the state of a controller. HID code corresponding to the input. If there is no corresponding HID code, this value is zero. Index of the signed-in gamer associated with the device. Can be a value in the range 0–3. Combination of flags that indicate the keyboard state at the time of the input event. Unused and should be zero. Virtual-key code of the key, button, or stick movement. Specifies keystroke data returned by Controller.GetKeystroke Controller input virtual key codes Flags that indicate the keyboard state at the time of the input event. This constantmay be used as the value which LeftTrigger and RightTrigger must be greater than to register as pressed. Can be used as a positive and negative value to filter the right thumbstick input. Can be used as a positive and negative value to filter the left thumbstick input. Right thumbstick y-axis value. The value is between -32768 and 32767. Right thumbstick x-axis value. The value is between -32768 and 32767. Left thumbstick y-axis value. The value is between -32768 and 32767. Right thumbstick y-axis value. The value is between -32768 and 32767. The current value of the right trigger analog control. The value is between 0 and 255. The current value of the left trigger analog control. The value is between 0 and 255. Bitmask of the device digital buttons Describes the current state of the Xbox 360 Controller. Each of the thumbstick axis members is a signed value between -32768 and 32767 describing the position of the thumbstick. A value of 0 is centered. Negative values signify down or to the left. Positive values signify up or to the right. The constants GamepadLeftThumbDeadZone or GamepadRightThumbDeadZone can be used as a positive and negative value to filter a thumbstick input. Bitmask of the device digital buttons Speed of the right motor. Valid values are in the range 0 to 65,535. Zero signifies no motor use; 65,535 signifies 100 percent motor use. Speed of the left motor. Valid values are in the range 0 to 65,535. Zero signifies no motor use; 65,535 signifies 100 percent motor use. Specifies motor speed levels for the vibration function of a controller. The left motor is the low-frequency rumble motor. The right motor is the high-frequency rumble motor. The two motors are not the same, and they create different vibration effects. Uses a user-provided function to fill each texel of each mip level of a given texture. A function that uses the signature of the Fill2DCallback delegate. Uses a user-provided function to fill each texel of each mip level of a given texture. A function that uses the signature of the Fill2DCallback delegate. Function to save the texture to a file. Filename and path for the texture. File format used to encode the image. Function to save the texture to a file. Filename and path for the texture. File format used to encode the image. Function to save the texture to a stream. File format used to encode the image. A graphics stream containing the texture data. Function to save the texture to a stream. File format used to encode the image. A graphics stream containing the texture data. Checks texture-creation parameters. Device associated with the texture. Requested width of the texture. Requested height of the texture. Requested number of mip-map levels for the texture. Usage.None or Usage.RenderTarget. Requested format for the texture. Memory class where the resource will be placed. A value type containing the proposed values to pass to the texture creation functions. Checks texture-creation parameters. Device associated with the texture. Requested width of the texture. Requested height of the texture. Requested number of mip-map levels for the texture. Usage.None or Usage.RenderTarget. Requested format for the texture. Memory class where the resource will be placed. A value type containing the proposed values to pass to the texture creation functions. Proposed number of mip-map levels for the texture. Proposed format of the texture. Proposed depth of the texture. Proposed height of the texture. Proposed width of the texture. Proposed number of mip-map levels for the texture. Proposed format of the texture. Proposed size of the texture. Proposed number of mip-map levels for the texture. Proposed format of the texture. Proposed height of the texture. Proposed width of the texture. Callback function used by FillTexture. Texture coordinate being sampled. Dimensions of the texel. A 4 dimensional vector, representing a color value. X maps to R, G to Y, etc... Function to extract image information from a stream. Stream containing the image. Information about the image. Function to extract image information from a stream. Stream containing the image. Information about the image. Function to extract image information from a stream. Stream containing the image. TRUE to preserve the stream position, FALSE will move the stream pointer. Information about the image. Function to extract image information from a stream. Stream containing the image. TRUE to preserve the stream position, FALSE will move the stream pointer. Information about the image. Occurs when the device is lost. Occurs when the device's data buffer overflows. Obtains information about the device's identity. Gets the capabilities of the device. Gets a set of properties that control the behavior of the device. Retrieves data from polled objects on a DirectInput device. Retrieves buffered data from the device. Retrieves the current device state. 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. The parent control. 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. Sets the device's cooperative level. A control to associate with the device. Flags that describe the cooperative level of the device. Sets the device's cooperative level. A handle of a window to associate with the device. Flags that describe the cooperative level of the device. Releases access to the device. Obtains access to the input device. Disposes of managed and unmanaged resources contained by this class. Initializes a new instance of the class. The subsystem identifier. Initializes a new instance of the class. A pointer to an unmanaged DirectInput device. Used 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 open a device's control panel. Gets the application-defined action value assigned to this object using action mapping. Gets the DirectInput sequence number for the event. All input events are assigned an increasing sequence number. Gets the system time at which the input event was generated, in milliseconds. This value wraps around approximately every 50 days. Gets or sets the data obtained from or sent to the device. For axis input, the data reflects the absolute or relative mode of the object. Disposes of managed resources. Disposes of unmanaged resources. Initializes a new instance of the class. Initializes a new instance of the class. Contains buffered device information. Japanese J3100 keyboard. Japanese AX keyboard. Japanese 106-key keyboard. Japanese NEC PC98 106-key keyboard. Japanese NEC PC98 laptop keyboard. Japanse NEC PC98 keyboard. Nokia 9140 keyboard. Nokia 1050 keyboard. IBM PC Enhanced 101/102-key keyboard or Microsoft Natural keyboard. IBM PC/AT 84-key keyboard. Olivetti 102-key keyboard. IBM PC/XT 83-key keyboard. Standard game pad that provides the minimum number of objects for action mapping. A yoke for flight simulators. A joystick for flight simulators. Flight device based upon a remote control for model aircraft. Steering device that reports acceleration, break, and clutch pedal values from separate axes. Hand-held steering device. Steering device that reports accelerations and break pedal values from separate axes. Steering device that reports accelerations and break pedal values from a single axis. Unknown subtype for a control device. Device that must use its default configuration and cannot be remapped. Control used to make communications selections. Device with six degrees of freedom; that is, three lateral axes and three rotation axes. Device designed for first-person person shooter games. Unknown subtype for a first-person device. A device that does not provide the minimum number of device objects for action mapping. Specifies the sub type of a DirectInput device. Gets a value indicating whether the device is a Human Interface Device. Gets the hardware revision number. Gets the firmware revision number. Gets the driver version number. Gets the minimum time, in microseconds, that the device can resolve. The device rounds any times to the nearest supported increment. Gets the minimum time between playback of consecutive raw force commands, in microseconds. Gets the number of Point-Of-View controllers available on the device. Gets the number of buttons available on the device. Gets the number of axes available on the device. Gets the device sub-type specifier. Gets the device type specifier. Gets the flags associated with the device. Describes a DirectInput device's capabilities. Gets a value indicating whether the device is a Human Interface Device. If the device is a Human Interface Device, this member contains the HID usage page code. If the device is a Human Interface Device, this member contains the HID usage code. Gets the friendly name for the product. Gets the friendly name for the instance. Gets the secondary device type specifier. Gets the main device type specifier. Gets the unique identifier for the driver being used for force-feedback. The driver's manufacturer establishes this identifier. Gets the unique identifier for the product. This identifier is established by the manufacturer of the device. Gets the unique identifier for the instance of the device. Instance Guids are specific to a particular computer. Contains information about a device's identity. Gets or sets extra flags for the object data format. Gets or sets the device type that describes the object. Gets or sets the object instance number. Setting this value to -1 indicates that any object instance is permissible. Gets or sets the unique identifier for the axis, button, or other input source. When requesting a data format, making this member equal to indicates that any type of object is permissible. Initializes a new instance of the class. Indicates that a type is a data format specification for DirectInput. Gets or sets the flags describing other attributes of the data format. Initializes a new instance of the class. Indicates that a type is a data format specification for DirectInput. Gets the state of the mouse buttons. Gets the Z axis of the mouse. Gets the Y axis of the mouse. Gets the X axis of the mouse. Describes the state of a mouse device. Gets the state of the specified key. Describes the state of a keyboard device. Gets the Z-axis torque. Gets the Y-axis torque. Gets the X-axis torque. Gets the Z-axis force. Gets the Y-axis force. Gets the X-axis force. Gets the Z-axis angular acceleration. Gets the Y-axis angular acceleration. Gets the X-axis angular acceleration. Gets the Z-axis acceleration. Gets the Y-axis acceleration. Gets the X-axis acceleration. Gets the Z-axis angular velocity. Gets the Y-axis angular velocity. Gets the X-axis angular velocity. Gets the Z-axis velocity. Gets the Y-axis velocity. Gets the X-axis velocity. Gets the Z-axis rotation. Gets the Y-axis rotation. Gets the X-axis rotation. Gets the Z-axis, often the throttle control. Gets the Y-axis, usually the forward-backward movement of a stick. Gets the X-axis, usually the left-right movement of a stick. Gets the state of each button on the joystick. Gets the force of each slider on the joystick. Gets the acceleration of each slider on the joystick. Gets the velocity of each slider on the joystick. Gets the position of each slider on the joystick. Gets the state of each point-of-view controller on the joystick. Describes the state of a joystick device. Retrieves the instance identifier of a device that has been newly attached to the system. Gets a value indicating whether the specified device is attached to the user's system. Runs Control Panel to enable the user to install a new input device or modify configurations. The parent control. Runs Control Panel to enable the user to install a new input device or modify configurations. Called by the application to release DirectInput and free resources. Called by the application to initialize DirectInput. This method must be called before any other DirectInput methods. Provides an interface to DirectInput. Contains system-defined identifiers for device objects. Gets the system mouse identifier. Gets the system keyboard identifier. Contains system-defined identifiers for DirectInput devices. Checks the specified result code. If it specifies an error, an exception matching that error will be thrown. The result code. The data key. The data value. Checks the specified result code. If it specifies an error, an exception matching that error will be thrown. The result code. Retrieves the exception that corresponds to the specified result code. The result code. Gets or sets the last error code. Initializes a new instance of the class. Serialization information. Streaming context information. Initializes a new instance of the class. The error message. The wrapped exception. Initializes a new instance of the class. The DirectInput error code. The error message. Initializes a new instance of the class. The DirectInput error code. Initializes a new instance of the class. The error message. Initializes a new instance of the class. Initializes the class. Provides standard access to all DirectInput exceptions, errors, and result codes. Gets the range of data returned from axis as suggested by the manufacturer. Gets the range of raw data returned from the object. Gets or sets the saturation zone of the object. Gets the lower range of values that the object can possibly report. Gets the upper range of values that the object can possibly report. Gets the granularity of the object. Gets or sets the dead zone for the object. Gets or sets an application-defined value associated with the object. Sets the object's data range. Contains properties that define object behavior. Gets the product identifer. Gets the vendor identifier. Gets the user name for a user currently assigned to the device. Gets the type name of the device. Gets or sets the saturation zone of a joystick device. Gets or sets the lower range of values that the device can possibly report. Gets or sets the upper range of values that the device can possibly report. Gets or sets the friendly product name of the device. Gets the instance number of a joystick device. Gets or sets the friendly instance name of the device. Gets the physical interface path to which the device is connected. Gets the class identifier for the device. Gets the input granularity for the device. Gets the human-readable display name of the port to which the device is connected. Gets the memory load for the device. Gets or sets the gain of the device for force-feedback effects. Gets or sets the dead zone for a joystick device. Gets or sets the buffer input size. Gets or sets the axis mode for the device. Gets or sets a value indicating whether device objects are self centering. Gets or sets an application-defined value associated with the device. Sets the data range for the device. Retrieves the scan code for the specified keyboard key. Retrieves the localized key name for the specified keyboard key. Contains properties that define device behavior. These properties include input buffer size and axis mode. Defines possible keyboard key codes. The Japanese Yen key. The Web Stop key. The Web Search key. The Web Refresh key. The Web Home key. The Web Forwards key. The Web Favorites key. The Web Backwards key. The Wake key. The Volume Up key. The Volume Down key. The Up Arrow key. An unlabeled key. The Japanese Underline key. The Tab key. The Print Screen key. The Stop key. The Spacebar. The Sleep key. The slash key. The semicolon key. The Scroll Lock key. The right Windows key. The right Shift key. The right Alt key. The Right Arrow key. The Return/Enter key. The right Ctrl key. The right square bracket key. The Previous Track key. The Power key. The Play/Pause key. The period key. The Pause key. The Page Up key. The Page Down key. The British and German OEM102 key. The asterisk key on the NumberPad. The slash key on the NumberPad. The plus key on the NumberPad. The period key on the NumberPad. The minus key on the NumberPad. The equals key on the NumberPad. The Enter key on the NumberPad. The comma key on the NumberPad. The number 9 on the NumberPad. The number 8 on the NumberPad. The number 7 on the NumberPad. The number 6 on the NumberPad. The number 5 on the NumberPad. The number 4 on the NumberPad. The number 3 on the NumberPad. The number 2 on the NumberPad. The number 1 on the NumberPad. The number 0 on the NumberPad. The NumberLock key. The Japanese No Convert key. The Next Track key. The My Computer key. The Mute key. The minus key. The Media Stop key. The Media Select key. The Mail key. The left Windows key. The left Shift key. The left Alt key. The Left Arrow key. The left Ctrl key. The left square bracket key. The Japanese Kanji key. The Japanese Kana key. The Insert key. The Home key. The grav accent (`) key. The F15 key. The F14 key. The F13 key. The F12 key. The F11 key. The F10 key. The F9 key. The F8 key. The F7 key. The F6 key. The F5 key. The F4 key. The F3 key. The F2 key. The F1 key. The Escape key. The equals key. The End key. The Down Arrow key. The Delete key. The Japanese Convert key. The comma key. The colon key. The Caps Lock key. The calculator key. The back slash key. The BackSpace. The Japanese Ax key. The Japanese At key. The Applications key. The apostrophe key. The AbntC2 key on Brazillian keyboards. The AbntC1 key on Brazillian keyboards. The letter Z. The letter Y. The letter X. The letter W. The letter V. The letter U. The letter T. The letter S. The letter R. The letter Q. The letter P. The letter O. The letter N. The letter M. The letter L. The letter K. The letter J. The letter I. The letter H. The letter G. The letter F. The letter E. The letter D. The letter C. The letter B. The letter A. The number 9. The number 8. The number 7. The number 6. The number 5. The number 4. The number 3. The number 2. The number 1. The number 0. Defines possible mouse object codes. The Z axis. The Y axis. The X axis. The eighth button. The seventh button. The sixth button. The fifth button. The fourth button. The third button. The second button. The first button. Refers to any button. Refers to any point-of-view controller. Refers to any point-of-view controller. Refers to any point-of-view controller. Refers to any point-of-view controller. Refers to any z-axis. Refers to any z-axis. Refers to any y-axis. Refers to any y-axis. Refers to any x-axis. Refers to any x-axis. Refers to any v-axis. Refers to any v-axis. Refers to any u-axis. Refers to any u-axis. Refers to any s-axis. Refers to any s-axis. Refers to any r-axis. Refers to any r-axis. Refers to any clutch. Refers to any clutch. Refers to any brake. Refers to any brake. Refers to any accelerator. Refers to any accelerator. Refers to any axis. Refers to any axis. Refers to any axis. Defines object codes that refer to any control type on a device. Provides scan codes for the specified Point-Of-View controller. Provides scan codes for the specified slider. Provides scan codes for the specified button. The rotational X axis. The rotational X axis. The rotational X axis. The rotational X axis. The rotational X axis. The rotational X axis. Defines possible joystick object codes. The data format for a DirectInput device. Joystick data. Mouse data. Keyboard data. Specifies the cooperative level for a DirectInput device. Disables the Windows logo key. Background operation of the device. Foreground operation of the device. Non exclusive access to the device. Exclusive access to the device. Specifies the flags that can be associated with a DirectInput device. The force-feedback system supports the start delay parameter for at least one effect. The force-feedback system supports the saturation of condition effects for at least one condition. The force-feedback system supports a maximum saturation for both positive and negative force output for at least one condition. The force-feedback system supports two coefficient values for conditions. At least one object on the device is polled, rather than interrupt driven. At least one object in the current data format is polled, rather than interrupt driven. The device is a placeholder. The device is a fictious device created by a device driver so that is can generate mouse and keyboard events. The force-feedback system supports the attack parameter for at least one effect. The force-feedback system supports the fade parameter for at least one effect. The device supports force-feedback. Specifies that the device's data is coming from a user mode device interface. The device supports deadband for at least one force-feedback condition. The device is physically attached to the user's computer. The device is a duplicate of another DirectInput device. Specifies the main type of a DirectInput device. A specialized device with functionality unsuitable for main control of an application, such as pedals with a wheel. A screen pointer device. A remote-control device. A mouse or mouse-like device. A keyboard or keyboard-like device. A generic joystick. A console game pad. Controller for a flight simulation. A device for steering. Input device used to control another type of device from within the context of the application. A device that does not fall into any other category. A first-person action game device. Specifies other attributes of a data format. The axes are in relative mode. The axes are in absolute mode. Specifies other attributes of an object data format. The object must report velocity information. The object must report position information. The object must report force information. The object must report acceleration information. No extra flags specified. Specifies the device type of an object data format. The object must be a type defined by the manufacturer. The object must be a toggle button. The object must be a push button. The object must be a Point-Of-View controller. The object must be a valid force-feedback effect trigger. The object must contain a force-feedback actuator. The object must be a toggle or push button. The object must be a relative axis. The object must be an absolute or relative axis. The object must be an absolute axis. Specifies the axis mode for the device. The axis works with relative data. The axis works with absolute data. Tests the device to see if it supports conversion from one display format to another. Index of the adapter to use. One of the DeviceType members. Format to convert from. Format to convert into. TRUE if successful, FALSE if not. Tests the device to see if it supports conversion from one display format to another. Index of the adapter to use. One of the DeviceType members. Format to convert from. Format to convert into. TRUE if successful, FALSE if not. Tests the device to see if it supports conversion from one display format to another. Index of the adapter to use. One of the DeviceType members. Format to convert from. Format to convert into. 0 if successful. Otherwise an HRESULT error code for the function. TRUE if successful, FALSE if not. Tests the device to see if it supports conversion from one display format to another. Index of the adapter to use. One of the DeviceType members. Format to convert from. Format to convert into. 0 if successful. Otherwise an HRESULT error code for the function. TRUE if successful, FALSE if not. ZBuffer usage types. Used to enable a W-buffer. Used to disable the depth buffer. Used to enable the depth buffer. Stencil operations. Decrement the stencil value. Increment the stencil value. Invert the stencil value. Decrement and clamp stencil value. Increment and clamp stencil value. Replace the stencil value. Zero the stencil value. Keep the stencil value. Comparison operations. Always accept. Accept if greater than or equal Accept if not equal. Accept if greater than. Accept if equal or less than. Accept if equal. Accept if less than. Never accept Shading modes. Gouraud shading. Flat shading. Gets the height of the texture in texels. Gets the width of the texture in texels. Gets the resource's dimension (type). Gets or sets the resource's eviction priority. @TODO D3D10: Not so sure about this. Can this be moved to the shared utils? Function to convert a standard RECT to a GDI+ rectangle. RECT to convert. A GDI+ rectangle structure. Function to convert a standard RECT to a GDI+ rectangle. RECT to convert. A GDI+ rectangle structure. Function to convert a GDI+ rectangle to a standard RECT. Rectangle to convert. Output rectangle. Function to convert a GDI+ rectangle to a standard RECT. Rectangle to convert. Output rectangle.