//+--------------------------------------------------------------------------- // // 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)( LPITEMIDLIST *, ULONG, HWND, LPSHELLFOLDER); struct FoldOnCommandParams { FOLDERONCOMMANDPROC pfnfocp; LPITEMIDLIST * apidl; ULONG cidl; HWND hwndOwner; LPSHELLFOLDER psf; HINSTANCE hInstFolder; }; typedef struct FoldOnCommandParams FOLDONCOMMANDPARAMS; typedef struct FoldOnCommandParams * PFOLDONCOMMANDPARAMS; HRESULT HrCommandHandlerThread( FOLDERONCOMMANDPROC pfnCommandHandler, LPITEMIDLIST * apidl, ULONG cidl, 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 // // //---[ Standard command handler functions ]---------------------------------- // // These are the pidl based functions that are called from the shell folder // HRESULT HrFolderCommandHandler( UINT uiCommand, LPITEMIDLIST * apidl, ULONG cidl, HWND hwndOwner, LPCMINVOKECOMMANDINFO lpici, LPSHELLFOLDER psf); // All of these below handle individual commands // HRESULT HrOnCommandInvoke( LPITEMIDLIST * apidl, ULONG cidl, HWND hwndOwner, LPSHELLFOLDER psf); HRESULT HrOnCommandProperties( LPITEMIDLIST * apidl, ULONG cidl, HWND hwndOwner, LPSHELLFOLDER psf); HRESULT HrOnCommandDelete( LPITEMIDLIST * apidl, ULONG cidl, HWND hwndOwner, LPSHELLFOLDER psf); HRESULT HrOnCommandCreateShortcut( LPITEMIDLIST * apidl, ULONG cidl, HWND hwndOwner, LPSHELLFOLDER psf); #endif // _ONCOMMAND_H_