struct dirparts_proxy_traits
{
static CComVariant make_value(const recls_strptrs_t &ptr)
{
CComVariant var;
var.vt = VT_BSTR;
# ifdef RECLS_CHAR_TYPE_IS_CHAR
var.bstrVal = ::SysAllocStringLen(winstl::a2w(ptr.begin,
ptr.end - ptr.begin), ptr.end - ptr.begin);
# elif defined(RECLS_CHAR_TYPE_IS_WCHAR)
var.bstrVal = ::SysAllocStringLen( ptr.begin, ptr.end - ptr.begin);
# endif /* RECLS_CHAR_TYPE_IS_WCHAR */
return var;
}
};