#pragma once

class IKpiConfigEnumerator;
class IKpiConfig;

class KbAsioConfig
{
public:
    IKpiConfig *m_pConfig;
    wchar_t     m_szSectionName[256+128];
public:
    //static void __fastcall GetSectionName(wchar_t *pszSectionName, int nSize,
    //                                      const wchar_t *cszDeviceName, 
    //                                      const wchar_t *cszId);
    DWORD __fastcall GetSilence(void);
    int   __fastcall GetDsdMode(void);
    KbAsioConfig(IKpiConfig *pConfig, 
                 const wchar_t *cszDeviceName, const wchar_t *cszId);
    ~KbAsioConfig(void);
};
BOOL  __fastcall kbasio_EnumConfig(IKpiConfigEnumerator *pEnumerator); //設定情報の列挙
DWORD __fastcall kbasio_ApplyConfig(IKpiConfig *pConfig,
                               const wchar_t *cszSection,//セクション名
                               const wchar_t *cszKey,    //キー名
                               INT64  nValue, //変更後の値(BOOL/INT の場合)
                               double dValue, //変更後の値(FLOAT の場合)
                               const wchar_t *cszValue);////変更後の値(文字列)
