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。
返回值
返回代码 | 描述 |
---|---|
|
CCF 筛选器未能分配适当的缓存对象来实现此操作。 |
|
尝试标记由 ProcessHandle 指定的进程的当前进程没有对该进程的 PROCESS_TERMINATE 访问权限。 |
|
ProcessHandle 不是进程的句柄。 |
|
找不到 CCF 微型筛选器。 |
|
为同一进程提供了另一个 AppInstanceGUID,这意味着调用了 RegisterAppInstance 函数,或者应用程序注册了两次。 |
言论
RegisterAppInstance 函数发出对 CCF 微型筛选器的 IOCTL_CCF_REGISTER_APPINSTANCE 调用。 该函数将 AppInstanceGUID、进程句柄和标记的子进程传递给 CCF 缓存,该缓存将进程句柄映射到 AppInstanceId。
颁发的 IOCTL 用于标记另一个进程会检查当前进程是否 PROCESS_TERMINATE 目标进程的访问权限。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 不支持 |
支持的最低服务器 | Windows Server 2012 |
目标平台 | 窗户 |
标头 | smbclnt.h |
库 | NTLanMan.lib |
DLL | NTLanMan.dll |