IVsTextStream.CanReplaceStream 方法

测试特定的编辑操作是否会成功 (例如,复制或剪切)。

命名空间:  Microsoft.VisualStudio.TextManager.Interop
程序集:  Microsoft.VisualStudio.TextManager.Interop(在 Microsoft.VisualStudio.TextManager.Interop.dll 中)

语法

声明
Function CanReplaceStream ( _
    iPos As Integer, _
    iOldLen As Integer, _
    iNewLen As Integer _
) As Integer
int CanReplaceStream(
    int iPos,
    int iOldLen,
    int iNewLen
)
int CanReplaceStream(
    [InAttribute] int iPos, 
    [InAttribute] int iOldLen, 
    [InAttribute] int iNewLen
)
abstract CanReplaceStream : 
        iPos:int * 
        iOldLen:int * 
        iNewLen:int -> int
function CanReplaceStream(
    iPos : int, 
    iOldLen : int, 
    iNewLen : int
) : int

参数

  • iPos
    类型:Int32

    [in] 在文本缓冲区的位置。

  • iOldLen
    类型:Int32

    [in] 替换文本的长度,因此,如果有的话)。 在插入操作,此值为零 (0)。

  • iNewLen
    类型:Int32

    [in] 新插入的文本的长度。

返回值

类型:Int32
如果方法成功,则返回 S_OK。如果失败,它会返回一个错误代码。

备注

COM 签名

从 textmgr.idl:

HRESULT IVsTextStream::CanReplaceStream(
   [in] long iPos,
   [in] long iOldLen,
   [in] long iNewLen
);

在文本缓冲区,每一更改都将模型作为替换操作,无论是否文本行中插入,替换或删除。 同样,此方法包含在文本缓冲区 (iPos) 的一个起始位置和文本的长度交换 (iOldLen)。 若要测试对于插入操作,请设置 iOldLen 零 (0)。 若要测试文本是否能删除,请设置 iNewLen 零 (0) 然后 iOldLen 大于零 (0)。

CanReplaceStream 用于测试特定的编辑操作 (例如,剪切或复制) 是否可以成功。 失败的可能的原因在只读区域包括尝试替换在只读缓冲区的文本 (该文件从源代码管理下),或者尝试替换文本缓冲区中。

.NET Framework 安全性

请参阅

参考

IVsTextStream 接口

Microsoft.VisualStudio.TextManager.Interop 命名空间