通知该环境多文件将被保存。
命名空间: Microsoft.VisualStudio.Shell.Interop
程序集: Microsoft.VisualStudio.Shell.Interop(在 Microsoft.VisualStudio.Shell.Interop.dll 中)
语法
声明
Function QuerySaveFiles ( _
rgfQuerySave As UInteger, _
cFiles As Integer, _
rgpszMkDocuments As String(), _
rgrgf As UInteger(), _
rgFileInfo As VSQEQS_FILE_ATTRIBUTE_DATA(), _
<OutAttribute> ByRef pdwQSResult As UInteger _
) As Integer
int QuerySaveFiles(
uint rgfQuerySave,
int cFiles,
string[] rgpszMkDocuments,
uint[] rgrgf,
VSQEQS_FILE_ATTRIBUTE_DATA[] rgFileInfo,
out uint pdwQSResult
)
参数
- rgfQuerySave
类型:System.UInt32
[in] 标志当前不使用。调用方在默认空标记应始终通过,为零。
- cFiles
类型:System.Int32
[in] 文件计数。
- rgpszMkDocuments
类型:array<System.String[]
[in] 文件的路径在磁盘上。
- rgrgf
类型:array<System.UInt32[]
[in] 值从活动的文件属性的 tagVSQEQSFlags 枚举所采用的标志。默认值 = 0。
- rgFileInfo
类型:array<Microsoft.VisualStudio.Shell.Interop.VSQEQS_FILE_ATTRIBUTE_DATA[]
[in] 从 VSQEQS_FILE_ATTRIBUTE_DATA 结构采用的值包含有关文件属性的信息。可以是 nullnull 引用(在 Visual Basic 中为 Nothing);,如果 rgrgf 为 0,将忽略。
- pdwQSResult
类型:System.UInt32%
[out] 对于从 tagVSQuerySaveResult 枚举采用的值的指针。
返回值
类型:System.Int32
如果方法失败,则返回错误代码。
如果搜索成功,则返回:
保存该文件。文件不应此时是只读的。
此方法不会 保存 对话框,但是,它不提示的情况下调用你或提示用户和选择了保存。如果编辑传统文件,建议您此时调用 GetSaveFileNameViaDlg 。
用户已通知文件只读和决定不保存或 " 否 " 取消此操作。选择取决于 BeginQuerySaveBatch / EndQuerySaveBatch 方法。
![]() |
---|
如果编辑器尝试保存多个文件,必须知道批处理的状态和不同之处。未和移除之间。调用每个文件的 QuerySaveFile 方法。如果环境返回 QSR_NoSave_UserCanceled 或 QSR_NoSave_Cancel,则保存被取消。如果环境返回在批处理的文件不会保存的 QSR_NoSave_Continue,则,但是,您可以继续保存其他文件。 |
*pdwQSResult 的结果是:
继续保存 (QSR_SaveOK)。
不要保存 (QSR_NoSave_Continue)。
保存 (QSR_ForceSaveAs)。
取消保存 (QSR_NoSave_UserCanceled 或 QSR_NoSave_Cancel)。
备注
COM 签名
从 ivsqueryeditquerysave2.idl
HRESULT QuerySaveFiles(
[in] VSQuerySaveFlags rgfQuerySave,
[in] int cFiles,
[in, size_is(cFiles)] const LPCOLESTR rgpszMkDocuments[],
[in, size_is(cFiles)] const VSQEQSFlags rgrgf[],
[in, size_is(cFiles)] const VSQEQS_FILE_ATTRIBUTE_DATA rgFileInfo[],
[out, retval] VSQuerySaveResult *pdwQSResult
);
在项目或编辑之前保存文件,它必须调用此方法或 QuerySaveFile 方法。对于项目文件,这些调用解决方案将自动完成,知道何时保存项目文件。,除非 IVsPersistDocData2 的编辑器实现使用 helper 函数 SaveDocDataToFile 方法,编辑器对进行这些负责调用。如果编辑器上述实现 IVsPersistDocData2 ,则为 QuerySaveFile 方法或 QuerySaveFiles 的电话为您调用。
在保存任何内容之前调用此方法以磁盘。只在统一的处理只读和注册的文件,共享方式。
此方法可能需要发出签出命令确保该文件是可写 (例如,文件,则在内存中编辑)。对于提供 “签出本地版本”选项的源代码管理提供程序,这是安全操作。对于不的源代码管理提供程序,则签出操作无法完成不丢失数据。在这种情况下, 保存 就成为唯一的选择。
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。