summaryrefslogtreecommitdiff
path: root/lib/chef/win32/api
diff options
context:
space:
mode:
authorJay Mundrawala <jdmundrawala@gmail.com>2015-07-29 15:39:25 -0700
committerJay Mundrawala <jdmundrawala@gmail.com>2015-07-29 15:39:25 -0700
commitd03b97177b1a7dcf9e895f6ca74ec63f8b71f158 (patch)
treebea64f2826782b3eb844a25196e99a5b83020416 /lib/chef/win32/api
parent3519f13ad7cb7bb582198185cb0bc470330fb866 (diff)
downloadchef-d03b97177b1a7dcf9e895f6ca74ec63f8b71f158.tar.gz
FFIify NetLocalGroupGetMembers
Diffstat (limited to 'lib/chef/win32/api')
-rw-r--r--lib/chef/win32/api/net.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/chef/win32/api/net.rb b/lib/chef/win32/api/net.rb
index 66059fc3eb..d02add9c2c 100644
--- a/lib/chef/win32/api/net.rb
+++ b/lib/chef/win32/api/net.rb
@@ -49,7 +49,9 @@ class Chef
NERR_BadPassword = 2203
NERR_PasswordTooShort = 2245
NERR_UserNotFound = 2221
+ NERR_GroupNotFound = 2220
ERROR_ACCESS_DENIED = 5
+ ERROR_MORE_DATA = 234
ffi_lib "netapi32"
@@ -132,6 +134,10 @@ class Chef
end
end
+ class LOCALGROUP_MEMBERS_INFO_0 < FFI::Struct
+ layout :lgrmi0_sid, :PSID
+ end
+
class LOCALGROUP_MEMBERS_INFO_3 < FFI::Struct
layout :lgrmi3_domainandname, :LPWSTR
end
@@ -154,6 +160,21 @@ class Chef
#);
safe_attach_function :NetLocalGroupDel, [ :LPCWSTR, :LPCWSTR], :DWORD
+#NET_API_STATUS NetLocalGroupGetMembers(
+ #_In_ LPCWSTR servername,
+ #_In_ LPCWSTR localgroupname,
+ #_In_ DWORD level,
+ #_Out_ LPBYTE *bufptr,
+ #_In_ DWORD prefmaxlen,
+ #_Out_ LPDWORD entriesread,
+ #_Out_ LPDWORD totalentries,
+ #_Inout_ PDWORD_PTR resumehandle
+#);
+ safe_attach_function :NetLocalGroupGetMembers, [
+ :LPCWSTR, :LPCWSTR, :DWORD, :LPBYTE, :DWORD,
+ :LPDWORD, :LPDWORD, :PDWORD_PTR
+ ], :DWORD
+
# NET_API_STATUS NetUserEnum(
# _In_ LPCWSTR servername,
# _In_ DWORD level,