mirror of https://github.com/tongzx/nt5src
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.
211 lines
6.0 KiB
211 lines
6.0 KiB
//+---------------------------------------------------------------------------
|
|
//
|
|
// 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_
|
|
|