Contains information for the device configuration property sheet. It is used by the IDirectInput8::ConfigureDevices method.


    DWORD dwSize;
    DWORD dwcUsers;
    LPTSTR lptszUserNames;
    DWORD dwcFormats;
    HWND hwnd;
    DICOLORSET dics;
    IUnknown * lpUnkDDSTarget;


  • dwSize
    Size of this structure, in bytes.

  • dwcUsers
    Count of user names in the buffer at lptszUserNames. If lptszUserNames is NULL (to indicate that default user names should be used), the value in this member is ignored. If the dwcUsers value exceeds the number of entries actually in the buffer, the method fails, returning DIERR_INVALIDPARAM.

  • lptszUserNames
    Pointer to a buffer containing a series of null-terminated name strings, the final element being designated by a double-null terminator. The lptszUserNames parameter can be set to NULL to instruct the use of default names. If the application passes more names than the dwcUsers count indicates, only the names within the count are used. If an application specifies names that are different from the names currently assigned to devices, ownership is revoked for all devices, a default name is created for the mismatched name, and the interface shows (No User) for all devices.

  • dwcFormats
    Count of structures in the array at lprgFormats.

  • lprgFormats
    Pointer to an array of DIACTIONFORMAT structures that contains action-mapping information for each genre used by the game. On input, this array contains action-to-control mappings and strings to display as callouts for each mapping. The configuration interface displays the genres in its drop-down list in the same order as in the array.

  • hwnd
    Handle to the top-level window of the calling application. The member is needed only for applications that run in windowed mode and is otherwise ignored.

  • dics
    DICOLORSET structure that describes the color scheme to apply to the configuration user interface. Passing a zero-initialized DICOLORSET structure causes the default color scheme to be used.

  • lpUnkDDSTarget
    Pointer to the IUnknown interface for a Microsoft DirectDraw or Direct3D target surface object that will be filled to contain an image of the configuration user interface. The image represents the current state of the user interface at the time that the DIEnumDevicesBySemanticsCallback function is invoked. The target surface will retain any alpha information passed as part of the DICOLORSET structure above, and also any alpha information encoded into the device image by the hardware manufacturer. The target surface object referred to by the IUnknown interface must support either IDirect3DSurface8, IDirectDrawSurface7 or IDirectDrawSurface4. The IDirect3DSurface9 interface is not supported. For more information, see IDirectInput8::ConfigureDevices. Full-screen applications using DirectDraw must have target surfaces created using the DDSCAPS_SYSTEMEMORY flag.

    Applications that are not using DirectDraw and applications that are using DirectDraw but are windowed rather than using the full screen may pass NULL in this parameter. This will cause DirectInput to use the Windows Graphics Device Interface (GDI) functions to draw the configuration user interface image. Passing NULL when using IDirect3DSurface9 surfaces will fail. For more information, see Remarks in IDirectInput8::ConfigureDevices.