DFM_INVOKECOMMANDEX message

Sent by the default context menu implementation to request LPFNDFMCALLBACK to invoke an extended menu command.

                DFM_INVOKECOMMANDEX
    wParam = (WPARAM)(int) idCmd;           
    lParam = (LPARAM)(DFMICS) PDFMICS;
            

Parameters

idCmd [in]

The command ID of the selected menu command. The following flags are recognized.

DFM_CMD_DELETE

DFM_CMD_MOVE

DFM_CMD_COPY

DFM_CMD_LINK

DFM_CMD_PROPERTIES

Show the Properties UI for the item the menu was invoked on.

DFM_CMD_NEWFOLDER

DFM_CMD_PASTE

DFM_CMD_VIEWLIST

DFM_CMD_VIEWDETAILS

DFM_CMD_PASTELINK

DFM_CMD_PASTESPECIAL

DFM_CMD_MODALPROP

DFM_CMD_RENAME

PDFMICS [in]

A pointer to a DFMICS structure that contains additional arguments to the selected menu command. This parameter can be NULL.

Remarks

Upon receipt of this message, your function should return S_FALSE if you want the default implementation to invoke the default handler for the command. Return S_OK if the message was handled. Otherwise, return a standard HRESULT error code.

This message is sent to either the callback function or the callback object depending on how the callback is implemented. There are two APIs for callback construction, CDefFolderMenu_Create2 that takes a pointer to a callback function, or SHCreateDefaultContextMenu that uses a callback object that supports IContextMenuCB.

The items on which the command is being invoked are provided in a data object passed to the callback function or to the IContextMenuCB::CallBack method. This data object is provided by the data source that implements the callback. To extract the items from the data object, use SHCreateShellItemArrayFromDataObject.

DFM_INVOKECOMMAND is a simpler version of this message which does not provide as much information to the callback. Use DFM_INVOKECOMMAND if the additional information provided by DFM_INVOKECOMMANDEX is not needed in your implementation.

Requirements

Requirement Value
Minimum supported client
Windows Vista [desktop apps only]
Minimum supported server
Windows Server 2008 [desktop apps only]
Header
Shlobj.h