Compartilhar via


Função ConvertStringSecurityDescriptorToSecurityDescriptorA (sddl.h)

A função ConvertStringSecurityDescriptorToSecurityDescriptor converte um descritor de segurança de de formato de cadeia de caracteres em um descritor de segurança válido e funcional. Essa função recupera um descritor de segurança que a função ConvertSecurityDescriptorToStringSecurityDescriptor convertida em formato de cadeia de caracteres.

Sintaxe

BOOL ConvertStringSecurityDescriptorToSecurityDescriptorA(
  [in]  LPCSTR               StringSecurityDescriptor,
  [in]  DWORD                StringSDRevision,
  [out] PSECURITY_DESCRIPTOR *SecurityDescriptor,
  [out] PULONG               SecurityDescriptorSize
);

Parâmetros

[in] StringSecurityDescriptor

Um ponteiro para uma cadeia de caracteres terminada em nulo que contém o descritor de segurança de formato de cadeia de caracteres a converter.

[in] StringSDRevision

Especifica o nível de revisão da cadeia de caracteres StringSecurityDescriptor. Atualmente, esse valor deve ser SDDL_REVISION_1.

[out] SecurityDescriptor

Um ponteiro para uma variável que recebe um ponteiro para o descritor de segurança convertido. O descritor de segurança retornado é auto-relativo. Para liberar o buffer retornado, chame a função LocalFree. Para converter o descritor de segurança em um de descritor de segurança absoluto, use a função MakeAbsoluteSD.

[out] SecurityDescriptorSize

Um ponteiro para uma variável que recebe o tamanho, em bytes, do descritor de segurança convertido. Esse parâmetro pode ser NULL.

Valor de retorno

Se a função for bem-sucedida, o valor retornado não será zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError. GetLastError pode retornar um dos seguintes códigos de erro.

Código de retorno Descrição
ERROR_INVALID_PARAMETER
Um parâmetro não é válido.
ERROR_UNKNOWN_REVISION
O nível de revisão do SDDL não é válido.
ERROR_NONE_MAPPED
Não foi possível encontrar um identificador de segurança (SID) na cadeia de caracteres do descritor de segurança de entrada em uma operação de pesquisa de conta.

Observações

Se ace_type for ACCESS_ALLOWED_OBJECT_ACE_TYPE e nem object_guid nem inherit_object_guid tiver um GUID especificado, ConvertStringSecurityDescriptorToSecurityDescriptor converterá ace_type em ACCESS_ALLOWED_ACE_TYPE. Para obter informações sobre os campos ace_type, object_guide inherit_object_guid, consulte de cadeias de caracteres ace.

Nota

O cabeçalho sddl.h define ConvertStringSecurityDescriptorToSecurityDescriptor como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [aplicativos da área de trabalho | Aplicativos UWP]
servidor com suporte mínimo Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
da Plataforma de Destino Windows
cabeçalho sddl.h
biblioteca Advapi32.lib
de DLL Advapi32.dll

Consulte também

Visão geral do controle de acesso

funções básicas de controle de acesso

ConvertSecurityDescriptorToStringSecurityDescriptor

ConvertSidToStringSid

ConvertStringSidToSid

MakeAbsoluteSD

SECURITY_DESCRIPTOR