PrjStartVirtualizing 函数 (projectedfslib.h)

配置并启动 ProjFS 虚拟化实例,使其可用于服务 I/O,并在提供程序上调用回调。

语法

HRESULT PrjStartVirtualizing(
  [in]           PCWSTR                               virtualizationRootPath,
  [in]           const PRJ_CALLBACKS                  *callbacks,
  [in, optional] const void                           *instanceContext,
  [in, optional] const PRJ_STARTVIRTUALIZING_OPTIONS  *options,
  [out]          PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT *namespaceVirtualizationContext
);

参数

[in] virtualizationRootPath

指向以 null 结尾的 unicode 字符串的指针,该字符串指定虚拟化根目录的完整路径。

在调用此例程之前,提供程序必须已调用 PrjMarkDirectoryAsPlaceholder ,将指定路径作为 rootPathName 参数传递,NULL 作为 targetPathName 参数传递。 只需执行此操作一次,即可将路径指定为虚拟化根目录

[in] callbacks

指向 PRJ_CALLBACKS 结构的指针,该结构已用指向提供程序回调函数的指针填充。

[in, optional] instanceContext

指向提供程序为每个实例定义的上下文信息的指针。 此参数是可选的,可以为 NULL。 如果指定了它,ProjFS 将在调用提供程序回调例程时 在 PRJ_CALLBACK_DATA 的 InstanceContext 成员中返回它。

[in, optional] options

指向 PRJ_STARTVIRTUALIZING_OPTIONS的可选指针。

[out] namespaceVirtualizationContext

成功后,将不透明的句柄返回到 ProjFS 虚拟化实例。 提供程序在调用需要PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT作为输入的函数时传递此值。

返回值

错误(HRESULT_FROM_WIN32 (ERROR_REPARSE_TAG_MISMATCH) )指示尚未将 virtualizationRootPath 配置为虚拟化根。

要求

要求
最低受支持的客户端 Windows 10 版本 1809 [仅限桌面应用]
最低受支持的服务器 Windows Server [仅限桌面应用]
目标平台 Windows
标头 projectedfslib.h