|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
CreatePrivateObjectSecurity
The CreatePrivateObjectSecurity function allocates and initializes a self-relative security descriptor for a new protected server's object. This function is called when a new protected server object is being created.
BOOL CreatePrivateObjectSecurity(
PSECURITY_DESCRIPTOR ParentDescriptor, // pointer to parent directory SD PSECURITY_DESCRIPTOR CreatorDescriptor, // pointer to creator SD PSECURITY_DESCRIPTOR *NewDescriptor, // pointer to pointer to new SD BOOL IsDirectoryObject, // container flag for new SD HANDLE Token, // handle to client's access token PGENERIC_MAPPING GenericMapping // pointer to access-rights structure );
Parameters
ParentDescriptor
Points to the security descriptor for the parent directory in which a new object is being created. If there is no parent directory, this parameter can be NULL.
CreatorDescriptor
Points to a security descriptor provided by the creator of the object. If the object's creator does not explicitly pass security information for the new object, this parameter is intended to be NULL.
lppsdNew
Points to a pointer to the newly allocated security descriptor created when the function returns.
IsDirectoryObject
Specifies whether the new object is a container. A value of TRUE indicates the object contains other objects, such as a directory.
Token
Identifies the access token for the client process on whose behalf the object is being created. If this is an impersonation token, it must be at SecurityIdentification level or higher. For a full description of the SecurityIdentification impersonation level, see the SECURITY_IMPERSONATION_LEVEL enumerated type
A client token is used to retrieve default security information for the new object, such as its default owner, primary group, and discretionary access-control list. The token must be open for TOKEN_QUERY access.
GenericMapping
Points to a GENERIC_MAPPING structure that specifies the mapping from each generic right to specific rights for the object.
Return Values
If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
If a system access-control list, or SACL, is specified in the SECURITY_DESCRIPTOR specified by CreatorDescriptor, Token must have the SE_SECURITY_NAME privilege enabled, and the caller's token must have the SE_AUDIT_NAME privilege enabled. The CreatePrivateObjectSecurity function performs access/privilege checks to ensure this, and may generate audits during the process.
See Also
DestroyPrivateObjectSecurity, GENERIC_MAPPING, GetPrivateObjectSecurity, GetTokenInformation, OpenProcessToken, SECURITY_DESCRIPTOR, SECURITY_IMPERSONATION_LEVEL, SetPrivateObjectSecurity
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
CreatePrivateObjectSecurity
Функция CreatePrivateObjectSecurity распределяет и инициализирует относительный дескриптор безопасности для нового защищенного объекта сервера. Эта функция названа когда новый защищенный объект сервера создается.
BOOL CreatePrivateObjectSecurity(
PSECURITY_DESCRIPTOR ParentDescriptor, // указатель в родительский директорий SD PSECURITY_DESCRIPTOR CreatorDescriptor, // указатель создателю SD PSECURITY_DESCRIPTOR *NewDescriptor, // указатель на указатель на новый SD BOOL IsDirectoryObject, // контейнерный флаг для нового Признака РУЧКИ SD, // ручки в признак доступа указателя клиента PGENERIC_MAPPING GenericMapping // в доступ-права структуры );
Параметры
ParentDescriptor
Точки на дескриптор безопасности для родительского директория в которых новый объект создается. Если нет родительского директория, этот параметр может быть НЕДЕЙСТВИТЕЛЕН.
CreatorDescriptor
Точки на дескриптор безопасности предусматривались создателем объекта. Если объектный создатель явно не передает информацию безопасности для нового объекта, этот параметр собирается быть НЕДЕЙСТВИТЕЛЕН.
lppsdNew
Точки на указатель в вновь размещенный дескриптор безопасности создавались когда функция возвращается.
IsDirectoryObject
Определяет независимо новый объект - контейнер. Величина ИСТИНЫ указывается, объект содержит другие объекты, как например, директорий.
Признак
Идентифицирует признак доступа для процесса клиента от чьего имени объект создается. Если это - признак маскировки, это должно быть на уровне SecurityIdentification или выше. Для полного описания уровня маскировки SecurityIdentification, смотри SECURITY_IMPERSONATION_LEVEL перечислившее тип
Признак клиента использован, чтобы извлекать по умолчанию информацию безопасности для нового объекта, как например, по умолчанию владелец, первичная группа, и дискреционный имеют доступ к-управляющему списку. Признак должен быть открытым для доступа TOKEN_QUERY.
GenericMapping
Точки на структуру GENERIC_MAPPING, которые определяют распределение от каждого общего права до специфических прав для объекта.
Обратные Величины
Если функция добивается успеха, обратная величина ненулевая. Если функция терпит неудачу, обратная величина нулевая. Для того, чтобы расширять информацию ошибки, назовите GetLastError.
Замечания
Если системный иметь доступ к-управляющему списку, или SACL, определен в SECURITY_DESCRIPTOR определенное CreatorDescriptor, Token должен приспособиться привилегию SE_SECURITY_NAME, и признак вызывающего оператора должен приспособиться привилегию SE_AUDIT_NAME. Функция CreatePrivateObjectSecurity выполняет доступ/привилегию чеков, чтобы гарантировать это, и может сгенерировать проверки в течение процесса.
Смотри Также
DestroyPrivateObjectSecurity, GENERIC_MAPPING, GetPrivateObjectSecurity, GetTokenInformation, OpenProcessToken, SECURITY_DESCRIPTOR, SECURITY_IMPERSONATION_LEVEL, SetPrivateObjectSecurity
|
|
|
|
| |