DFMICS 構造体 (shlobj_core.h)

DFM_INVOKECOMMANDEXで使用される追加の引数が含まれます。

構文

typedef struct {
  DWORD                 cbSize;
  DWORD                 fMask;
  LPARAM                lParam;
  UINT                  idCmdFirst;
  UINT                  idDefMax;
  LPCMINVOKECOMMANDINFO pici;
  IUnknown              *punkSite;
} DFMICS, *PDFMICS;

メンバー

cbSize

型: DWORD

この構造体のサイズ (バイト単位)。

fMask

型: DWORD

pici が指す CMINVOKECOMMANDINFO 構造体または CMINVOKECOMMANDINFOEX 構造体内のデータの処理方法を指定する、0 個以上の次のフラグ。

CMIC_MASK_HOTKEY

dwHotKey メンバーは有効です。

CMIC_MASK_ICON

使用されていません。

CMIC_MASK_FLAG_NO_UI

IContextMenu::InvokeCommand の実装では、コマンドの実行中にユーザー インターフェイス要素 (エラー メッセージなど) を表示できません。

CMIC_MASK_UNICODE

piciCMINVOKECOMMANDINFOEX 構造体を指している場合にのみ使用されます。 ショートカット メニュー ハンドラーで、ANSI と同等のメンバーではなく、 lpVerbWlpParametersWlpTitleWおよび lpDirectoryW メンバーを使用する必要があることを示します。 一部のショートカット メニュー ハンドラーでは Unicode がサポートされない場合があるため、 lpVerblpParameterslpTitleW、および lpDirectory メンバーにも有効な ANSI 文字列を渡す必要があります。

CMIC_MASK_NO_CONSOLE

ショートカット メニュー ハンドラーで新しいプロセスを作成する必要がある場合は、通常、新しいコンソールが作成されます。 CMIC_MASK_NO_CONSOLE フラグを設定すると、新しいコンソールが作成されなくなります。

CMIC_MASK_FLAG_SEP_VDM

このフラグは、16 ビット Windows ベースのアプリケーションを参照している場合にのみ有効です。 設定されている場合、ショートカットが指すアプリケーションはプライベート Virtual DOS マシン (VDM) で実行されます。 「解説」を参照してください。

CMIC_MASK_ASYNCOK

IContextMenu::InvokeCommand の実装では、呼び出しを処理するために新しいスレッドまたはプロセスをスピンオフでき、呼び出される関数の完了時にブロックする必要はありません。 たとえば、動詞が "delete" の場合、すべての項目が削除される前に IContextMenu::InvokeCommand 呼び出しが返されることがあります。 これはアドバイザリであるため、このフラグを指定するアプリケーションを呼び出しても、呼び出す動詞の実装に慣れていない場合、この要求が受け入れられます。

CMIC_MASK_NOASYNC

Windows Vista 以降。 IContextMenu::InvokeCommand の実装は同期であり、完了する前に が返されないようにする必要があります。 これは推奨されるため、このフラグを指定するアプリケーションを呼び出しても、呼び出す動詞の実装に慣れていない場合に、この要求が受け入れられます。

CMIC_MASK_SHIFT_DOWN

Shift キーが押されます。 動詞が呼び出されてから変更された可能性があるキーボードの現在の状態をポーリングする代わりに、これを使用します。

CMIC_MASK_CONTROL_DOWN

Ctrl キーが押されます。 動詞が呼び出されてから変更された可能性があるキーボードの現在の状態をポーリングする代わりに、これを使用します。

CMIC_MASK_FLAG_LOG_USAGE

IContextMenu::InvokeCommand の実装で、[最近使用したドキュメント] メニューなどの機能に対して呼び出される項目を追跡する必要がある場合があることを示します。

CMIC_MASK_NOZONECHECKS

ゾーン チェックを実行しないでください。 このフラグを使用すると、 ShellExecuteExIAttachmentExecute によって配置されたゾーン チェックをバイパスできます。

CMIC_MASK_PTINVOKE

piciCMINVOKECOMMANDINFOEX 構造体を指している場合にのみ使用されます。 ptInvoke メンバーは有効です。

lParam

型: LPARAM

選択したメニュー コマンドに対する追加の引数を含む null で終わる文字列へのポインター。 このメンバーには NULL を指定できます。

idCmdFirst

型: UINT

メニュー項目識別子にハンドラーが指定できる最小値。

idDefMax

型: UINT

メニュー項目識別子にハンドラーが指定できる最大値。

pici

種類: LPCMINVOKECOMMANDINFO

CMINVOKECOMMANDINFO または CMINVOKECOMMANDINFO 構造体へのポインター。

punkSite

種類: IUnknown*

コンテキスト メニュー ハンドラーのサイトへのポインター。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
Header shlobj_core.h (Shlobj.h を含む)