NTSTATUS svc_OpenSCManager(struct dcerpc_pipe * svc_pipe, const char *hostname, struct policy_handle * pscm_handle) { NTSTATUS status; struct svcctl_OpenSCManagerW r; r.in.MachineName = hostname; r.in.DatabaseName = NULL; r.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED; r.out.handle = pscm_handle; status = dcerpc_svcctl_OpenSCManagerW(svc_pipe, NULL, &r); return NT_RES(status, r.out.result); }
static bool test_OpenSCManager(struct dcerpc_pipe *p, struct torture_context *tctx, struct policy_handle *h) { struct svcctl_OpenSCManagerW r; r.in.MachineName = NULL; r.in.DatabaseName = NULL; r.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED; r.out.handle = h; torture_assert_ntstatus_ok(tctx, dcerpc_svcctl_OpenSCManagerW(p, tctx, &r), "OpenSCManager failed!"); return true; }
static BOOL test_OpenSCManager(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct policy_handle *h) { struct svcctl_OpenSCManagerW r; NTSTATUS status; r.in.MachineName = NULL; r.in.DatabaseName = NULL; r.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED; r.out.handle = h; status = dcerpc_svcctl_OpenSCManagerW(p, mem_ctx, &r); if (!NT_STATUS_IS_OK(status)) { printf("OpenSCManager failed!\n"); return False; } return True; }