|
|
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1997.
//
// File: O N C O M M A N D . H
//
// Contents: Command handler prototypes for the InvokeCommand code.
//
// Notes:
//
// Author: jeffspr 4 Nov 1997
//
//----------------------------------------------------------------------------
#pragma once
#ifndef _ONCOMMAND_H_
#define _ONCOMMAND_H_
//---[ Typedefs ]-------------------------------------------------------------
// Typedefs for the functions that we'll GetProcAddress from the
// NetWare config DLL
typedef HRESULT (WINAPI *FOLDERONCOMMANDPROC)( const PCONFOLDPIDLVEC& apidl, HWND, LPSHELLFOLDER);
struct ConFoldOnCommandParams { FOLDERONCOMMANDPROC pfnfocp; PCONFOLDPIDLVEC apidl; HWND hwndOwner; LPSHELLFOLDER psf; HINSTANCE hInstNetShell; };
typedef struct ConFoldOnCommandParams CONFOLDONCOMMANDPARAMS; typedef struct ConFoldOnCommandParams * PCONFOLDONCOMMANDPARAMS;
HRESULT HrCommandHandlerThread( FOLDERONCOMMANDPROC pfnCommandHandler, const PCONFOLDPIDLVEC& apidl, HWND hwndOwner, LPSHELLFOLDER psf);
DWORD WINAPI FolderCommandHandlerThreadProc(LPVOID lpParam);
//---[ Internal versions of the command handlers ]----------------------------
//
// These are called by the standard handler functions once they've retrieved
// the actual data from the pidls. They are also called from those pieces
// of the code that keep the native data, such as the tray
//
//
HRESULT HrOnCommandDisconnectInternal( const CONFOLDENTRY& pccfe, HWND hwndOwner, LPSHELLFOLDER psf);
HRESULT HrOnCommandFixInternal( const CONFOLDENTRY& pccfe, HWND hwndOwner, LPSHELLFOLDER psf);
HRESULT HrOnCommandStatusInternal( const CONFOLDENTRY& pccfe, BOOL fCreateEngine);
HRESULT HrCreateShortcutWithPath( const PCONFOLDPIDLVEC& apidl, HWND hwndOwner, LPSHELLFOLDER psf, PCWSTR pszDir = NULL);
//---[ Standard command handler functions ]----------------------------------
//
// These are the pidl based functions that are called from the shell folder
//
HRESULT HrFolderCommandHandler( UINT uiCommand, const PCONFOLDPIDLVEC& apidl, HWND hwndOwner, LPCMINVOKECOMMANDINFO lpici, LPSHELLFOLDER psf);
// All of these below handle individual command
//
HRESULT HrOnCommandProperties( IN const PCONFOLDPIDLVEC& apidl, IN HWND hwndOwner, IN LPSHELLFOLDER psf);
HRESULT HrOnCommandWZCProperties( IN const PCONFOLDPIDLVEC& apidl, IN HWND hwndOwner, IN LPSHELLFOLDER psf);
HRESULT HrOnCommandWZCDlgShow( IN const PCONFOLDPIDLVEC& apidl, IN HWND hwndOwner, IN LPSHELLFOLDER psf);
HRESULT HrOnCommandCreateCopy( IN const PCONFOLDPIDLVEC& apidl, IN HWND hwndOwner, IN LPSHELLFOLDER psf);
HRESULT HrOnCommandStatus( IN const PCONFOLDPIDLVEC& apidl, IN HWND hwndOwner, IN LPSHELLFOLDER psf);
HRESULT HrOnCommandConnect( IN const PCONFOLDPIDLVEC& apidl, IN HWND hwndOwner, IN LPSHELLFOLDER psf);
HRESULT HrOnCommandDisconnect( IN const PCONFOLDPIDLVEC& apidl, IN HWND hwndOwner, IN LPSHELLFOLDER psf);
HRESULT HrOnCommandFix( IN const PCONFOLDPIDLVEC& apidl, IN HWND hwndOwner, IN LPSHELLFOLDER psf);
HRESULT HrOnCommandNewConnection( IN const PCONFOLDPIDLVEC& apidl, IN HWND hwndOwner, IN LPSHELLFOLDER psf);
HRESULT HrOnCommandAdvancedConfig( IN const PCONFOLDPIDLVEC& apidl, IN HWND hwndOwner, IN LPSHELLFOLDER psf);
HRESULT HrOnCommandDelete( IN const PCONFOLDPIDLVEC& apidl, IN HWND hwndOwner, IN LPSHELLFOLDER psf);
HRESULT HrOnCommandNetworkId( IN const PCONFOLDPIDLVEC& apidl, IN HWND hwndOwner, IN LPSHELLFOLDER psf);
HRESULT HrOnCommandOptionalComponents( IN const PCONFOLDPIDLVEC& apidl, IN HWND hwndOwner, IN LPSHELLFOLDER psf);
HRESULT HrOnCommandDialupPrefs( IN const PCONFOLDPIDLVEC& apidl, IN HWND hwndOwner, IN LPSHELLFOLDER psf);
HRESULT HrOnCommandOperatorAssist( IN const PCONFOLDPIDLVEC& apidl, IN HWND hwndOwner, IN LPSHELLFOLDER psf);
HRESULT HrOnCommandCreateShortcut( IN const PCONFOLDPIDLVEC& apidl, IN HWND hwndOwner, IN LPSHELLFOLDER psf);
HRESULT HrRaiseConnectionPropertiesInternal( HWND hwnd, UINT nStartPage, INetConnection * pconn);
HRESULT HrOnCommandCreateBridge( IN const PCONFOLDPIDLVEC& apidl, IN HWND hwndOwner, IN LPSHELLFOLDER psf);
HRESULT HrOnCommandSetDefault( IN const PCONFOLDPIDLVEC& apidl, IN HWND hwndOwner, IN LPSHELLFOLDER psf); HRESULT HrOnCommandUnsetDefault( IN const PCONFOLDPIDLVEC& apidl, IN HWND hwndOwner, IN LPSHELLFOLDER psf);
HRESULT HrOnCommandBridgeAddConnections( IN const PCONFOLDPIDLVEC& apidl, HWND hwndOwner, LPSHELLFOLDER psf );
HRESULT HrOnCommandBridgeRemoveConnections( IN const PCONFOLDPIDLVEC& apidl, HWND hwndOwner, LPSHELLFOLDER psf, UINT_PTR nDeleteTheNetworkBridgeMode );
LONG TotalValidSelectedConnectionsForBridge( IN const PCONFOLDPIDLVEC& apidlSelected );
#endif // _ONCOMMAND_H_
|