다음을 통해 공유


Te.Service

컴퓨터 간 테스트 실행실행과 같은 일부 TAEF 기능을 사용하려면 Te.Service를 설치하고 시작해야 합니다.

Te.Service 설치 및 시작

  • Wex.Services.exe, Wex.Common.dll 및 Wex.Communication.dll 모두 동일한 디렉터리에 있는지 확인합니다. 기본 위치는 WDK의 \Testing\Runtimes\TAEF 하위 디렉터리입니다.

  • 관리자 권한 명령 프롬프트에서 다음을 입력합니다.

    cd [your Wex.Services.exe directory]
    Wex.Services.exe /install:Te.Service
    sc start Te.Service
    

    참고 CoreSystem에서 Te.Service는 서비스 대신 콘솔 애플리케이션으로 실행할 수 있습니다.

cd [your Wex.Services.exe directory]
Wex.Services.exe /run:Te.Service

Te.Service 중지 및 제거

  • 관리자 권한 명령 프롬프트에서 다음을 입력합니다.

    cd [your Wex.Services.exe directory]
    sc stop Te.Service
    Wex.Services.exe /remove:Te.Service
    

    CoreSystem에서 Te.Service를 실행하는 콘솔 애플리케이션을 닫습니다.

지원되는 프로세서 아키텍처

x86 및 x64 버전의 Te.Service는 모두 x86 및 x64 테스트 실행을 지원합니다.

안전 모드 설치 지침

기본적으로 안전 모드에서는 서비스를 시작할 수 없습니다. sc start Te.Service를 실행하려고 하면 다음 오류가 발생합니다. 오류 1084: 이 서비스는 안전 모드에서 시작할 수 없으며 이 오류는 (Windows) 디자인에 의한 것입니다.

TAEF 서비스 안전 모드 기능을 사용하도록 설정하려면 다음을 수행해야 합니다.

  • Windows 시작 화면 전에 F8 키를 눌러 안전 모드에서 컴퓨터를 다시 시작합니다.
  • [시작], [실행]을 차례로 클릭하고 regedit를 입력한 다음 [확인]을 클릭합니다.
  • 다음 레지스트리 하위 키를 찾아 클릭합니다.
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal(순수 안전 모드용)
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network(네트워킹 안전 모드의 경우)
  • 편집 메뉴에서 새로 만들기를 가리킨 다음 키를 클릭한 다음 Te.Service를 입력합니다.
  • 기본값을 두 번 클릭하고 값 데이터 상자에 서비스를 입력한 다음 확인을 클릭합니다.
  • 레지스트리 편집기를 종료한 다음 컴퓨터를 다시 시작합니다.
  • 권한 상승 권한으로 명령 창을 엽니다.
  • 이제 sc start Te.Service를 사용하여 서비스를 성공적으로 시작해야 합니다.

알림 구독

서버 실행 테스트를 개발할 때 HandlerEx 콜백 함수와 유사한 방식으로 일부 서버 알림을 구독할 수 있습니다. 현재는 SERVICE_CONTROL_SESSIONCHANGE 제어 코드만 지원됩니다.

구독하려면 다음을 수행합니다.

  • HandlerEx 콜백 함수의 서명을 사용하여 콜백 함수를 정의합니다.
  • TAEF 알림 API를 사용하여 이 함수 등록
  • 알림을 더 이상 받지 않으려면 이 함수의 등록을 취소합니다.
  • Te.Common.lib에 코드 연결

예제:

    // define a call back function
    DWORD WINAPI HandlerEx(DWORD dwControl, DWORD dwEventType, LPVOID, LPVOID)
    {
        // Do some work here
        return 0;
    }

    // register the callback function to receive notifications
    TestNotification::RegisterHandler(HandlerEx));