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.
 
 
 
 
 
 

71 lines
1.8 KiB

#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;
};