code: func SetNamedSecurityInfo(objectName string, objectType int32, secInfo uint32, owner, group *windows.SID, dacl, sacl windows.Handle) error {
  	ret, _, err := procSetNamedSecurityInfoW.Call(
  		uintptr(unsafe.Pointer(windows.StringToUTF16Ptr(objectName))),
  		uintptr(objectType),
  		uintptr(secInfo),
  		uintptr(unsafe.Pointer(owner)),
  		uintptr(unsafe.Pointer(group)),
  		uintptr(dacl),
  		uintptr(sacl),
  	)
  	if ret != 0 {
  		return err
  	}
  	return nil
  }
docs: // https://msdn.microsoft.com/en-us/library/windows/desktop/aa379579.aspx