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.
181 lines
3.1 KiB
181 lines
3.1 KiB
/*++
|
|
|
|
Copyright (C) Microsoft Corporation, 1996 - 1998
|
|
All rights reserved.
|
|
|
|
Module Name:
|
|
|
|
dsinterf.hxx
|
|
|
|
Abstract:
|
|
|
|
Directory service interface header.
|
|
|
|
Author:
|
|
|
|
Steve Kiraly (SteveKi) 09-Sept-1996
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
#ifndef _DSINTERF_HXX
|
|
#define _DSINTERF_HXX
|
|
|
|
/********************************************************************
|
|
|
|
Directory Service class
|
|
|
|
********************************************************************/
|
|
class TDirectoryService {
|
|
|
|
SIGNATURE( 'dirs' )
|
|
|
|
public:
|
|
|
|
enum EStatus
|
|
{
|
|
kUninitialized,
|
|
kAvailable,
|
|
kNotAvailable,
|
|
};
|
|
|
|
TDirectoryService::
|
|
TDirectoryService(
|
|
VOID
|
|
);
|
|
|
|
TDirectoryService::
|
|
~TDirectoryService(
|
|
VOID
|
|
);
|
|
|
|
BOOL
|
|
TDirectoryService::
|
|
bValid(
|
|
VOID
|
|
);
|
|
|
|
BOOL
|
|
TDirectoryService::
|
|
bGetDirectoryName(
|
|
IN TString &strName
|
|
);
|
|
|
|
BOOL
|
|
TDirectoryService::
|
|
bIsDsAvailable(
|
|
IN LPCTSTR pName,
|
|
IN BOOL bForUser = FALSE
|
|
);
|
|
|
|
static
|
|
BOOL
|
|
TDirectoryService::
|
|
bIsDsAvailable(
|
|
VOID
|
|
);
|
|
|
|
HRESULT
|
|
TDirectoryService::
|
|
ADsGetObject(
|
|
IN LPWSTR lpszPathName,
|
|
IN REFIID riid,
|
|
IN OUT VOID **ppObject
|
|
);
|
|
|
|
HRESULT
|
|
TDirectoryService::
|
|
ADsBuildEnumerator(
|
|
IN IADsContainer *pADsContainer,
|
|
IN IEnumVARIANT **ppEnumVariant
|
|
);
|
|
|
|
HRESULT
|
|
TDirectoryService::
|
|
ADsFreeEnumerator(
|
|
IN IEnumVARIANT *pEnumVariant
|
|
);
|
|
|
|
HRESULT
|
|
TDirectoryService::
|
|
ADsEnumerateNext(
|
|
IN IEnumVARIANT *pEnumVariant,
|
|
IN ULONG cElements,
|
|
IN VARIANT *pvar,
|
|
IN ULONG *pcElementsFetched
|
|
);
|
|
|
|
BOOL
|
|
TDirectoryService::
|
|
Get(
|
|
IN IADs *pDsObject,
|
|
IN LPCTSTR pszPropertyName,
|
|
IN TString &strString
|
|
);
|
|
|
|
BOOL
|
|
TDirectoryService::
|
|
Put(
|
|
IN IADs *pDsObject,
|
|
IN LPCTSTR pszPropertyName,
|
|
IN LPCTSTR pszString
|
|
);
|
|
|
|
BOOL
|
|
TDirectoryService::
|
|
ReadStringProperty(
|
|
IN LPCTSTR pszPath,
|
|
IN LPCTSTR pszProperty,
|
|
IN OUT TString &strString
|
|
);
|
|
|
|
BOOL
|
|
TDirectoryService::
|
|
GetConfigurationContainer(
|
|
IN OUT TString &strConfig
|
|
);
|
|
|
|
BOOL
|
|
TDirectoryService::
|
|
GetDsName(
|
|
IN TString &strDsName
|
|
);
|
|
|
|
BOOL
|
|
TDirectoryService::
|
|
GetLDAPPrefix(
|
|
OUT TString &strLDAPPrefix
|
|
);
|
|
|
|
BOOL
|
|
TDirectoryService::
|
|
GetLDAPPrefixPerUser(
|
|
OUT TString &strLDAPPrefix
|
|
);
|
|
|
|
private:
|
|
|
|
//
|
|
// Copying and assignment are not defined.
|
|
//
|
|
TDirectoryService::
|
|
TDirectoryService(
|
|
const TDirectoryService &
|
|
);
|
|
|
|
TDirectoryService &
|
|
TDirectoryService::
|
|
operator =(
|
|
const TDirectoryService &
|
|
);
|
|
|
|
BOOL _bValid;
|
|
TString _strDirectoryName;
|
|
TString _strConfigurationContainer;
|
|
TString _strLDAPPrefix;
|
|
TString _strLDAPPrefixPerUser;
|
|
|
|
};
|
|
|
|
#endif
|
|
|