windows-nt/Source/XPSP1/NT/printscan/ui/printui/dsinterf.hxx
2020-09-26 16:20:57 +08:00

182 lines
3.1 KiB
C++

/*++
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