public void SetState(int requestedUpdateRate, out int revisedUpdateRate, bool isActive, int timeBias, float percentDeadband, int localeId, int clientHandle) { var hReqUpdateRate = GCHandle.Alloc(requestedUpdateRate, GCHandleType.Pinned); var hActive = GCHandle.Alloc(isActive ? 1 : 0, GCHandleType.Pinned); var hTimeBias = GCHandle.Alloc(timeBias, GCHandleType.Pinned); var hDeadband = GCHandle.Alloc(percentDeadband, GCHandleType.Pinned); var hLcid = GCHandle.Alloc(localeId, GCHandleType.Pinned); var hHandle = GCHandle.Alloc(clientHandle, GCHandleType.Pinned); try { GroupStateMgt.SetState( hReqUpdateRate.AddrOfPinnedObject(), out revisedUpdateRate, hActive.AddrOfPinnedObject(), hTimeBias.AddrOfPinnedObject(), hDeadband.AddrOfPinnedObject(), hLcid.AddrOfPinnedObject(), hHandle.AddrOfPinnedObject()); } finally { hReqUpdateRate.Free(); hActive.Free(); hTimeBias.Free(); hDeadband.Free(); hLcid.Free(); hHandle.Free(); } }
public void GetState(out int updateRate, out bool isActive, out string name, out int timeBias, out float percentDeadband, out int localeId, out int clientHandle, out int serverHandle) { int pActive = 0; GroupStateMgt.GetState(out updateRate, out pActive, out name, out timeBias, out percentDeadband, out localeId, out clientHandle, out serverHandle); isActive = (pActive != 0); }
public void SetName(string name) { GroupStateMgt.SetName(name); }