Método IADsSecurityUtility::SetSecurityDescriptor (iads.h)
O método SetSecurityDescriptor define o descritor de segurança para o arquivo, o compartilhamento de arquivos ou a chave do Registro especificados.
Sintaxe
HRESULT SetSecurityDescriptor(
[in] VARIANT varPath,
[in] long lPathFormat,
[in] VARIANT varData,
[in] long lDataFormat
);
Parâmetros
[in] varPath
Uma cadeia de caracteres VARIANT que contém o caminho do objeto para o qual definir o descritor de segurança. Os valores possíveis são listados na lista a seguir.
Arquivo
Uma sintaxe de caminho de arquivo válida. Por exemplo: "c:\specs\public\adxml.doc" ou "\adsi\public\dsclient.exe".
Compartilhamento de arquivo
Uma sintaxe de caminho de arquivo válida para um compartilhamento de arquivos. Por exemplo: "\adsi\public".
Chave do Registro
Uma sintaxe válida do Registro. Por exemplo, "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADs".
[in] lPathFormat
Contém um dos valores ADS_PATHTYPE_ENUM que especifica o formato do parâmetro varPath .
[in] varData
Uma VARIANT que contém o novo descritor de segurança. O formato do descritor de segurança é especificado pelo parâmetro lDataFormat .
[in] lDataFormat
Contém um dos valores ADS_SD_FORMAT_ENUM que especifica o formato do descritor de segurança contido no parâmetro VarData . A lista a seguir identifica os valores possíveis para esse parâmetro e o formato do parâmetro VarData .
Retornar valor
Retorna S_OK se tiver êxito ou um código de erro COM ou Win32 caso contrário. Os códigos de erro possíveis estão listados na lista a seguir.
Comentários
As entradas de controle de acesso devem aparecer na seguinte ordem na lista de controle de acesso de um descritor de segurança:
- ACEs negados pelo acesso que se aplicam ao próprio objeto
- ACEs negados pelo acesso que se aplicam a um filho do objeto, como um conjunto de propriedades ou uma propriedade
- ACEs permitidas pelo acesso que se aplicam ao próprio objeto
- ACEs permitidas pelo acesso que se aplicam a um filho do objeto, como um conjunto de propriedades ou uma propriedade
- Todos os ACEs herdados
Exemplos
O exemplo de código a seguir mostra como definir um descritor de segurança para um arquivo.
Dim dacl as IADsAccessControlList
Dim sd as IADsSecurityDescriptor
Dim newAce as New AccessControlEntry
Dim sdUtil as New ADsSecurityUtility
Set sd = sdUtil.GetSecurityDescriptor("c:\specs\adsixml.doc", ADS_PATH_FILE, ADS_SD_FORMAT_IID )
Set dacl = sd.DiscretionaryAcl
' Add a new ACE for Jeff Smith.
newAce.Trustee = "Fabrikam\jeffsmith"
newAce.AccessMask = ADS_RIGHT_GENERIC_READ Or ADS_RIGHT_GENERIC_EXECUTE
newAce.AceType = ADS_ACETYPE_ACCESS_ALLOWED
dacl.AddAce newAce
sd.DiscretionaryAcl = dacl
sdUtil.SetSecurityDescriptor "c:\specs\adsixml.doc", ADS_PATH_FILE, sd, ADS_SD_FORMAT_IID
Cleanup:
If (Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set dacl = Nothing
Set sd = Nothing
Set newAce = Nothing
Set sdUtil = Nothing
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Servidor mínimo com suporte | Windows Server 2008 |
Plataforma de Destino | Windows |
Cabeçalho | iads.h |
DLL | Activeds.dll |