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.
230 lines
3.9 KiB
230 lines
3.9 KiB
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 1999
|
|
//
|
|
// File: MyBasePathsInfo.h
|
|
//
|
|
// Contents: Thin wrapper around dsadminlib CDSBasePathsInfo class
|
|
// to deal with memory management of strings
|
|
//
|
|
// History: 04/02/2001 jeffjon Created
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
|
void MyBasePathsInfo::ComposeADsIPath(CString& szPath, IN LPCWSTR lpszNamingContext)
|
|
{
|
|
int result = 0;
|
|
szPath.Empty();
|
|
|
|
PWSTR pszPath = 0;
|
|
result = CDSBasePathsInfo::ComposeADsIPath(&pszPath, lpszNamingContext);
|
|
|
|
if (pszPath && result)
|
|
{
|
|
szPath = pszPath;
|
|
|
|
delete[] pszPath;
|
|
pszPath = 0;
|
|
}
|
|
else
|
|
{
|
|
ASSERT(pszPath);
|
|
}
|
|
ASSERT(result);
|
|
}
|
|
|
|
void MyBasePathsInfo::GetSchemaPath(CString& s)
|
|
{
|
|
int result = 0;
|
|
s.Empty();
|
|
|
|
PWSTR pszPath = 0;
|
|
result = CDSBasePathsInfo::GetSchemaPath(&pszPath);
|
|
|
|
if (pszPath && result)
|
|
{
|
|
s = pszPath;
|
|
|
|
delete[] pszPath;
|
|
pszPath = 0;
|
|
}
|
|
else
|
|
{
|
|
ASSERT(pszPath);
|
|
}
|
|
ASSERT(result);
|
|
}
|
|
|
|
void MyBasePathsInfo::GetConfigPath(CString& s)
|
|
{
|
|
int result = 0;
|
|
s.Empty();
|
|
|
|
PWSTR pszPath = 0;
|
|
result = CDSBasePathsInfo::GetConfigPath(&pszPath);
|
|
|
|
if (pszPath && result)
|
|
{
|
|
s = pszPath;
|
|
|
|
delete[] pszPath;
|
|
pszPath = 0;
|
|
}
|
|
else
|
|
{
|
|
ASSERT(pszPath);
|
|
}
|
|
ASSERT(result);
|
|
}
|
|
|
|
void MyBasePathsInfo::GetDefaultRootPath(CString& s)
|
|
{
|
|
int result = 0;
|
|
s.Empty();
|
|
|
|
PWSTR pszPath = 0;
|
|
result = CDSBasePathsInfo::GetDefaultRootPath(&pszPath);
|
|
|
|
if (pszPath && result)
|
|
{
|
|
s = pszPath;
|
|
|
|
delete[] pszPath;
|
|
pszPath = 0;
|
|
}
|
|
else
|
|
{
|
|
ASSERT(pszPath);
|
|
}
|
|
ASSERT(result);
|
|
}
|
|
|
|
void MyBasePathsInfo::GetRootDSEPath(CString& s)
|
|
{
|
|
int result = 0;
|
|
s.Empty();
|
|
|
|
PWSTR pszPath = 0;
|
|
result = CDSBasePathsInfo::GetRootDSEPath(&pszPath);
|
|
|
|
if (pszPath && result)
|
|
{
|
|
s = pszPath;
|
|
|
|
delete[] pszPath;
|
|
pszPath = 0;
|
|
}
|
|
else
|
|
{
|
|
ASSERT(pszPath);
|
|
}
|
|
ASSERT(result);
|
|
}
|
|
|
|
void MyBasePathsInfo::GetAbstractSchemaPath(CString& s)
|
|
{
|
|
int result = 0;
|
|
s.Empty();
|
|
|
|
PWSTR pszPath = 0;
|
|
result = CDSBasePathsInfo::GetAbstractSchemaPath(&pszPath);
|
|
|
|
if (pszPath && result)
|
|
{
|
|
s = pszPath;
|
|
|
|
delete[] pszPath;
|
|
pszPath = 0;
|
|
}
|
|
else
|
|
{
|
|
ASSERT(pszPath);
|
|
}
|
|
ASSERT(result);
|
|
}
|
|
|
|
void MyBasePathsInfo::GetPartitionsPath(CString& s)
|
|
{
|
|
int result = 0;
|
|
s.Empty();
|
|
|
|
PWSTR pszPath = 0;
|
|
result = CDSBasePathsInfo::GetPartitionsPath(&pszPath);
|
|
|
|
if (pszPath && result)
|
|
{
|
|
s = pszPath;
|
|
|
|
delete[] pszPath;
|
|
pszPath = 0;
|
|
}
|
|
else
|
|
{
|
|
ASSERT(pszPath);
|
|
}
|
|
ASSERT(result);
|
|
}
|
|
|
|
void MyBasePathsInfo::GetSchemaObjectPath(IN LPCWSTR lpszObjClass, CString& s)
|
|
{
|
|
int result = 0;
|
|
s.Empty();
|
|
|
|
PWSTR pszPath = 0;
|
|
result = CDSBasePathsInfo::GetSchemaObjectPath(lpszObjClass, &pszPath);
|
|
|
|
if (pszPath && result)
|
|
{
|
|
s = pszPath;
|
|
|
|
delete[] pszPath;
|
|
pszPath = 0;
|
|
}
|
|
else
|
|
{
|
|
ASSERT(pszPath);
|
|
}
|
|
ASSERT(result);
|
|
}
|
|
|
|
void MyBasePathsInfo::GetInfrastructureObjectPath(CString& s)
|
|
{
|
|
int result = 0;
|
|
s.Empty();
|
|
|
|
PWSTR pszPath = 0;
|
|
result = CDSBasePathsInfo::GetInfrastructureObjectPath(&pszPath);
|
|
|
|
if (pszPath && result)
|
|
{
|
|
s = pszPath;
|
|
|
|
delete[] pszPath;
|
|
pszPath = 0;
|
|
}
|
|
else
|
|
{
|
|
ASSERT(pszPath);
|
|
}
|
|
ASSERT(result);
|
|
}
|
|
|
|
HRESULT GetADSIServerName(CString& szServer, IN IUnknown* pUnk)
|
|
{
|
|
PWSTR pszServer = 0;
|
|
HRESULT hr = GetADSIServerName(&pszServer, pUnk);
|
|
if (SUCCEEDED(hr) && pszServer)
|
|
{
|
|
szServer = pszServer;
|
|
|
|
delete[] pszServer;
|
|
pszServer = 0;
|
|
}
|
|
|
|
return hr;
|
|
}
|
|
|