diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2002-07-02 12:59:43 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2002-07-02 12:59:43 +0000 |
commit | d183515c9fa35681286cbdf02da37845648cef0b (patch) | |
tree | ebb64fa5131928d54cc2a1641a78995dc1afbac6 /winsup/utils | |
parent | b7e51146bfef4e3677633a8c18d943551ccf0c86 (diff) | |
download | cygnal-d183515c9fa35681286cbdf02da37845648cef0b.tar.gz cygnal-d183515c9fa35681286cbdf02da37845648cef0b.tar.bz2 cygnal-d183515c9fa35681286cbdf02da37845648cef0b.zip |
* mkgroup.c: Add function pointers for functions from advapi32.dll.
(load_netapi): Load used functions from advapi32.dll.
(main): Use function pointers instead of statically linked functions
from advapi32.dll.
Diffstat (limited to 'winsup/utils')
-rw-r--r-- | winsup/utils/ChangeLog | 7 | ||||
-rw-r--r-- | winsup/utils/mkgroup.c | 25 |
2 files changed, 28 insertions, 4 deletions
diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog index b7a6759b7..ff7d66070 100644 --- a/winsup/utils/ChangeLog +++ b/winsup/utils/ChangeLog @@ -1,3 +1,10 @@ +2002-07-01 Corinna Vinschen <corinna@vinschen.de> + + * mkgroup.c: Add function pointers for functions from advapi32.dll. + (load_netapi): Load used functions from advapi32.dll. + (main): Use function pointers instead of statically linked functions + from advapi32.dll. + 2002-07-01 Christopher Faylor <cgf@redhat.com> * mount.cc (main): Ensure that mount_already_exists() also gets default diff --git a/winsup/utils/mkgroup.c b/winsup/utils/mkgroup.c index 5457354ee..666fdec7e 100644 --- a/winsup/utils/mkgroup.c +++ b/winsup/utils/mkgroup.c @@ -32,6 +32,11 @@ NET_API_STATUS WINAPI (*netlocalgroupgetmembers)(LPWSTR,LPWSTR,DWORD,PBYTE*,DWOR NET_API_STATUS WINAPI (*netgetdcname)(LPWSTR,LPWSTR,PBYTE*); NET_API_STATUS WINAPI (*netgroupgetusers)(LPWSTR,LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NTSTATUS NTAPI (*lsaclose)(LSA_HANDLE); +NTSTATUS NTAPI (*lsaopenpolicy)(PLSA_UNICODE_STRING,PLSA_OBJECT_ATTRIBUTES,ACCESS_MASK,PLSA_HANDLE); +NTSTATUS NTAPI (*lsaqueryinformationpolicy)(LSA_HANDLE,POLICY_INFORMATION_CLASS,PVOID*); +NTSTATUS NTAPI (*lsafreememory)(PVOID); + #ifndef min #define min(a,b) (((a)<(b))?(a):(b)) #endif @@ -57,6 +62,18 @@ load_netapi () if (!(netgetdcname = (void *) GetProcAddress (h, "NetGetDCName"))) return FALSE; + if (!(h = LoadLibrary ("advapi32.dll"))) + return FALSE; + + if (!(lsaclose = (void *) GetProcAddress (h, "LsaClose"))) + return FALSE; + if (!(lsaopenpolicy = (void *) GetProcAddress (h, "LsaOpenPolicy"))) + return FALSE; + if (!(lsaqueryinformationpolicy = (void *) GetProcAddress (h, "LsaQueryInformationPolicy"))) + return FALSE; + if (!(lsafreememory = (void *) GetProcAddress (h, "LsaFreeMemory"))) + return FALSE; + return TRUE; } @@ -573,10 +590,10 @@ main (int argc, char **argv) psid = (PSID) buf; else { - ret = LsaOpenPolicy(NULL, &oa, POLICY_VIEW_LOCAL_INFORMATION, &lsa); + ret = lsaopenpolicy (NULL, &oa, POLICY_VIEW_LOCAL_INFORMATION, &lsa); if (ret == STATUS_SUCCESS && lsa != INVALID_HANDLE_VALUE) { - ret = LsaQueryInformationPolicy (lsa, + ret = lsaqueryinformationpolicy (lsa, PolicyPrimaryDomainInformation, (PVOID *) &pdi); if (ret == STATUS_SUCCESS) @@ -586,9 +603,9 @@ main (int argc, char **argv) CopySid (1024, (PSID) buf, pdi->Sid); psid = (PSID) buf; } - LsaFreeMemory (pdi); + lsafreememory (pdi); } - LsaClose (lsa); + lsaclose (lsa); } } if (!psid) |