88 lines
3 KiB
C++
88 lines
3 KiB
C++
// DSdirect.h : Declaration of ds routines and clases
|
|
//
|
|
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 1999
|
|
//
|
|
// File: DSdirect.h
|
|
//
|
|
// Contents: Encapsulation for ADsi interfaces and methods
|
|
//
|
|
// History: 02-feb-97 jimharr Created
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
#ifndef __DSDIRECT_H_
|
|
#define __DSDIRECT_H_
|
|
|
|
|
|
class CDSDirect;
|
|
class CDSCookie;
|
|
class CDSUINode;
|
|
class CDSComponentData;
|
|
class CDSThreadQueryInfo;
|
|
class CWorkerThread;
|
|
|
|
|
|
class CDSDirect
|
|
{
|
|
public:
|
|
CDSDirect();
|
|
CDSDirect(CDSComponentData * pCD);
|
|
~CDSDirect();
|
|
|
|
CString m_strDNS;
|
|
CDSComponentData * m_pCD;
|
|
|
|
HRESULT EnumerateContainer(CDSThreadQueryInfo* pQueryInfo,
|
|
CWorkerThread* pWorkerThread);
|
|
|
|
HRESULT EnumerateRootContainer(CDSThreadQueryInfo* pQueryInfo,
|
|
CWorkerThread* pWorkerThread);
|
|
HRESULT CreateRootChild(LPCTSTR lpcszPrefix,
|
|
CDSThreadQueryInfo* pQueryInfo,
|
|
CWorkerThread* pWorkerThread);
|
|
|
|
HRESULT DeleteObject(CDSCookie *pCookie, BOOL raiseUI);
|
|
HRESULT MoveObject(CDSCookie *pCookie);
|
|
HRESULT RenameObject(CDSCookie *pCookie, LPCWSTR lpszBaseDN);
|
|
HRESULT DSFind(HWND hwnd, LPCWSTR lpszBaseDN);
|
|
|
|
HRESULT GetParentDN(CDSCookie* pCookie, CString& szParentDN);
|
|
HRESULT InitCreateInfo();
|
|
|
|
HRESULT ReadDSObjectCookie(IN CDSUINode* pContainerDSUINode, // IN: container where to create object
|
|
IN LPCWSTR lpszLdapPath, // path of the object
|
|
OUT CDSCookie** ppNewCookie); // newly created cookie
|
|
|
|
HRESULT ReadDSObjectCookie(IN CDSUINode* pContainerDSUINode, // IN: container where to create object
|
|
IN IADs* pADs, // pointer to an already bound ADSI object
|
|
OUT CDSCookie** ppNewCookie); // newly created cookie
|
|
|
|
HRESULT CreateDSObject(CDSUINode* pContainerDSUINode, // IN: container where to create object
|
|
LPCWSTR lpszObjectClass, // IN: class of the object to be created
|
|
IN CDSUINode* pCopyFromDSUINode, // IN: (optional) object to be copied
|
|
OUT CDSCookie** ppSUINodeNew); // OUT: OPTIONAL: Pointer to new node
|
|
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
// standard attributes array (for queries)
|
|
|
|
extern const INT g_nStdCols; // number of items in the standard attributes array
|
|
extern const LPWSTR g_pStandardAttributes[]; // array if attrbutes
|
|
|
|
// indexes in the array
|
|
extern const INT g_nADsPath;
|
|
extern const INT g_nName;
|
|
extern const INT g_nObjectClass;
|
|
extern const INT g_nGroupType;
|
|
extern const INT g_nDescription;
|
|
extern const INT g_nUserAccountControl;
|
|
extern const INT g_nSystemFlags;
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////
|
|
|
|
#endif __DSDIRECT_H_
|