#ifndef _INC_DSKQUOTA_NTDS_H #define _INC_DSKQUOTA_NTDS_H /////////////////////////////////////////////////////////////////////////////// /* File: ntds.h Description: Contains declaration for class NTDS. This class provides a simple wrapper around NT Directory Service name translation features. It has no data and no virtual functions. Revision History: Date Description Programmer -------- --------------------------------------------------- ---------- 06/01/97 Initial creation. BrianAu */ /////////////////////////////////////////////////////////////////////////////// #ifndef __SSPI_H__ # define SECURITY_WIN32 # include // For TranslateName #endif class NTDS { public: NTDS(VOID) { } ~NTDS(VOID) { } HRESULT LookupAccountByName( LPCTSTR pszSystem, LPCTSTR pszLogonName, CString *pstrContainerName, CString *pstrDisplayName, PSID pSid, LPDWORD pdwSid, PSID_NAME_USE peUse); HRESULT LookupAccountBySid( LPCTSTR pszSystem, PSID pSid, CString *pstrContainerName, CString *pstrLogonName, CString *pstrDisplayName, PSID_NAME_USE peUse); HRESULT TranslateFQDNsToLogonNames( const CArray& rgstrFQDNs, CArray *prgstrLogonNames); HRESULT TranslateFQDNToLogonName( LPCTSTR pszFQDN, CString *pstrLogonName); static void CreateSamLogonName(LPCTSTR pszSamDomain, LPCTSTR pszSamUser, CString *pstrSamLogonName); static LPCTSTR FindFQDNInADsPath(LPCTSTR pszADsPath); static LPCTSTR FindSamAccountInADsPath(LPCTSTR pszADsPath); private: HRESULT LookupSamAccountName( LPCTSTR pszSystem, LPCTSTR pszLogonName, CString *pstrContainerName, CString *pstrDisplayName, PSID pSid, LPDWORD pdwSid, PSID_NAME_USE peUse); HRESULT LookupDsAccountName( LPCTSTR pszSystem, LPCTSTR pszLogonName, CString *pstrContainerName, CString *pstrDisplayName, PSID pSid, LPDWORD pdwSid, PSID_NAME_USE peUse); HRESULT GetSamAccountDisplayName( LPCTSTR pszLogonName, CString *pstrDisplayName); HRESULT GetDsAccountDisplayName( LPCTSTR pszLogonName, CString *pstrDisplayName); HRESULT TranslateNameInternal( LPCTSTR pszAccountName, EXTENDED_NAME_FORMAT AccountNameFormat, EXTENDED_NAME_FORMAT DesiredNameFormat, CString *pstrTranslatedName); HRESULT LookupAccountNameInternal( LPCTSTR pszSystemName, LPCTSTR pszAccountName, PSID Sid, LPDWORD pcbSid, CString *pstrReferencedDomainName, PSID_NAME_USE peUse); HRESULT LookupAccountSidInternal( LPCTSTR pszSystemName, PSID Sid, CString *pstrName, CString *pstrReferencedDomainName, PSID_NAME_USE peUse); }; #endif // _INC_DSKQUOTA_NTDS_H