Source code of Windows XP (NT5)
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.
|
|
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1995 - 1995.
//
// File: pfolder.cxx
//
// Contents: Implementation of IPersistFolder
//
// History: 13-Dec-95 BruceFo Created
//
//----------------------------------------------------------------------------
#include "headers.hxx"
#pragma hdrstop
#include "guids.h"
#include "pfolder.hxx"
#include "shares.hxx"
#include "util.hxx"
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CSharesPF::GetClassID( LPCLSID lpClassID ) { CShares* This = IMPL(CShares,m_PersistFolder,this); *lpClassID = CLSID_CShares; return S_OK; }
STDMETHODIMP CSharesPF::Initialize( LPCITEMIDLIST pidl ) { CShares* This = IMPL(CShares,m_PersistFolder,this); This->m_pidl = ILClone(pidl); if (NULL == This->m_pidl) { return E_OUTOFMEMORY; }
// Determine what share info level to use, based on which level succeeds.
// NOTE: if this is being invoked remotely, we assume that IRemoteComputer
// is invoked *before* IPersistFolder.
// Try 2, then 1.
if (IsLevelOk(This->m_pszMachine, 2)) { This->m_level = 2; } else if (IsLevelOk(This->m_pszMachine, 1)) { This->m_level = 1; } else { // error: can't enumerate
return HRESULT_FROM_WIN32(ERROR_ACCESS_DENIED); }
return S_OK; }
|