Функция DeriveCapabilitySidsFromName (securitybaseapi.h)

Эта функция создает два массива идентификаторов безопасности из имени возможности. Один из них представляет собой идентификатор безопасности группы массивов с NT Authority, а другой — массив идентификаторов безопасности возможностей с AppAuthority.

Синтаксис

BOOL DeriveCapabilitySidsFromName(
  [in]  LPCWSTR CapName,
  [out] PSID    **CapabilityGroupSids,
  [out] DWORD   *CapabilityGroupSidCount,
  [out] PSID    **CapabilitySids,
  [out] DWORD   *CapabilitySidCount
);

Параметры

[in] CapName

Имя возможности в строковой форме.

[out] CapabilityGroupSids

GroupSids с NTAuthority.

[out] CapabilityGroupSidCount

Число идентификаторов GroupSids в массиве.

[out] CapabilitySids

CapabilitySids с AppAuthority.

[out] CapabilitySidCount

Количество capabilitySid с AppAuthority.

Возвращаемое значение

Если функция завершается успешно, она возвращает значение TRUE.

Если функция завершается сбоем, она возвращает значение FALSE. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Ожидается, что вызывающий объект освободит отдельные идентификаторы БЕЗОПАСНОСТИ, возвращаемые в каждом массиве путем вызова LocalFree, а также память, выделенную для самого массива.

Идентификатор безопасности, вычисленный для возможностей приложения устаревших возможностей (опубликованных до Win10), будет таким же, как и опубликованные идентификаторы безопасности безопасности, но идентификатор безопасности для возможности группы служб будет основан на хэше.

Требования

Требование Значение
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header securitybaseapi.h (включая Windows.h)
Библиотека Advapi32.lib
DLL Kernel32.dll