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
pici が CMINVOKECOMMANDINFOEX 構造体を指している場合にのみ使用されます。 ショートカット メニュー ハンドラーで、ANSI と同等のメンバーではなく、 lpVerbW、 lpParametersW、 lpTitleW、 および lpDirectoryW メンバーを使用する必要があることを示します。 一部のショートカット メニュー ハンドラーでは Unicode がサポートされない場合があるため、 lpVerb、 lpParameters、 lpTitleW、および 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
ゾーン チェックを実行しないでください。 このフラグを使用すると、 ShellExecuteEx は IAttachmentExecute によって配置されたゾーン チェックをバイパスできます。
CMIC_MASK_PTINVOKE
pici が CMINVOKECOMMANDINFOEX 構造体を指している場合にのみ使用されます。 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 を含む) |