///////////////////////////////////////////////////////////////////////////////////////////
// DirectInputEnum.cpp
//
//  Implementation of the CallEnumDevicesBySemantics unmanaged function, which is a
// helper function for DirectInput::EnumDevices.

#include "StdAfx.h"

#pragma unmanaged
// Helper function for calling EnumDevicesBySemantics from managed code.
extern "C" HRESULT CallEnumDevicesBySemantics(IDirectInput8 *pDI,
                                           LPCTSTR lpsz, DIACTIONFORMAT *pDIAF,
                                           LPDIENUMDEVICESBYSEMANTICSCB pCallback,
                                           LPVOID pvRef, DWORD dwFlags)
{
    return pDI->EnumDevicesBySemantics(lpsz, pDIAF, pCallback, pvRef, dwFlags);
}

// Helper function for calling ConfigureDevices from managed code.
extern "C" HRESULT CallConfigureDevices(IDirectInput8 *pDI, 
                                        LPDICONFIGUREDEVICESCALLBACK pCallback, 
                                        LPDICONFIGUREDEVICESPARAMS lpdiCDParams, DWORD dwFlags, LPVOID pvRef)
{
    return pDI->ConfigureDevices(pCallback, lpdiCDParams, dwFlags, pvRef);
}