windows-nt/Source/XPSP1/NT/ds/adsi/router/path.hxx

72 lines
1.7 KiB
C++
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
#define MAXCOMPONENTS 64
class CPathname : INHERIT_TRACKING,
public ISupportErrorInfo,
public IADsPathname
{
public:
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
DECLARE_STD_REFCOUNTING
DECLARE_IDispatch_METHODS
DECLARE_ISupportErrorInfo_METHODS
DECLARE_IADsPathname_METHODS
CPathname::CPathname();
CPathname::~CPathname();
HRESULT SetComponent(DWORD cComponents, BSTR *pbstrElement);
HRESULT
CPathname::SetAll(BSTR bstrADsPath);
HRESULT
CPathname::GetNamespace(
BSTR bstrADsPath,
PWSTR *ppszName
);
static
HRESULT
CPathname::CreatePathname(
REFIID riid,
void **ppvObj
);
static
HRESULT
CPathname::AllocatePathnameObject(
CPathname ** ppPathname
);
static
void
FreeObjInfoComponents(PATH_OBJECTINFO *pObjectInfo);
static
void
CPathname::FreePathInfo(PPATH_OBJECTINFO pPathObjectInfo);
private:
IADsPathnameProvider *m_pPathnameProvider; // pointer to the provider
// that we have initialized
PATH_OBJECTINFO _PathObjectInfo; // Internal storage for cracked
// components
BOOLEAN _fNamingAttribute; // flag indicating the presense
// of the naming attribute
DWORD _dwEscaped; // flag indicating the result
// should be escaped or not
protected:
CDispatchMgr FAR * _pDispMgr;
};