OSDN Git Service

* include/aclapi.h [_WIN32_WINNT >= 0x0501] (GetInheritanceSource[AW]):
authorpapadopo <papadopo>
Fri, 26 Sep 2003 08:07:39 +0000 (08:07 +0000)
committerpapadopo <papadopo>
Fri, 26 Sep 2003 08:07:39 +0000 (08:07 +0000)
Add functions. Don't know what PFN_OBJECT_MGR_FUNCTS is so use
void* instead.

* include/accctrl.h [_WIN32_WINNT >= 0x0501] (INHERITED_FROM[AW],
PINHERITED_FROM[AW]): Add structures.

* lib/user32.def (GetInheritanceSource[AW]): Add functions.

winsup/w32api/ChangeLog
winsup/w32api/include/accctrl.h
winsup/w32api/include/aclapi.h
winsup/w32api/include/winuser.h
winsup/w32api/lib/advapi32.def

index b8cdb6e..431bbcb 100644 (file)
@@ -1,3 +1,14 @@
+2003-09-26  Dimitri Papadopoulos  <papadopo@users.sourceforge.net>
+
+       * include/aclapi.h [_WIN32_WINNT >= 0x0501] (GetInheritanceSource[AW]):
+       Add functions. Don't know what PFN_OBJECT_MGR_FUNCTS is so use
+       void* instead.
+
+       * include/accctrl.h [_WIN32_WINNT >= 0x0501] (INHERITED_FROM[AW],
+       PINHERITED_FROM[AW]): Add structures.
+
+       * lib/user32.def (GetInheritanceSource[AW]): Add functions.
+
 2003-09-26  Corinna Vinschen  <corinna@vinschen.de>
 
        * include/winuser.h (FLASHWINFO, PFLASHWINFO): Define for 98/Me, too.
index c04b944..6f96904 100644 (file)
@@ -256,27 +256,36 @@ typedef struct _EXPLICIT_ACCESS_W {
        DWORD        grfInheritance;
        TRUSTEE_W    Trustee;
 } EXPLICIT_ACCESS_W, *PEXPLICIT_ACCESS_W, EXPLICIT_ACCESSW, *PEXPLICIT_ACCESSW;
-typedef struct  _OBJECTS_AND_SID {
+typedef struct _OBJECTS_AND_SID {
        DWORD   ObjectsPresent;
        GUID    ObjectTypeGuid;
        GUID    InheritedObjectTypeGuid;
        SID     * pSid;
 } OBJECTS_AND_SID, *POBJECTS_AND_SID;
-typedef struct  _OBJECTS_AND_NAME_A {
+typedef struct _OBJECTS_AND_NAME_A {
        DWORD    ObjectsPresent;
        SE_OBJECT_TYPE ObjectType;
        LPSTR    ObjectTypeName;
        LPSTR    InheritedObjectTypeName;
        LPSTR    ptstrName;
 } OBJECTS_AND_NAME_A, *POBJECTS_AND_NAME_A;
-typedef struct  _OBJECTS_AND_NAME_W {
+typedef struct _OBJECTS_AND_NAME_W {
        DWORD          ObjectsPresent;
        SE_OBJECT_TYPE ObjectType;
        LPWSTR   ObjectTypeName;
        LPWSTR   InheritedObjectTypeName;
        LPWSTR   ptstrName;
 } OBJECTS_AND_NAME_W, *POBJECTS_AND_NAME_W;
-
+#if (_WIN32_WINNT >= 0x0501)
+typedef struct {
+       LONG     GenerationGap;
+       LPSTR    AncestorName;
+} INHERITED_FROMA, *PINHERITED_FROMA;
+typedef struct {
+       LONG     GenerationGap;
+       LPWSTR   AncestorName;
+} INHERITED_FROMW, *PINHERITED_FROMW;
+#endif /* (_WIN32_WINNT >= 0x0501) */
 
 #ifdef UNICODE
 #define ACCCTRL_DEFAULT_PROVIDER ACCCTRL_DEFAULT_PROVIDERW
@@ -292,6 +301,9 @@ typedef EXPLICIT_ACCESS_W EXPLICIT_ACCESS_, *PEXPLICIT_ACCESS_;
 typedef EXPLICIT_ACCESSW EXPLICIT_ACCESS, *PEXPLICIT_ACCESS;
 typedef TRUSTEE_ACCESSW TRUSTEE_ACCESS, *PTRUSTEE_ACCESS;
 typedef OBJECTS_AND_NAME_W OBJECTS_AND_NAME_, *POBJECTS_AND_NAME_;
+#if (_WIN32_WINNT >= 0x0501)
+typedef INHERITED_FROMW INHERITED_FROM, *PINHERITED_FROM;
+#endif
 #else
 #define ACCCTRL_DEFAULT_PROVIDER ACCCTRL_DEFAULT_PROVIDERA
 typedef TRUSTEE_A TRUSTEE_, *PTRUSTEE_;
@@ -306,10 +318,12 @@ typedef EXPLICIT_ACCESS_A EXPLICIT_ACCESS_, *PEXPLICIT_ACCESS_;
 typedef EXPLICIT_ACCESSA EXPLICIT_ACCESS, *PEXPLICIT_ACCESS;
 typedef TRUSTEE_ACCESSA TRUSTEE_ACCESS, *PTRUSTEE_ACCESS;
 typedef OBJECTS_AND_NAME_A OBJECTS_AND_NAME_, *POBJECTS_AND_NAME_;
+#if (_WIN32_WINNT >= 0x0501)
+typedef INHERITED_FROMA INHERITED_FROM, *PINHERITED_FROM;
 #endif
+#endif /* UNICODE */
 
 #ifdef __cplusplus
 }
 #endif
-
-#endif /* _ACCCTRL_H */
+#endif 
index 1d02240..d4ef6a7 100644 (file)
@@ -10,6 +10,7 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 VOID WINAPI BuildExplicitAccessWithNameA(PEXPLICIT_ACCESS_A,LPSTR,DWORD,ACCESS_MODE,DWORD);
 VOID WINAPI BuildExplicitAccessWithNameW(PEXPLICIT_ACCESS_W,LPWSTR,DWORD,ACCESS_MODE,DWORD);
 DWORD WINAPI BuildSecurityDescriptorA(PTRUSTEE_A,PTRUSTEE_A ,ULONG,PEXPLICIT_ACCESS_A,
@@ -32,6 +33,10 @@ DWORD WINAPI GetEffectiveRightsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK);
 DWORD WINAPI GetEffectiveRightsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK);
 DWORD WINAPI GetExplicitEntriesFromAclA(PACL,PULONG,PEXPLICIT_ACCESS_A*);
 DWORD WINAPI GetExplicitEntriesFromAclW(PACL,PULONG,PEXPLICIT_ACCESS_W*);
+#if (_WIN32_WINNT >= 0x0501)
+DWORD WINAPI GetInheritanceSourceA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMA);
+DWORD WINAPI GetInheritanceSourceW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMW);
+#endif
 DWORD WINAPI GetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
   PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
 DWORD WINAPI GetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
@@ -104,10 +109,9 @@ MULTIPLE_TRUSTEE_OPERATION WINAPI GetMultipleTrusteeOperationW(PTRUSTEE_W);
 #define BuildImpersonateTrustee  BuildImpersonateTrusteeA
 #define GetMultipleTrustee  GetMultipleTrusteeA
 #define GetMultipleTrusteeOperation  GetMultipleTrusteeOperationA
-#endif  /* UNICODE */
+#endif /* UNICODE */
 
 #ifdef __cplusplus
 }
 #endif
 #endif
-
index 5759635..0cbe7fb 100644 (file)
@@ -2834,7 +2834,7 @@ typedef struct {
   UINT  uCount;
   DWORD dwTimeout;
 } FLASHWINFO, *PFLASHWINFO;
-#endif /* (WINVER >= 0x0500) */
+#endif /* (WINVER >= 0x0500 || _WIN32_WINDOWS >= 0x0410) */
 #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
 typedef struct tagMOUSEMOVEPOINT {
   int x;
index bf2f2ed..99fc62b 100644 (file)
@@ -193,6 +193,8 @@ GetExplicitEntriesFromAclA@12
 GetExplicitEntriesFromAclW@12
 GetFileSecurityA@20
 GetFileSecurityW@20
+GetInheritanceSourceA@40
+GetInheritanceSourceW@40
 GetKernelObjectSecurity@20
 GetLengthSid@4
 GetLocalManagedApplications@12