Hi, using IAppointment interface in C++ to create appointments in a calendar on an Exchange 2000 server. Previously starttime/endtime properties were used to set the time of the appointment, but now a change to starttime/duration is neccessary to fix a problem. I have tried setting the duration property in several different ways, but nothing seems to make any difference. The endtime of the created appointment is always set to the current time and the duration is set to reflect this. Exactly the same behaviour as if I don't specify any of duration or endtime. Below is some of the code, the first version works correctly, but in the second version I try to replace endtime with duration and it gives the strange endtime... CODE: --------------------------------------- // Create a pointer to the CDOEX Appointment interface. IAppointmentPtr iAppointment(__uuidof(Appointment)); iAppointment->Fields->Item[ cdoReminderOffset ]->Value = (long)900; iAppointment->StartTime = CTimeConversion::GetVariantDate( timeStart ); iAppointment->EndTime = CTimeConversion::GetVariantDate( timeEnd ); ..... iAppointment->Fields->Update(); --------------------------------------- // Create a pointer to the CDOEX Appointment interface. IAppointmentPtr iAppointment(__uuidof(Appointment)); iAppointment->Fields->Item[ cdoReminderOffset ]->Value = (long)900; iAppointment->StartTime = CTimeConversion::GetVariantDate( timeStart ); iAppointment->Fields->Item [ cdoDuration ]->Value = (long) 1530002; //iAppointment->Duration = (long) lDuration; //iAppointment->put_Duration ( lDuration ); ..... iAppointment->Fields->Update(); --------------------------------------- I have tried the three different ways of setting duration above. Setting the reminder offset works and that is the same type as duration, so why can't I set the duration in the same way?? Regards - Jellobiaffra