Bagikan melalui


IADsSecurityUtility::SetSecurityDescriptor method (iads.h)

Metode SetSecurityDescriptor mengatur deskriptor keamanan untuk file, berbagi file, atau kunci registri yang ditentukan.

Sintaks

HRESULT SetSecurityDescriptor(
  [in] VARIANT varPath,
  [in] long    lPathFormat,
  [in] VARIANT varData,
  [in] long    lDataFormat
);

Parameter

[in] varPath

String VARIAN yang berisi jalur objek untuk mengatur deskriptor keamanan. Nilai yang mungkin tercantum dalam daftar berikut.

File

Sintaks jalur file yang valid. Misalnya: "c:\specs\public\adxml.doc" atau "\adsi\public\dsclient.exe".

Berbagi file

Sintaks jalur file yang valid untuk berbagi file. Misalnya: "\adsi\public".

Kunci Registri

Sintaks registri yang valid. Misalnya, "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADs".

[in] lPathFormat

Berisi salah satu nilai ADS_PATHTYPE_ENUM yang menentukan format parameter varPath .

[in] varData

VARIAN yang berisi deskriptor keamanan baru. Format deskriptor keamanan ditentukan oleh parameter lDataFormat .

[in] lDataFormat

Berisi salah satu nilai ADS_SD_FORMAT_ENUM yang menentukan format deskriptor keamanan yang terkandung dalam parameter VarData . Daftar berikut mengidentifikasi kemungkinan nilai untuk parameter ini dan format parameter VarData .

Nilai kembali

Mengembalikan S_OK jika berhasil atau kode kesalahan COM atau Win32 sebaliknya. Kemungkinan kode kesalahan tercantum dalam daftar berikut.

Keterangan

Entri kontrol akses harus muncul dalam urutan berikut dalam daftar kontrol akses deskriptor keamanan:

  • ACE yang ditolak akses yang berlaku untuk objek itu sendiri
  • ACE yang ditolak akses yang berlaku untuk anak objek, seperti set properti atau properti
  • ACE yang diizinkan akses yang berlaku untuk objek itu sendiri
  • ACE yang diizinkan akses yang berlaku untuk anak objek, seperti set properti atau properti
  • Semua ACE yang diwariskan

Contoh

Contoh kode berikut menunjukkan cara mengatur deskriptor keamanan untuk file.

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

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Server minimum yang didukung Windows Server 2008
Target Platform Windows
Header iads.h
DLL Activeds.dll

Lihat juga

ADS_PATHTYPE_ENUM

ADS_SD_FORMAT_ENUM

ConvertSecurityDescriptor

IADsSecurityDescriptor

IADsSecurityUtility