执行所有步骤准备执行命令行命令。
命名空间: Microsoft.VisualStudio.Shell.Interop
程序集: Microsoft.VisualStudio.Shell.Interop(在 Microsoft.VisualStudio.Shell.Interop.dll 中)
语法
声明
Function PrepareCommand ( _
szCommand As String, _
<OutAttribute> ByRef pguidCmdGroup As Guid, _
<OutAttribute> ByRef pdwCmdID As UInteger, _
<OutAttribute> ByRef ppvaCmdArg As IntPtr, _
<OutAttribute> pResult As PREPARECOMMANDRESULT() _
) As Integer
int PrepareCommand(
string szCommand,
out Guid pguidCmdGroup,
out uint pdwCmdID,
out IntPtr ppvaCmdArg,
PREPARECOMMANDRESULT[] pResult
)
参数
- szCommand
类型:System.String
[in] 包含命令的字符串。
- pguidCmdGroup
类型:System.Guid%
[out] 为命令的组 GUID 的指针。
- pdwCmdID
类型:System.UInt32%
[out] 为命令的标识符的指针。
- ppvaCmdArg
类型:System.IntPtr%
[out] 对包含命令参数的其他数组的指针。
- pResult
类型:array<Microsoft.VisualStudio.Shell.Interop.PREPARECOMMANDRESULT[]
[out] 对包含其他错误信息的 PREPARECOMMANDRESULT 结构的指针。
返回值
类型:System.Int32
如果方法成功,则返回 S_OK。如果失败,它会返回一个错误代码。
备注
方法执行以下步骤:
分析命令字符串。
查找命令。
验证命令启用。
确定它是否接受参数。
准备包含参数的一个变体,并将收到命令的跳出。
在返回时,调用方让所有信息需要调用 IOleCommandTarget 接口的 Exec 方法。
COM 签名
从 vsshell.idl:
HRESULT IVsCommandWindow::PrepareCommand(
[in, ref] LPCOLESTR szCommand,
[out] GUID* pguidCmdGroup,
[out] DWORD* pdwCmdId,
[out] VARIANT** ppvaCmdArg,
[out, retval] PREPARECOMMANDRESULT* pResult
);
实现者说明
在失败, PrepareCommand 返回 E_FAIL 并将 pResult 到一个失败的谓词类型 PREPARECOMMANDRESULT 的值。这使调用方自定义各种错误报告。在失败线程错误信息设置一个有意义的字符串。
调用方负责不同的参数 ppvaCmdArg。若要释放它,调用方必须首先调用 VariantClear 清除目录,然后调用 CoTaskMemFree 释放变量。
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。