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