mirror of https://github.com/tongzx/nt5src
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.
101 lines
2.2 KiB
101 lines
2.2 KiB
class CNWCOMPATNamespace;
|
|
|
|
class CNWCOMPATNamespace : INHERIT_TRACKING,
|
|
public CCoreADsObject,
|
|
public ISupportErrorInfo,
|
|
public IADsContainer,
|
|
public IADsOpenDSObject,
|
|
public IADs,
|
|
public IADsPathnameProvider
|
|
{
|
|
public:
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
|
|
|
|
DECLARE_STD_REFCOUNTING
|
|
|
|
DECLARE_IDispatch_METHODS
|
|
|
|
NW_DECLARE_ISupportErrorInfo_METHODS
|
|
|
|
DECLARE_IADs_METHODS
|
|
|
|
DECLARE_IADsContainer_METHODS
|
|
|
|
DECLARE_IADsOpenDSObject_METHODS
|
|
|
|
CNWCOMPATNamespace::CNWCOMPATNamespace();
|
|
|
|
CNWCOMPATNamespace::~CNWCOMPATNamespace();
|
|
|
|
STDMETHOD(ParsePath)(THIS_ BSTR bstrPath, DWORD dwType, PPATH_OBJECTINFO pObjectInfo);
|
|
STDMETHOD(ConstructPath)(THIS_ PPATH_OBJECTINFO pObjectInfo, DWORD dwType, DWORD dwFlag, DWORD dwEscapedMode, BSTR *pbstrPath);
|
|
|
|
static
|
|
HRESULT
|
|
CNWCOMPATNamespace::CreateNamespace(
|
|
BSTR Parent,
|
|
BSTR NamespaceName,
|
|
CCredentials &Credentials,
|
|
DWORD dwObjectState,
|
|
REFIID riid,
|
|
void **ppvObj
|
|
);
|
|
|
|
static
|
|
HRESULT
|
|
CNWCOMPATNamespace::AllocateNamespaceObject(
|
|
CNWCOMPATNamespace ** ppNamespace
|
|
);
|
|
|
|
|
|
static
|
|
HRESULT
|
|
CNWCOMPATNamespace::SetObjInfoComponents(
|
|
OBJECTINFO *pObjectInfo,
|
|
PATH_OBJECTINFO *pObjectInfoTarget);
|
|
|
|
|
|
static
|
|
void
|
|
CNWCOMPATNamespace::FreeObjInfoComponents(
|
|
PATH_OBJECTINFO *pObjectInfo
|
|
);
|
|
|
|
void
|
|
CNWCOMPATNamespace::SetComponent(
|
|
LPWSTR szReturn,
|
|
DWORD cComponents,
|
|
BOOL fEscaped
|
|
);
|
|
|
|
HRESULT
|
|
CNWCOMPATNamespace::SetComponents(
|
|
LPWSTR szReturn,
|
|
LPWSTR chSeparator,
|
|
DWORD dwType,
|
|
BOOL fEscaped
|
|
);
|
|
|
|
STDMETHODIMP
|
|
CNWCOMPATNamespace::GetEscapedElement(
|
|
LONG lnReserved,
|
|
BSTR bstrInStr,
|
|
BSTR* pbstrOutStr
|
|
);
|
|
|
|
protected:
|
|
|
|
VARIANT _vFilter;
|
|
CDispatchMgr *_pDispMgr;
|
|
PPATH_OBJECTINFO _pObjectInfo; // PathCracker pathinfo
|
|
CCredentials _Credentials;
|
|
|
|
};
|
|
|
|
enum {
|
|
ADS_COMPONENT_LEAF,
|
|
ADS_COMPONENT_DN,
|
|
ADS_COMPONENT_PARENT
|
|
};
|