• 大小: 745KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: 其他
  • 标签: foobar2000  

资源简介

foobar2000源代码,最新版本,研究音频播放的好东西。foobar2000源代码,最新版本,研究音频播放的好东西。foobar2000源代码,最新版本,研究音频播放的好东西。foobar2000源代码,最新版本,研究音频播放的好东西。foobar2000源代码,最新版本,研究音频播放的好东西。foobar2000源代码,最新版本,研究音频播放的好东西。

资源截图

代码片段和文件信息

#include “stdafx.h“
#include  // CLSID_AutoComplete
#include “../helpers/COM_utils.h“
#include “../helpers/dropdown_helper.h“


namespace {

class CEnumString : public IEnumString {
public:
typedef pfc::chain_list_v2_t > t_data;
CEnumString(const t_data & in) : m_data(in) {m_walk = m_data.first();}
CEnumString() {}

void AddString(const TCHAR * in) {
m_data.insert_last()->set_data_fromptr(in _tcslen(in) + 1);
m_walk = m_data.first();
}
void AddStringU(const char * in t_size len) {
pfc::array_t & arr = * m_data.insert_last();
arr.set_size( pfc::stringcvt::estimate_utf8_to_wide( in len ) );
pfc::stringcvt::convert_utf8_to_wide( arr.get_ptr() arr.get_size() in len);
m_walk = m_data.first();
}
void AddStringU(const char * in) {
pfc::array_t & arr = * m_data.insert_last();
arr.set_size( pfc::stringcvt::estimate_utf8_to_wide( in ) );
pfc::stringcvt::convert_utf8_to_wide_unchecked( arr.get_ptr() in );
m_walk = m_data.first();
}
void ResetStrings() {m_walk.invalidate(); m_data.remove_all();}

typedef ImplementCOMRefCounter TImpl;
COM_QI_BEGIN()
COM_QI_ENTRY(IUnknown)
COM_QI_ENTRY(IEnumString)
COM_QI_END()

    HRESULT STDMETHODCALLTYPE Next( ULONG celt LPOLESTR *rgelt ULONG *pceltFetched)  {
if (rgelt == NULL) return E_INVALIDARG;
ULONG done = 0;
while( done < celt && m_walk.is_valid()) {
rgelt[done] = CoStrDup(m_walk->get_ptr());
++m_walk; ++done;
}
if (pceltFetched != NULL) *pceltFetched = done;
return done == celt ? S_OK : S_FALSE;
}

static TCHAR * CoStrDup(const TCHAR * in) {
const size_t lenBytes = (_tcslen(in) + 1) * sizeof(TCHAR);
TCHAR * out = reinterpret_cast(CoTaskMemAlloc(lenBytes));
if (out) memcpy(out in lenBytes);
return out;
}
    
HRESULT STDMETHODCALLTYPE Skip(ULONG celt) {
while(celt > 0) {
if (m_walk.is_empty()) return S_FALSE;
--celt; ++m_walk;
}
return S_OK;
}
    
HRESULT STDMETHODCALLTYPE Reset() {
m_walk = m_data.first();
return S_OK;
}
    
HRESULT STDMETHODCALLTYPE Clone(IEnumString **ppenum) {
*ppenum = new TImpl(*this); return S_OK;
}
private:
t_data m_data;
t_data::const_iterator m_walk;
};
class CACList_History : public CEnumString {
public:
CACList_History(cfg_dropdown_history_mt * var) : m_var(var) {Reset();}
typedef ImplementCOMRefCounter TImpl;

HRESULT STDMETHODCALLTYPE Reset() {
/*if (core_api::assert_main_thread())*/ {
ResetStrings();
pfc::string8 state; m_var->get_state(state);
for(const char * walk = state;;) {
const char * next = strchr(walk cfg_dropdown_history_mt::separator);
t_size len = (next != NULL) ? next - walk : ~0;
AddStringU(walk len);
if (next == NULL) break;
walk = next + 1;
}
}
return __super::Reset();
}

HRESULT STDMETHODCALLTYPE Clone(IEnumString **ppenum) {
*ppenum = new T

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       25416  2017-10-09 13:59  sdk-readme.css
     文件       44890  2018-01-11 11:12  sdk-readme.html
     目录           0  2018-03-06 15:59  foobar2000\
     目录           0  2018-03-06 15:59  foobar2000\ATLHelpers\
     文件         463  2018-01-04 12:47  foobar2000\ATLHelpers\ATLHelpers.h
     文件         291  2017-10-09 13:59  foobar2000\ATLHelpers\ATLHelpersLean.h
     文件        5968  2017-10-09 13:59  foobar2000\ATLHelpers\AutoComplete.cpp
     文件         839  2017-10-09 13:59  foobar2000\ATLHelpers\AutoComplete.h
     文件        2444  2017-12-04 11:45  foobar2000\ATLHelpers\BumpableElem.h
     文件        5712  2018-02-05 10:00  foobar2000\ATLHelpers\CButtonLite.h
     文件        4885  2017-10-09 13:59  foobar2000\ATLHelpers\CDialogResizeHelper.cpp
     文件        2288  2017-10-09 13:59  foobar2000\ATLHelpers\CDialogResizeHelper.h
     文件         142  2017-10-09 13:59  foobar2000\ATLHelpers\CEditWithButtons.cpp
     文件        9524  2018-02-05 10:01  foobar2000\ATLHelpers\CEditWithButtons.h
     文件        1542  2017-10-09 13:59  foobar2000\ATLHelpers\CFlashWindow.h
     文件        1313  2017-11-22 07:02  foobar2000\ATLHelpers\CIconOverlayWindow.h
     文件        8905  2017-12-04 11:41  foobar2000\ATLHelpers\CMiddleDragImpl.h
     文件        3881  2017-10-09 13:59  foobar2000\ATLHelpers\Controls.h
     文件        6589  2018-03-06 16:00  foobar2000\ATLHelpers\foobar2000_ATL_helpers.vcxproj
     文件        3528  2018-02-22 15:39  foobar2000\ATLHelpers\foobar2000_ATL_helpers.vcxproj.filters
     文件        6439  2017-11-22 10:33  foobar2000\ATLHelpers\GDIUtils.h
     文件       13797  2018-01-03 15:00  foobar2000\ATLHelpers\inplace_edit.cpp
     文件        4663  2017-10-09 13:59  foobar2000\ATLHelpers\inplace_edit.h
     文件        5106  2017-10-09 13:59  foobar2000\ATLHelpers\inplace_edit_v2.cpp
     文件        2581  2017-10-09 13:59  foobar2000\ATLHelpers\inplace_edit_v2.h
     文件        3316  2017-10-09 13:59  foobar2000\ATLHelpers\misc.cpp
     文件       14916  2018-01-04 08:35  foobar2000\ATLHelpers\misc.h
     文件         309  2017-10-09 13:59  foobar2000\ATLHelpers\stdafx.cpp
     文件         503  2017-10-09 13:59  foobar2000\ATLHelpers\stdafx.h
     文件       11900  2018-02-23 11:12  foobar2000\ATLHelpers\ui_element_helpers.cpp
     文件       16882  2018-02-23 11:12  foobar2000\ATLHelpers\ui_element_helpers.h
............此处省略375个文件信息

评论

共有 条评论