Функция RegisterAppInstance (smbclnt.h)

Регистрирует идентификатор AppInstance для процесса.

Синтаксис

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

Параметры

[in] ProcessHandle

Дескриптор процесса для текущего процесса или удаленного процесса, помеченногоAppInstanceId. Чтобы пометить удаленный процесс, дескриптор должен иметь PROCESS_TERMINATE доступ к такому процессу.

[in] AppInstanceId

Идентификатор экземпляра приложения, являющийся 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
Для того же процесса предоставляется еще один GUID AppInstanceGUID, что означает, что функция RegisterAppInst ance была вызвана дважды или приложение было зарегистрировано дважды.

Замечания

Функция RegisterAppInstance выдает вызов мини-фильтра CCF IOCTL_CCF_REGISTER_APPINSTANCE. Функция передает AppInstanceGUID, дескриптор процесса и помеченные дочерние процессы в кэш CCF, который сопоставляет дескриптор процесса с AppInstanceId.

Выданный IOCTL для тегов другого процесса проверяет, имеет ли текущий процесс PROCESS_TERMINATE доступ к целевому процессу.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Не поддерживается
минимальный поддерживаемый сервер Windows Server 2012
целевая платформа Виндоус
заголовка smbclnt.h
библиотеки NTLanMan.lib
DLL NTLanMan.dll

См. также

функции управления ресурсами отказоустойчивого кластера