59 lines
1.3 KiB
C++
59 lines
1.3 KiB
C++
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
|
//
|
|
// File: rcomp.cxx
|
|
//
|
|
// Contents: Implementation of IRemoteComputer
|
|
//
|
|
// History: 13-Dec-95 BruceFo Created
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#include "headers.hxx"
|
|
#pragma hdrstop
|
|
|
|
#include "guids.h"
|
|
#include "rcomp.hxx"
|
|
#include "shares.hxx"
|
|
#include "util.hxx"
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
STDMETHODIMP
|
|
CSharesRC::Initialize(
|
|
LPCWSTR pszMachine,
|
|
BOOL bEnumerating
|
|
)
|
|
{
|
|
CShares* This = IMPL(CShares,m_RemoteComputer,this);
|
|
|
|
if (NULL == pszMachine)
|
|
{
|
|
return E_INVALIDARG;
|
|
}
|
|
|
|
//
|
|
// We only want to show the remote shares folder if it is an NT
|
|
// server and the user has administrative access. That means that
|
|
// NetShareEnum must pass at least level 2.
|
|
//
|
|
|
|
if (bEnumerating)
|
|
{
|
|
if (!IsLevelOk(const_cast<LPWSTR>(pszMachine), 2))
|
|
{
|
|
return E_FAIL;
|
|
}
|
|
}
|
|
|
|
This->m_pszMachine = NewDup(pszMachine);
|
|
if (NULL == This->m_pszMachine)
|
|
{
|
|
return E_OUTOFMEMORY;
|
|
}
|
|
|
|
return S_OK;
|
|
}
|