vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Windows API
Besitz von Dateien übernehmen 
Autor: NHZ
Datum: 17.05.04 17:17

Hallo,
ich möchte den Besitz von Dateien/Verzeichnissen übernehmen, auch wenn die Administratoren keinen expliziten Zugriff darauf haben. Dazu gibt es unter
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/security/security/taking_object_ownership_in_c__.asp
einen Beispiel-Code für C++.
Ich habe versucht diesen Code nach VB zu übersetzen. Leider bekomme ich in der Zeile 'dwRes = SetEntriesInAcl(NUM_ACES, ea, pOldDACL, pNewDACL)' den Fehler
Typen unverträglich.

Wer kann mir sagen warum?
Danke im vorraus

Hier der Code der Funktion
Private Function SetOwnership() As Boolean
Dim ea(NUM_ACES - 1) As EXPLICIT_ACCESS
 
Dim SIDAuthWorld As SID_IDENTIFIER_AUTHORITY
Dim SIDAuthNT As SID_IDENTIFIER_AUTHORITY
Dim pSIDAdmin As Long
Dim pSIDEveryone As Long
Dim pACL As Long
Dim pNewDACL As Long
Dim pOldDACL As Long
Dim dwRes As Long
 
    SIDAuthWorld.Value(6) = SECURITY_WORLD_SID_AUTHORITY
    SIDAuthNT.Value(6) = SECURITY_NT_AUTHORITY
 
    ' Specify the DACL to use.
    ' Create a SID for the Everyone group.
    dwRes& = AllocateAndInitializeSid(SIDAuthWorld, 1, SECURITY_WORLD_RID, 0, _
      0, 0, 0, 0, 0, 0, pSIDEveryone)
    If dwRes& = 0 Then
        MsgBox "AllocateAndInitializeSid (Everyone) error (" & dwRes& & "):" & _
          dwRes&
        GoTo Cleanup
    End If
 
    ' Create a SID for the BUILTIN\Administrators group.
    dwRes& = AllocateAndInitializeSid(SIDAuthNT, 2, _
      SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS, _
                       0, 0, 0, 0, 0, 0, pSIDAdmin)
 
    If dwRes& = 0 Then
        MsgBox "AllocateAndInitializeSid (Admin) error (" & dwRes& & "):" & _
          dwRes&
        GoTo Cleanup
    End If
 
    ' Set read access for Everyone.
    ea(0).grfAccessPermissions = GENERIC_READ
    ea(0).grfAccessMode = SET_ACCESS
    ea(0).grfInheritance = NO_INHERITANCE
    ea(0).pTRUSTEE.TrusteeForm = TRUSTEE_IS_SID
    ea(0).pTRUSTEE.TrusteeType = TRUSTEE_IS_WELL_KNOWN_GROUP
    ea(0).pTRUSTEE.ptstrName = pSIDEveryone
 
    ' Set full control for Administrators.
    ea(1).grfAccessPermissions = GENERIC_ALL
    ea(1).grfAccessMode = SET_ACCESS
    ea(1).grfInheritance = NO_INHERITANCE
    ea(1).pTRUSTEE.TrusteeForm = TRUSTEE_IS_SID
    ea(1).pTRUSTEE.TrusteeType = TRUSTEE_IS_GROUP
    ea(1).pTRUSTEE.ptstrName = pSIDAdmin
 
    ' SetEntriesInAcl() API
    dwRes = SetEntriesInAcl(NUM_ACES, ea, pOldDACL, pNewDACL)
 
    If dwRes& <> ERROR_SUCCESS Then
        MsgBox "Failed SetEntriesInAcl error (" & dwRes& & "):" &  dwRes&
        GoTo Cleanup
    End If
    .....
   ....
 End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Besitz von Dateien übernehmen3.190NHZ17.05.04 17:17
Re: Besitz von Dateien übernehmen2.152Obi17.05.04 21:27
Re: Besitz von Dateien übernehmen2.359NHZ19.05.04 09:47
Re: Besitz von Dateien übernehmen2.098Obi19.05.04 18:21
Re: Besitz von Dateien übernehmen2.176NHZ21.05.04 12:40
Re: Besitz von Dateien übernehmen2.104Obi21.05.04 17:50
Re: Besitz von Dateien übernehmen2.711Obi22.05.04 23:56
Re: Besitz von Dateien übernehmen2.235NHZ24.05.04 17:00
Re: Besitz von Dateien übernehmen1.827azn_ki27.06.05 15:26

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel