Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  aclapi.rs   Sprache: unbekannt

 
// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.
use shared::guiddef::GUID;
use shared::minwindef::{BOOL, DWORD, PULONG, ULONG, USHORT};
use um::accctrl::{
    ACCESS_MODE, MULTIPLE_TRUSTEE_OPERATION, PEXPLICIT_ACCESS_A, PEXPLICIT_ACCESS_W,
    PFN_OBJECT_MGR_FUNCTS, PINHERITED_FROMA, PINHERITED_FROMW, POBJECTS_AND_NAME_A,
    POBJECTS_AND_NAME_W, POBJECTS_AND_SID, PPROG_INVOKE_SETTING, PROG_INVOKE_SETTING, PTRUSTEE_A,
    PTRUSTEE_W, SE_OBJECT_TYPE, TRUSTEE_FORM, TRUSTEE_TYPE
};
use um::winnt::{
    HANDLE, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PACCESS_MASK, PACL, PGENERIC_MAPPING,
    PSECURITY_DESCRIPTOR, PSID, PVOID, SECURITY_INFORMATION
};
FN!{cdecl FN_PROGRESS(
    pObjectName: LPWSTR,
    Status: DWORD,
    pInvokeSetting: PPROG_INVOKE_SETTING,
    Args: PVOID,
    SecuritySet: BOOL,
) -> ()}
extern "system" {
    pub fn SetEntriesInAclA(
        cCountOfExplicitEntries: ULONG,
        pListOfExplicitEntries: PEXPLICIT_ACCESS_A,
        OldAcl: PACL,
        NewAcl: *mut PACL,
    ) -> DWORD;
    pub fn SetEntriesInAclW(
        cCountOfExplicitEntries: ULONG,
        pListOfExplicitEntries: PEXPLICIT_ACCESS_W,
        OldAcl: PACL,
        NewAcl: *mut PACL,
    ) -> DWORD;
    pub fn GetExplicitEntriesFromAclA(
        pacl: PACL,
        pcCountOfExplicitEntries: PULONG,
        pListOfExplicitEntries: *mut PEXPLICIT_ACCESS_A,
    ) -> DWORD;
    pub fn GetExplicitEntriesFromAclW(
        pacl: PACL,
        pcCountOfExplicitEntries: PULONG,
        pListOfExplicitEntries: *mut PEXPLICIT_ACCESS_W,
    ) -> DWORD;
    pub fn GetEffectiveRightsFromAclA(
        pacl: PACL,
        pTrustee: PTRUSTEE_A,
        pAccessRight: PACCESS_MASK,
    ) -> DWORD;
    pub fn GetEffectiveRightsFromAclW(
        pacl: PACL,
        pTrustee: PTRUSTEE_W,
        pAccessRight: PACCESS_MASK,
    ) -> DWORD;
    pub fn GetAuditedPermissionsFromAclA(
        pAcl: PACL,
        pTrustee: PTRUSTEE_A,
        pSuccessfulAuditedRights: PACCESS_MASK,
        pFailedAuditRights: PACCESS_MASK,
    ) -> DWORD;
    pub fn GetAuditedPermissionsFromAclW(
        pAcl: PACL,
        pTrustee: PTRUSTEE_W,
        pSuccessfulAuditedRights: PACCESS_MASK,
        pFailedAuditRights: PACCESS_MASK,
    ) -> DWORD;
    pub fn GetNamedSecurityInfoA(
        pObjectName: LPCSTR,
        ObjectType: SE_OBJECT_TYPE,
        SecurityInfo: SECURITY_INFORMATION,
        ppsidOwner: *mut PSID,
        ppsidGroup: *mut PSID,
        ppDacl: *mut PACL,
        ppSacl: *mut PACL,
        ppSecurityDescriptor: *mut PSECURITY_DESCRIPTOR,
    ) -> DWORD;
    pub fn GetNamedSecurityInfoW(
        pObjectName: LPCWSTR,
        ObjectType: SE_OBJECT_TYPE,
        SecurityInfo: SECURITY_INFORMATION,
        ppsidOwner: *mut PSID,
        ppsidGroup: *mut PSID,
        ppDacl: *mut PACL,
        ppSacl: *mut PACL,
        ppSecurityDescriptor: *mut PSECURITY_DESCRIPTOR,
    ) -> DWORD;
    pub fn GetSecurityInfo(
        handle: HANDLE,
        ObjectType: SE_OBJECT_TYPE,
        SecurityInfo: SECURITY_INFORMATION,
        ppsidOwner: *mut PSID,
        ppsidGroup: *mut PSID,
        ppDacl: *mut PACL,
        ppSacl: *mut PACL,
        ppSecurityDescriptor: *mut PSECURITY_DESCRIPTOR,
    ) -> DWORD;
    pub fn SetNamedSecurityInfoA(
        pObjectame: LPSTR,
        ObjectType: SE_OBJECT_TYPE,
        SecurityInfo: SECURITY_INFORMATION,
        psidOwner: PSID,
        psidGroup: PSID,
        pDacl: PACL,
        pSacl: PACL,
    ) -> DWORD;
    pub fn SetNamedSecurityInfoW(
        pObjectame: LPWSTR,
        ObjectType: SE_OBJECT_TYPE,
        SecurityInfo: SECURITY_INFORMATION,
        psidOwner: PSID,
        psidGroup: PSID,
        pDacl: PACL,
        pSacl: PACL,
    ) -> DWORD;
    pub fn SetSecurityInfo(
        handle: HANDLE,
        ObjectType: SE_OBJECT_TYPE,
        SecurityInfo: SECURITY_INFORMATION,
        psidOwner: PSID,
        psidGroup: PSID,
        pDacl: PACL,
        pSacl: PACL,
    ) -> DWORD;
    pub fn GetInheritanceSourceA(
        pObjectName: LPSTR,
        ObjectType: SE_OBJECT_TYPE,
        SecurityInfo: SECURITY_INFORMATION,
        Container: BOOL,
        pObjectClassGuids: *mut *mut GUID,
        GuidCount: DWORD,
        pAcl: PACL,
        pfnArray: PFN_OBJECT_MGR_FUNCTS,
        pGenericMapping: PGENERIC_MAPPING,
        pInheritArray: PINHERITED_FROMA,
    ) -> DWORD;
    pub fn GetInheritanceSourceW(
        pObjectName: LPWSTR,
        ObjectType: SE_OBJECT_TYPE,
        SecurityInfo: SECURITY_INFORMATION,
        Container: BOOL,
        pObjectClassGuids: *mut *mut GUID,
        GuidCount: DWORD,
        pAcl: PACL,
        pfnArray: PFN_OBJECT_MGR_FUNCTS,
        pGenericMapping: PGENERIC_MAPPING,
        pInheritArray: PINHERITED_FROMW,
    ) -> DWORD;
    pub fn FreeInheritedFromArray(
        pInheritArray: PINHERITED_FROMW,
        AceCnt: USHORT,
        pfnArray: PFN_OBJECT_MGR_FUNCTS,
    ) -> DWORD;
    pub fn TreeResetNamedSecurityInfoA(
        pObjectName: LPSTR,
        ObjectType: SE_OBJECT_TYPE,
        SecurityInfo: SECURITY_INFORMATION,
        pOwner: PSID,
        pGroup: PSID,
        pDacl: PACL,
        pSacl: PACL,
        KeepExplicit: BOOL,
        fnProgress: FN_PROGRESS,
        ProgressInvokeSetting: PROG_INVOKE_SETTING,
        Args: PVOID,
    ) -> DWORD;
    pub fn TreeResetNamedSecurityInfoW(
        pObjectName: LPWSTR,
        ObjectType: SE_OBJECT_TYPE,
        SecurityInfo: SECURITY_INFORMATION,
        pOwner: PSID,
        pGroup: PSID,
        pDacl: PACL,
        pSacl: PACL,
        KeepExplicit: BOOL,
        fnProgress: FN_PROGRESS,
        ProgressInvokeSetting: PROG_INVOKE_SETTING,
        Args: PVOID,
    ) -> DWORD;
    pub fn TreeSetNamedSecurityInfoA(
        pObjectName: LPSTR,
        ObjectType: SE_OBJECT_TYPE,
        SecurityInfo: SECURITY_INFORMATION,
        pOwner: PSID,
        pGroup: PSID,
        pDacl: PACL,
        pSacl: PACL,
        dwAction: DWORD,
        fnProgress: FN_PROGRESS,
        ProgressInvokeSetting: PROG_INVOKE_SETTING,
        Args: PVOID,
    ) -> DWORD;
    pub fn TreeSetNamedSecurityInfoW(
        pObjectName: LPWSTR,
        ObjectType: SE_OBJECT_TYPE,
        SecurityInfo: SECURITY_INFORMATION,
        pOwner: PSID,
        pGroup: PSID,
        pDacl: PACL,
        pSacl: PACL,
        dwAction: DWORD,
        fnProgress: FN_PROGRESS,
        ProgressInvokeSetting: PROG_INVOKE_SETTING,
        Args: PVOID,
    ) -> DWORD;
    pub fn BuildSecurityDescriptorA(
        pOwner: PTRUSTEE_A,
        pGroup: PTRUSTEE_A,
        cCountOfAccessEntries: ULONG,
        pListOfAccessEntries: PEXPLICIT_ACCESS_A,
        cCountOfAuditEntries: ULONG,
        pListOfAuditEntries: PEXPLICIT_ACCESS_A,
        pOldSD: PSECURITY_DESCRIPTOR,
        pSizeNewSD: PULONG,
        pNewSD: *mut PSECURITY_DESCRIPTOR,
    ) -> DWORD;
    pub fn BuildSecurityDescriptorW(
        pOwner: PTRUSTEE_W,
        pGroup: PTRUSTEE_W,
        cCountOfAccessEntries: ULONG,
        pListOfAccessEntries: PEXPLICIT_ACCESS_W,
        cCountOfAuditEntries: ULONG,
        pListOfAuditEntries: PEXPLICIT_ACCESS_W,
        pOldSD: PSECURITY_DESCRIPTOR,
        pSizeNewSD: PULONG,
        pNewSD: *mut PSECURITY_DESCRIPTOR,
    ) -> DWORD;
    pub fn LookupSecurityDescriptorPartsA(
        ppOwner: *mut PTRUSTEE_A,
        ppGroup: *mut PTRUSTEE_A,
        pcCountOfAccessEntries: PULONG,
        ppListOfAccessEntries: *mut PEXPLICIT_ACCESS_A,
        pcCountOfAuditEntries: PULONG,
        ppListOfAuditEntries: *mut PEXPLICIT_ACCESS_A,
        pSD: PSECURITY_DESCRIPTOR,
    ) -> DWORD;
    pub fn LookupSecurityDescriptorPartsW(
        ppOwner: *mut PTRUSTEE_W,
        ppGroup: *mut PTRUSTEE_W,
        pcCountOfAccessEntries: PULONG,
        ppListOfAccessEntries: *mut PEXPLICIT_ACCESS_W,
        pcCountOfAuditEntries: PULONG,
        ppListOfAuditEntries: *mut PEXPLICIT_ACCESS_W,
        pSD: PSECURITY_DESCRIPTOR,
    ) -> DWORD;
    pub fn BuildExplicitAccessWithNameA(
        pExplicitAccess: PEXPLICIT_ACCESS_A,
        pTrusteeName: LPSTR,
        AccessPermissions: DWORD,
        AccessMode: ACCESS_MODE,
        Inheritance: DWORD,
    );
    pub fn BuildExplicitAccessWithNameW(
        pExplicitAccess: PEXPLICIT_ACCESS_W,
        pTrusteeName: LPWSTR,
        AccessPermissions: DWORD,
        AccessMode: ACCESS_MODE,
        Inheritance: DWORD,
    );
    pub fn BuildImpersonateExplicitAccessWithNameA(
        pExplicitAccess: PEXPLICIT_ACCESS_A,
        pTrusteeName: LPSTR,
        pTrustee: PTRUSTEE_A,
        AccessPermissions: DWORD,
        AccessMode: ACCESS_MODE,
        Inheritance: DWORD,
    );
    pub fn BuildImpersonateExplicitAccessWithNameW(
        pExplicitAccess: PEXPLICIT_ACCESS_W,
        pTrusteeName: LPWSTR,
        pTrustee: PTRUSTEE_W,
        AccessPermissions: DWORD,
        AccessMode: ACCESS_MODE,
        Inheritance: DWORD,
    );
    pub fn BuildTrusteeWithNameA(
        pTrustee: PTRUSTEE_A,
        pName: LPSTR,
    );
    pub fn BuildTrusteeWithNameW(
        pTrustee: PTRUSTEE_W,
        pName: LPWSTR,
    );
    pub fn BuildImpersonateTrusteeA(
        pTrustee: PTRUSTEE_A,
        pImpersonateTrustee: PTRUSTEE_A,
    );
    pub fn BuildImpersonateTrusteeW(
        pTrustee: PTRUSTEE_W,
        pImpersonateTrustee: PTRUSTEE_W,
    );
    pub fn BuildTrusteeWithSidA(
        pTrustee: PTRUSTEE_A,
        pSid: PSID,
    );
    pub fn BuildTrusteeWithSidW(
        pTrustee: PTRUSTEE_W,
        pSid: PSID,
    );
    pub fn BuildTrusteeWithObjectsAndSidA(
        pTrustee: PTRUSTEE_A,
        pObjSid: POBJECTS_AND_SID,
        pObjectGuid: *mut GUID,
        pInheritedObjectGuid: *mut GUID,
        pSid: PSID,
    );
    pub fn BuildTrusteeWithObjectsAndSidW(
        pTrustee: PTRUSTEE_W,
        pObjSid: POBJECTS_AND_SID,
        pObjectGuid: *mut GUID,
        pInheritedObjectGuid: *mut GUID,
        pSid: PSID,
    );
    pub fn BuildTrusteeWithObjectsAndNameA(
        pTrustee: PTRUSTEE_A,
        pObjName: POBJECTS_AND_NAME_A,
        ObjectType: SE_OBJECT_TYPE,
        ObjectTypeName: LPSTR,
        InheritedObjectTypeName: LPSTR,
        Name: LPSTR,
    );
    pub fn BuildTrusteeWithObjectsAndNameW(
        pTrustee: PTRUSTEE_W,
        pObjName: POBJECTS_AND_NAME_W,
        ObjectType: SE_OBJECT_TYPE,
        ObjectTypeName: LPWSTR,
        InheritedObjectTypeName: LPWSTR,
        Name: LPWSTR,
    );
    pub fn GetTrusteeNameA(
        pTrustee: PTRUSTEE_A,
    ) -> LPSTR;
    pub fn GetTrusteeNameW(
        pTrustee: PTRUSTEE_W,
    ) -> LPWSTR;
    pub fn GetTrusteeTypeA(
        pTrustee: PTRUSTEE_A,
    ) -> TRUSTEE_TYPE;
    pub fn GetTrusteeTypeW(
        pTrustee: PTRUSTEE_W,
    ) -> TRUSTEE_TYPE;
    pub fn GetTrusteeFormA(
        pTrustee: PTRUSTEE_A,
    ) -> TRUSTEE_FORM;
    pub fn GetTrusteeFormW(
        pTrustee: PTRUSTEE_W,
    ) -> TRUSTEE_FORM;
    pub fn GetMultipleTrusteeOperationA(
        pTrustee: PTRUSTEE_A,
    ) -> MULTIPLE_TRUSTEE_OPERATION;
    pub fn GetMultipleTrusteeOperationW(
        pTrustee: PTRUSTEE_W,
    ) -> MULTIPLE_TRUSTEE_OPERATION;
    pub fn GetMultipleTrusteeA(
        pTrustee: PTRUSTEE_A,
    ) -> PTRUSTEE_A;
    pub fn GetMultipleTrusteeW(
        pTrustee: PTRUSTEE_W,
    ) -> PTRUSTEE_W;
}

[ Dauer der Verarbeitung: 0.25 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge