summaryrefslogtreecommitdiff
path: root/lib/chef/win32
diff options
context:
space:
mode:
authorJay Mundrawala <jdmundrawala@gmail.com>2015-07-29 13:20:08 -0700
committerJay Mundrawala <jdmundrawala@gmail.com>2015-07-29 13:20:08 -0700
commited8410999f190de51e082c4c4f5a8a8e2704f7e2 (patch)
tree68e7526806cacaf9fa92ac0b480f4e40af59bf7b /lib/chef/win32
parent7982fa19f67fb15b29ed8559ea81b5e19bc91380 (diff)
downloadchef-ed8410999f190de51e082c4c4f5a8a8e2704f7e2.tar.gz
Rewrite NetLocalGroupDel to use FFI
Diffstat (limited to 'lib/chef/win32')
-rw-r--r--lib/chef/win32/api/net.rb6
-rw-r--r--lib/chef/win32/net.rb10
2 files changed, 16 insertions, 0 deletions
diff --git a/lib/chef/win32/api/net.rb b/lib/chef/win32/api/net.rb
index d2a05523ed..66059fc3eb 100644
--- a/lib/chef/win32/api/net.rb
+++ b/lib/chef/win32/api/net.rb
@@ -148,6 +148,12 @@ class Chef
#);
safe_attach_function :NetLocalGroupAdd, [ :LPCWSTR, :DWORD, :LPBYTE, :LPDWORD], :DWORD
+#NET_API_STATUS NetLocalGroupDel(
+ #_In_ LPCWSTR servername,
+ #_In_ LPCWSTR groupname
+#);
+ safe_attach_function :NetLocalGroupDel, [ :LPCWSTR, :LPCWSTR], :DWORD
+
# NET_API_STATUS NetUserEnum(
# _In_ LPCWSTR servername,
# _In_ DWORD level,
diff --git a/lib/chef/win32/net.rb b/lib/chef/win32/net.rb
index ce6b64e255..29a2bb2244 100644
--- a/lib/chef/win32/net.rb
+++ b/lib/chef/win32/net.rb
@@ -119,6 +119,16 @@ END
end
end
+ def self.net_local_group_del(server_name, group_name)
+ server_name = wstring(server_name)
+ group_name = wstring(group_name)
+
+ rc = NetLocalGroupDel(server_name, group_name)
+ if rc != NERR_Success
+ net_api_error!(rc)
+ end
+ end
+
def self.net_user_add_l3(server_name, args)
buf = default_user_info_3