102 lines
2.8 KiB
C
102 lines
2.8 KiB
C
//+---------------------------------------------------------------------------
|
|
//
|
|
// 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_
|
|
|