windows-nt/Source/XPSP1/NT/net/tapi/skywalker/inc/sdpsatt.h
2020-09-26 16:20:57 +08:00

73 lines
1.5 KiB
C++

/*
Copyright (c) 1997-1999 Microsoft Corporation
*/
#ifndef __SDP_ATTRIBUTE_SAFEARRAY__
#define __SDP_ATTRIBUTE_SAFEARRAY__
#include "sdpcommo.h"
#include "sdpsarr.h"
class _DllDecl SDP_ATTRIBUTE_SAFEARRAY :
protected SDP_SAFEARRAY_WRAP_EX<SDP_CHAR_STRING_LINE, SDP_ATTRIBUTE_LIST>
{
public:
inline SDP_ATTRIBUTE_SAFEARRAY(
IN SDP_ATTRIBUTE_LIST &SdpAttributeList
);
HRESULT GetSafeArray(
OUT VARIANT *Variant
);
inline HRESULT SetSafeArray(
IN VARIANT &Variant
);
protected:
VARTYPE m_VarType[1];
virtual BOOL Get(
IN SDP_CHAR_STRING_LINE &ListMember,
IN ULONG NumEntries,
IN void **Element,
OUT HRESULT &HResult
);
virtual BOOL Set(
IN SDP_CHAR_STRING_LINE &ListMember,
IN ULONG NumEntries,
IN void ***Element,
OUT HRESULT &HResult
);
};
inline
SDP_ATTRIBUTE_SAFEARRAY::SDP_ATTRIBUTE_SAFEARRAY(
IN SDP_ATTRIBUTE_LIST &SdpAttributeList
)
: SDP_SAFEARRAY_WRAP_EX<SDP_CHAR_STRING_LINE, SDP_ATTRIBUTE_LIST>(SdpAttributeList)
{
m_VarType[0] = VT_BSTR;
}
inline HRESULT
SDP_ATTRIBUTE_SAFEARRAY::SetSafeArray(
IN VARIANT &Variant
)
{
VARIANT *VariantArray = &Variant;
return SDP_SAFEARRAY_WRAP::SetSafeArrays(1, m_VarType, &VariantArray);
}
#endif // __SDP_ATTRIBUTE_SAFEARRAY__