0
에 오류 87을 제공 I가 다음 C# 코드 : 그러나SetLocalTime는 원격 디버깅
public static void SetDateTime(System.DateTime datetime)
{
var systemNew = new SystemTime
{
wDay = (ushort)datetime.Day,
wMonth = (ushort)datetime.Month,
wYear = (ushort)datetime.Year,
wHour = (ushort)datetime.Hour,
wMinute = (ushort)datetime.Minute,
wSecond = (ushort)datetime.Second,
wMilliseconds = (ushort)datetime.Millisecond
};
// update system clock
NativeMethods.SetLocalTime(ref systemNew);
int errorCode = Marshal.GetLastWin32Error();
if (errorCode != 0)
{
Debug.WriteLine("SetDateTime error: {0}", errorCode);
}
}
internal struct SystemTime
{
internal ushort wDay;
internal ushort wDayOfWeek;
internal ushort wHour;
internal ushort wMilliseconds;
internal ushort wMinute;
internal ushort wMonth;
internal ushort wSecond;
internal ushort wYear;
}
internal static class NativeMethods
{
[DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
internal static extern int SetLocalTime(ref SystemTime lpSystemTime);
}
,이 날 내가 어떤 아이디어 메소드를 호출 87 매번 에러 코드 준다?
편집 : 나는 내 로컬 컴퓨터에 그것을 확인하고 거기 잘 작동합니다. 원격 프로세스가 로컬 계정과 동일한 계정으로 실행되고 해당 시스템의 관리자 인 경우에도 Visual Studio의 원격 디버깅에서는 작동하지 않습니다.
나는 모든 의미와 목적, DateTime.Now를 들면, 사용 날짜 시간으로 정의되는 25 일을 의미 : 같이 필드의 잘못된 순서로
SystemTime
를 정의 2012 년 5 월 – Davio@Davio : 질문의 "편집"부분에 원격 디버깅에 대한 내용을 작성했습니다. 어떤 보안 컨텍스트에서 코드가 작동합니까? "로컬 시스템"과 원격 시스템 간에는 어떤 차이가 있습니까? 설명하는 오류가'DateTime.Now' 매개 변수가있는 원격 컴퓨터에 있는지 아니면 예를 들어 초기화되지 않은 데이터가있을 때 호출 될 것입니까? – Oleg
@Davio : 답변을 업데이트했습니다. – Oleg