IVsTextStream.CanReplaceStream(Int32, Int32, Int32) 方法

定义

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

public:
 int CanReplaceStream(int iPos, int iOldLen, int iNewLen);
public:
 int CanReplaceStream(int iPos, int iOldLen, int iNewLen);
int CanReplaceStream(int iPos, int iOldLen, int iNewLen);
public int CanReplaceStream (int iPos, int iOldLen, int iNewLen);
abstract member CanReplaceStream : int * int * int -> int
Public Function CanReplaceStream (iPos As Integer, iOldLen As Integer, iNewLen As Integer) As Integer

参数

iPos
Int32

中文本缓冲区中的位置。

iOldLen
Int32

中要替换的文本的长度(如果有)。 在插入操作中,此值为零 (0) 。

iNewLen
Int32

中新插入文本的长度。

返回

Int32

如果该方法成功,则它会返回 S_OK。 如果该方法失败,则会返回错误代码。

注解

COM 签名

从 textmgr:

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

在文本缓冲区中,每个更改都将建模为替换操作,而不管是否在行中插入、替换或删除文本。 因此,此方法包含文本缓冲区中的起始位置 (iPos) 和要替换 () 的文本长度 iOldLen 。 若要测试插入操作,请将设置 iOldLen 为零 (0) 。 若要测试是否可以删除文本,请将设置 iNewLen 为零 (0) ,然后将 iOldLen 大于零 (0) 。

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

适用于