2009-04-09 10 views
1

코드를 실행중인 Windows 컴퓨터를 다시 부팅해야하는 응용 프로그램을 작성하고 있습니다.InitiateSystemShutdown 호출이 작동하지 않습니다.

.NET에서 API를 사용하는 것으로 보이지 않아서 Win32 API를 찾아서 InitiateSystemShutdown이라고합니다.

[DllImport("advapi32.dll")] 
public static extern bool InitiateSystemShutdown(string Machinename, string 
Message, long Timeout, int ForceAppsClosed, int RebootAfterShutdown); 
내가 다음 인수와 함께이 운영 체제 루틴을 호출하려고

: :이 통근 선언은 아래와 같습니다

InitiateSystemShutdown(null, null, 30, 1, 1); 

그러나, 이것은 항상 false를 반환합니다. 그래서 Marshal.GetLastWin32Error 메서드를 호출하고 1008의 오류 코드를 반환합니다.이 오류 코드의 메시지는 다음과 같습니다.

"존재하지 않는 토큰을 참조하려고했습니다."

코드는 Windows 서비스 내에서 실행되며 Administrator 계정으로 실행됩니다. 로컬 시스템으로 실행하려고 시도했지만 효과가 없습니다.

답변

관련 문제