IWCContextMenuCallback::AddExtensionMenuItem 方法 (cluadmex.h)

[此方法可用于“要求”部分中指定的操作系统。 Windows Server 2008 中已删除对此方法的支持。]

将菜单项添加到 故障转移群集管理员 上下文菜单。

语法

HRESULT AddExtensionMenuItem(
  [in] BSTR  lpszName,
  [in] BSTR  lpszStatusBarText,
  [in] ULONG nCommandID,
  [in] ULONG nSubmenuCommandID,
  [in] ULONG uFlags
);

参数

[in] lpszName

指向以 null 结尾的 Unicode 字符串的指针,该字符串包含要添加到菜单中的项的名称。 虽然声明为 BSTR,但此参数实现为 LPWSTR

[in] lpszStatusBarText

指向在选择新项时显示在状态栏上的文本的指针。 虽然声明为 BSTR,但此参数实现为 LPWSTR

[in] nCommandID

选择菜单项时要调用的命令的标识符。 nCommandID 参数不得设置为 –1。

[in] nSubmenuCommandID

子菜单的标识符。 不支持子菜单, nSubmenuCommandID 参数必须为零。

[in] uFlags

描述新菜单项的标志的位掩码。 可以设置以下一个或多个值。

MF_CHECKED (8)

充当开关,MF_UNCHECKED将默认检查标记放在项旁边。

MF_UNCHECKED (0)

充当开关,MF_CHECKED删除项目旁边的检查标记。

MF_DISABLED (2)

禁用菜单项,使其无法选中,但不会将其变暗。

MF_ENABLED (0)

启用菜单项,以便可以选择菜单项,如果该项以前灰显,则将其从灰显状态还原。

MF_GRAYED (1)

禁用菜单项,使其无法选中并使其变暗。

MF_MENUBARBREAK (32 (0x20) )

Places新列中的项。 新列与旧列用垂直分隔线分隔。

MF_MENUBREAK (64 (0x40) )

Places新列中的项。 列之间无分隔线。

MF_SEPARATOR (2048 (0x800) )

绘制一条水平分割线。 此线条不能灰显、禁用或突出显示。 忽略 lpszNamelpszStatusBarText 参数。

MF_STRING (0)

指定菜单项为字符串。 lpszName 参数包含指向以 NULL 结尾的 Unicode 字符串的指针。 这是默认解释。

返回值

如果 AddExtensionMenuItem 不成功,它可以返回其他 HRESULT 值。

返回代码/值 说明
NOERROR
0
操作成功。
E_INVALIDARG
0x80070057
uFlags 参数设置为 MF_OWNERDRAWMF_POPUP
E_OUTOFMEMORY
0x8007000e
分配菜单项时出错。

注解

AddExtensionMenuItem 方法在上下文菜单顶部添加项,并在它们后面添加分隔符。 当用户选择此菜单项时, nCommandID 标识的命令在 nCommandID 参数中传递到 IWEInvokeCommand::InvokeCommand 方法。

请注意,uFlags 参数不支持MF_OWNERDRAW和MF_POPUP标志。

故障转移群集管理员扩展从其 IWEExtendContextMenu::AddContextMenuItems 方法调用 AddExtensionMenuItem

要求

要求
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows Server 2003 企业版、Windows Server 2003 Datacenter
目标平台 Windows
标头 cluadmex.h

另请参阅

IWCContextMenuCallback

IWEExtendContextMenu::AddContextMenuItems

IWEInvokeCommand::InvokeCommand