IVsCfgProvider2.GetCfgs 方法 (UInt32, array<IVsCfg[], array<UInt32[], array<UInt32[])
返回此对象的每个配置对象。
命名空间: Microsoft.VisualStudio.Shell.Interop
程序集: Microsoft.VisualStudio.Shell.Interop(在 Microsoft.VisualStudio.Shell.Interop.dll 中)
语法
声明
Function GetCfgs ( _
celt As UInteger, _
<OutAttribute> rgpcfg As IVsCfg(), _
<OutAttribute> pcActual As UInteger(), _
<OutAttribute> prgfFlags As UInteger() _
) As Integer
int GetCfgs(
uint celt,
IVsCfg[] rgpcfg,
uint[] pcActual,
uint[] prgfFlags
)
参数
- celt
类型:System.UInt32
[in] 配置对象将返回的或零的数字,指示对对象的一个未知数。
- rgpcfg
类型:array<Microsoft.VisualStudio.Shell.Interop.IVsCfg[]
[in, out, size_is(celt)] 在输入、指向接口数组或 nullnull 引用(在 Visual Basic 中为 Nothing)。在输出,此参数指向数组属于请求的配置对象的 IVsCfg 接口。
- pcActual
类型:array<System.UInt32[]
[out, optional] ,如果此信息不是必需的,为配置对象的指针实际返回或 nullnull 引用(在 Visual Basic 中为 Nothing)。
- prgfFlags
类型:array<System.UInt32[]
[out, optional] 为项目配置指定标志设置为或 nullnull 引用(在 Visual Basic 中为 Nothing) ,如果不需要其他标志设置为。有关有效的 prgrFlags 值,请参见 __VSCFGFLAGS
返回值
类型:System.Int32
如果方法成功,则返回 S_OK。如果失败,它会返回一个错误代码。
备注
COM 签名
从 vsshell80.idl:
HRESULT IVsCfgProvider2::GetCfgs(
[in] ULONG celt,
[in, out, size_is(celt)] IVsCfg *rgpcfg[],
[out, optional] ULONG *pcActual,
[out, optional] VSCFGFLAGS *prgfFlags
);
如果 pcActual 参数是有效的地址,然后 celt 参数设置为 0,配置对象数。 pcActual返回。 返回对象的数量小于或等于 celt的值。 如果配置对象的总数比 celt的值小于,则所有配置对象返回。 如果对象的总数比 celt大,返回对象的数量限于 celt 和 " *pcActual 设置为输出中 celt 。
如果 celt 不为零, rgpcfg 不能为 nullnull 引用(在 Visual Basic 中为 Nothing) 或 E_POINTER 返回。
通常,调用如下所示对 GetCfgs 。 调用方为对象的使用计数指定 0 和 nullnull 引用(在 Visual Basic 中为 Nothing)为接口数组的指针。 GetCfgs 返回配置对象数。 pcActual目录中,还可以由调用方用于分配接口数组空格的信息。 第二次调用 GetCfgs 使用对象的使用计数设置和指向有效地址的指针数组进行。 下面的代码示例阐释此调用序列:
hr = pIVsCfgProvider->GetCfgs(0, null, &cExpected, null);
prgpcfgs = ::CoTaskMemAlloc(cExpected * sizeof(IVsCfg *));
hr = pIVsCfgProvider->GetCfgs(cExpected, prgpcfgs, &cActual, null);
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。