Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
class CPropertyValue;
class CPropertyValue : INHERIT_TRACKING, public ISupportErrorInfo, public IADsPropertyValue, public IADsPropertyValue2, public IADsValue
{ public:
/* IUnknown methods */ STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
DECLARE_STD_REFCOUNTING
DECLARE_IDispatch_METHODS
DECLARE_ISupportErrorInfo_METHODS
DECLARE_IADsPropertyValue_METHODS
DECLARE_IADsValue_METHODS
CPropertyValue::CPropertyValue();
CPropertyValue::~CPropertyValue();
STDMETHODIMP ConvertADsValueToPropertyValue2( THIS_ PADSVALUE pADsValue, LPWSTR pszServerName, CCredentials* pCredentials, BOOL fNTDSType ); STDMETHODIMP ConvertPropertyValueToADsValue2( THIS_ PADSVALUE pADsValue, LPWSTR pszServerName, LPWSTR pszUserName, LPWSTR pszPassWord, LONG dwFlags, BOOL fNTDSType );
STDMETHODIMP getOctetStringFromSecDesc(VARIANT FAR *retval); STDMETHODIMP getSecurityDescriptorFromOctStr(VARIANT FAR *retval);
static HRESULT CPropertyValue::CreatePropertyValue( REFIID riid, void **ppvObj );
static HRESULT CPropertyValue::AllocatePropertyValueObject( CPropertyValue ** ppPropertyValue );
//
// constants that we need as we cannot init static consts.
//
enum { VAL_IDISPATCH_UNKNOWN = 0, VAL_IDISPATCH_SECDESC_ONLY = 1, // only ptr to idisp
VAL_IDISPATCH_SECDESC_ALL = 2, // ptr and data in _ADsValue
}; //
// Meant for use from adscopy only.
//
PADSVALUE CPropertyValue::getADsValue() { return (&_ADsValue); }
DWORD getExtendedDataTypeInfo() { return _dwDataType; }
//
// Does not bump up the ref count
//
IDispatch * getDispatchPointer() { return _pDispatch; }
protected:
//
// Helpers to handle DnWithBin and DnWithStr
//
STDMETHODIMP getDNWithBinary(IDispatch FAR * FAR * ppDispatch); STDMETHODIMP putDNWithBinary(IDispatch * pDNWithBinary);
STDMETHODIMP getDNWithString(IDispatch FAR * FAR * ppDispatch); STDMETHODIMP putDNWithString(IDispatch * pDNWithString);
STDMETHODIMP getProvSpecific(VARIANT FAR * retval ); STDMETHODIMP putProvSpecific(VARIANT VarProviderSpecific);
//
// Wrapper that calls AdsClear on _ADsValue after cleaning
// up the other member variable
//
void ClearData();
CDispatchMgr FAR * _pDispMgr;
ADSVALUE _ADsValue;
DWORD _dwDataType;
IDispatch *_pDispatch;
};
|