RegisterAppInstance 函数 (smbclnt.h)

为进程注册 AppInstance ID。

语法

DWORD RegisterAppInstance(
  [in] HANDLE ProcessHandle,
  [in] GUID   *AppInstanceId,
  [in] BOOL   ChildrenInheritAppInstance
);

参数

[in] ProcessHandle

要用 AppInstanceId标记当前进程或远程进程的进程句柄。 若要标记远程进程,句柄必须具有对该进程的 PROCESS_TERMINATE 访问权限。

[in] AppInstanceId

应用程序实例 ID,它是 GUID

[in] ChildrenInheritAppInstance

TRUE 标记由 ProcessHandle指定的进程生成的子进程;否则,FALSE

返回值

返回代码 描述
ERROR_NOT_ENOUGH_MEMORY
CCF 筛选器未能分配适当的缓存对象来实现此操作。
ERROR_ACCESS_DENIED
尝试标记由 ProcessHandle 指定的进程的当前进程没有对该进程的 PROCESS_TERMINATE 访问权限。
ERROR_INVALID_PARAMETER
ProcessHandle 不是进程的句柄。
ERROR_NOT_FOUND
找不到 CCF 微型筛选器。
ERROR_OBJECT_ALREADY_EXISTS
为同一进程提供了另一个 AppInstanceGUID,这意味着调用了 RegisterAppInstance 函数,或者应用程序注册了两次。

言论

RegisterAppInstance 函数发出对 CCF 微型筛选器的 IOCTL_CCF_REGISTER_APPINSTANCE 调用。 该函数将 AppInstanceGUID、进程句柄和标记的子进程传递给 CCF 缓存,该缓存将进程句柄映射到 AppInstanceId

颁发的 IOCTL 用于标记另一个进程会检查当前进程是否 PROCESS_TERMINATE 目标进程的访问权限。

要求

要求 价值
最低支持的客户端 不支持
支持的最低服务器 Windows Server 2012
目标平台 窗户
标头 smbclnt.h
NTLanMan.lib
DLL NTLanMan.dll

另请参阅

故障转移群集资源管理功能