На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

BuildSecurityDescriptor



[New - Windows NT]

The BuildSecurityDescriptor function allocates and initializes a new security descriptor. A security descriptor is an opaque structure that contains the security information associated with an object. The function can initialize the new security descriptor by merging specified security information with the information in an existing security descriptor. If you don't specify an existing security descriptor, the function initializes a new security descriptor based on the specified security information.

BuildSecurityDescriptor creates a self-relative security descriptor, which means that the security descriptor stores a SECURITY_DESCRIPTOR structure and associated security information in a contiguous block of memory. The self-relative format makes the security descriptor suitable for storing in a stream.

DWORD BuildSecurityDescriptor(

PTRUSTEE pOwner, // identifies owner for new security descriptor
PTRUSTEE pGroup, // identifies group for new security descriptor
ULONG cCountOfAccessEntries, // number of access-control entries in the list
PEXPLICIT_ACCESS pListOfAccessEntries, // pointer to list of access-control entries for DACL
ULONG cCountOfAuditEntries, // number of audit-control entries in the list
PEXPLICIT_ACCESS pListOfAuditEntries, // pointer to list of audit-control entries for SACL
PSECURITY_DESCRIPTOR pOldSD, // pointer to an existing security descriptor
PULONG pSizeNewSD, // pointer to the size of the new security descriptor
PSECURITY_DESCRIPTOR * pNewSD // pointer that receives the new security descriptor
);


Parameters

pOwner

Pointer to a TRUSTEE structure that identifies the owner for the new security descriptor. If the structure uses the TRUSTEE_IS_NAME form, BuildSecurityDescriptor looks up the SID associated with the specified trustee name.
If this parameter is NULL, the function uses the owner SID from the original security descriptor pointed to by pOldSD. If pOldSD is NULL, or if the owner SID in pOldSD is NULL, the owner SID is NULL in the new security descriptor.

pGroup

Pointer to a TRUSTEE structure that identifies the primary group SID for the new security descriptor. If the structure uses the TRUSTEE_IS_NAME form, BuildSecurityDescriptor looks up the SID associated with the specified trustee name.
If this parameter is NULL, the function uses the group SID from the original security descriptor pointed to by pOldSD. If pOldSD is NULL, or if the group SID in pOldSD is NULL, the group SID is NULL in the new security descriptor.

cCountOfAccessEntries

Specifies the number of EXPLICIT_ACCESS structures in the pListOfAccessEntries array.

pListOfAccessEntries

Pointer to an array of EXPLICIT_ACCESS structures that describe access control information for the DACL of the new security descriptor. The function creates the new DACL by merging the information in the array with the DACL in pOldSD, if any. If pOldSD is NULL, or if the DACL in pOldSD is NULL, the function creates a new DACL based solely on the information in the array. For a description of the rules for creating an ACL from an array of EXPLICIT_ACCESS structures, see the SetEntriesInAcl function.

If pListOfAccessEntries is NULL, the new security descriptor gets the DACL from pOldSD. In this case, if pOldSD is NULL, or if the DACL in pOldSD is NULL, the new DACL is NULL.

cCountOfAuditEntries

Specifies the number of EXPLICIT_ACCESS structures in the pListOfAuditEntries array.

pListOfAuditEntries

Pointer to an array of EXPLICIT_ACCESS structures that describe audit control information for the SACL of the new security descriptor. The function creates the new SACL by merging the information in the array with the SACL in pOldSD, if any. If pOldSD is NULL, or the SACL in pOldSD is NULL, the function creates a new SACL based solely on the information in the array.
If pListOfAuditEntries is NULL, the new security descriptor gets the SACL from pOldSD. In this case, if pOldSD is NULL, or the SACL in pOldSD is NULL, the new SACL is NULL.

pOldSD

Pointer to an existing self-relative SECURITY_DESCRIPTOR structure and its associated security information. The function builds the new security descriptor by merging the specified owner, group, access-control, and audit-control information with the information in this security descriptor. This parameter can be NULL.

pSizeNewSD

Pointer to a ULONG variable that receives the size, in bytes, of the returned security descriptor.

pNewSD

Pointer to a variable that receives a pointer to the new security descriptor. The function allocates memory for the new security descriptor. You must call the LocalFree function to free the returned buffer.



Return Values

If the function succeeds, the return value is ERROR_SUCCESS.
If the function fails, the return value is a nonzero error code defined in WINERROR.H.

Remarks

The BuildSecurityDescriptor function is intended for trusted servers that implement or expose security on their own objects. The function uses self-relative security descriptors suitable for serializing into a stream and storing to disk, as a trusted server might require.

See Also

ACL, EXPLICIT_ACCESS, LocalFree, SECURITY_DESCRIPTOR, SetEntriesInAcl, SID, TRUSTEE


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

BuildSecurityDescriptor



[Новый - Windows NT]

Функция BuildSecurityDescriptor распределяет и инициализирует новый дескриптор безопасности. Дескриптор безопасности является непрозрачной структурой, которая содержит информацию безопасности связывался объектом. Функция может инициализировать новый дескриптор безопасности объединяя определенную информацию безопасности с информацией в существующем дескрипторе безопасности. Если Вы не определяете существующий дескриптор безопасности, функция инициализирует новый дескриптор безопасности основанный в определенной информации безопасности.

BuildSecurityDescriptor СОЗДАЕТ относительный дескриптор безопасности, который означает, что дескриптор безопасности загружает структуру SECURITY_DESCRIPTOR и связавшую информацию безопасности в непрерывном блоке памяти. Относительный формат делает дескриптором безопасности пригодным для хранения в потоке.

DWORD BuildSecurityDescriptor(

PTRUSTEE pOwner, // ИДЕНТИФИЦИРУЕТ владельца для нового дескриптора безопасности PTRUSTEE pGroup, // идентифицирует группе для нового дескриптора безопасности ULONG cCountOfAccessEntries, // числа иметь доступ к-управляющим данным в списке PEXPLICIT_ACCESS pListOfAccessEntries, // указателе в список иметь доступ к-управляющим данным для DACL ULONG cCountOfAuditEntries, // числа проверять-управляющих данных в списке PEXPLICIT_ACCESS pListOfAuditEntries, // указателе в список проверять-управляющих данных для SACL PSECURITY_DESCRIPTOR pOldSD, // указателя в существующий дескриптор безопасности PULONG pSizeNewSD, // указателя по величине с новым дескриптором безопасности PSECURITY_DESCRIPTOR * указатель pNewSD //, который получает новый дескриптор безопасности
);


Параметры

pOwner

Указатель в структуру ПОПЕЧИТЕЛЯ, которая идентифицирует владельца для нового дескриптора безопасности. Если структура использует форму TRUSTEE_IS_NAME, BuildSecurityDescriptor ищет SID связанное определенным именем попечителя.
Если этот параметр НЕДЕЙСТВИТЕЛЕН, функция использует владельца SID из оригинального дескриптора безопасности указанного, чтобы pOldSD. Если pOldSD - НЕДЕЙСТВИТЕЛЕН, или если владелец SID в pOldSD НЕДЕЙСТВИТЕЛЕН, владелец SID НЕДЕЙСТВИТЕЛЕН в новом дескрипторе безопасности.

pGroup

Указатель в структуру ПОПЕЧИТЕЛЯ, которая идентифицирует первичную группу SID для нового дескриптора безопасности. Если структура использует форму TRUSTEE_IS_NAME, BuildSecurityDescriptor ищет SID связанное определенным именем попечителя.
Если этот параметр НЕДЕЙСТВИТЕЛЕН, функция использует группу SID из оригинального дескриптора безопасности указанного, чтобы pOldSD. Если pOldSD - НЕДЕЙСТВИТЕЛЕН, или если группа SID в pOldSD НЕДЕЙСТВИТЕЛЬНА, группа SID НЕДЕЙСТВИТЕЛЬНА в новом дескрипторе безопасности.

cCountOfAccessEntries

Определяет число структур EXPLICIT_ACCESS в массиве pListOfAccessEntries.

pListOfAccessEntries

Указатель в массив структур EXPLICIT_ACCESS, который описывает управляющая информация доступа для DACL нового дескриптора безопасности. Функция создает новый DACL объединяя информацию в массиве с DACL в pOldSD, если имеется. Если pOldSD - НЕДЕЙСТВИТЕЛЕН, или если DACL в pOldSD НЕДЕЙСТВИТЕЛЬНО, функция создает новый DACL основанное исключительно в информации в массиве. Для описания правил для создания ACL из массива структур EXPLICIT_ACCESS, смотри функцию SetEntriesInAcl.

Если pListOfAccessEntries НЕДЕЙСТВИТЕЛЕН, новый дескриптор безопасности получает DACL из pOldSD. В этом случае, если pOldSD - НЕДЕЙСТВИТЕЛЕН, или если DACL в pOldSD НЕДЕЙСТВИТЕЛЬНО, новый DACL НЕДЕЙСТВИТЕЛЕН.

cCountOfAuditEntries

Определяет число структур EXPLICIT_ACCESS в массиве pListOfAuditEntries.

pListOfAuditEntries

Указатель в массив структур EXPLICIT_ACCESS, который описывает управляющая информация проверки для SACL нового дескриптора безопасности. Функция создает новый SACL объединяя информацию в массиве с SACL в pOldSD, если имеется. Если pOldSD НЕДЕЙСТВИТЕЛЕН, или SACL в pOldSD НЕДЕЙСТВИТЕЛЬНО, функция создает новый SACL основанное исключительно в информации в массиве.
Если pListOfAuditEntries НЕДЕЙСТВИТЕЛЕН, новый дескриптор безопасности получает SACL из pOldSD. В этом случае, если pOldSD НЕДЕЙСТВИТЕЛЕН, или SACL в pOldSD НЕДЕЙСТВИТЕЛЬНО, новый SACL НЕДЕЙСТВИТЕЛЕН.

pOldSD

Указатель в существующую относительную SECURITY_DESCRIPTOR структурную и связанную информацию безопасности. Функция формирует новый дескриптор безопасности объединяя определенного владельца, группы, доступа-управление, и проверять-управляющей информации с информацией в этом дескрипторе безопасности. Этот параметр может быть НЕДЕЙСТВИТЕЛЕН.

pSizeNewSD

Указатель в переменную ULONG, которая получает размер, в байтах, возвращанного дескриптора безопасности.

pNewSD

Указатель в переменную, которая получает указатель в новый дескриптор безопасности. Функция распределяет память для нового дескриптора безопасности. Вы должны назвать функцию LocalFree, чтобы освобождать возвращанный буфер.



Обратные Величины

Если функция добивается успеха, обратная величина - ERROR_SUCCESS.
Если функция терпит неудачу, обратная величина является ненулевым кодом ошибки определенным в WINERROR.H.

Замечания

Функция BuildSecurityDescriptor предназначена для надежных серверов, которые осуществляют или подвергнуты безопасность на своих собственных объектах. Функция использует относительные дескрипторы безопасности пригодные для издания сериями в поток и хранение на диск, как надежный сервер мог потребоваться.

Смотри Также

ACL, EXPLICIT_ACCESS, LocalFree, SECURITY_DESCRIPTOR, SetEntriesInAcl, SID, ПОПЕЧИТЕЛЬ


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz