Share via


TSPI_providerRemove 함수(tspi.h)

TSPI_providerRemove 함수는 사용되지 않습니다. TAPI 버전 1.4 이하 서비스 공급자는 이 TSPI 함수를 구현할 수 있습니다. TAPI 버전 2.0 이상 TSP는 TUISPI_providerRemove 구현합니다.

TSPI_providerRemove 함수는 사용자에게 서비스 공급자 제거를 확인하도록 요청합니다. 서비스 공급자가 addProvider 시간에 추가한 레지스트리 항목과 더 이상 필요하지 않은 다른 모듈 및 파일을 제거하는 것은 서비스 공급자의 책임입니다.

구문

LONG TSPIAPI TSPI_providerRemove(
  HWND  hwndOwner,
  DWORD dwPermanentProviderID
);

매개 변수

hwndOwner

제거 중에 함수가 필요한 대화 상자 창을 만들 수 있는 부모 창의 핸들입니다.

dwPermanentProviderID

서비스 공급자의 영구 공급자 식별자입니다.

반환 값

함수가 성공하면 0을 반환하고 오류가 발생하면 오류 번호를 반환합니다. 가능한 반환 값은 다음과 같습니다.

LINEERR_OPERATIONFAILED, LINEERR_INIFILECORRUPT, LINEERR_NOMEM, LINEERR_INVALPARAM.

설명

이 함수는 성공을 반환하는 경우 서비스 공급자의 섹션 및 서비스 공급자에 대한 비공개로 정의된 정보가 레지스트리에서 제거되도록 보장해야 합니다. 특히 NumLinesNumPhones 항목을 포함하여 PPID가 <dwPermanentProviderID와 일치하는 [Provider<PPID>>] 섹션을 제거해야 합니다. 함수가 성공을 반환하는 경우 호출자는 [Providers] 섹션에서 일치하는 ProviderIDxProviderFilenamex 항목을 제거하고 그에 따라 [공급자] 섹션의 나머지 항목을 다시 열거해야 합니다.

이 절차는 시스템을 일관된 상태로 유지해야 합니다. 사용자가 부분적으로 완료될 때 제거를 중단할 수 없도록 완료될 때 실행되어야 합니다. 제거에 실패하면 수행된 작업을 "철회"하고 오류를 반환하는 것은 공급자의 책임입니다. 이는 제거가 시작되기 전에 전체 제거가 가능한지 확인하기 위해 사전 검사를 암시할 수 있습니다.

서비스 공급자가 사용 중인 동안(즉, TSPI_providerInit TSPI_providerShutdown 사이에) 이 함수를 호출할 수 있습니다. 이 경우 서비스 공급자는 사용자 대화 상자를 표시하여 충돌을 알리고 제거를 확인하거나, 투명하게 수행할 수 있는 옵션으로 제거 옵션을 제한하거나, LINE_CLOSEPHONE_CLOSE 메시지를 발급하여 TAPI 및 애플리케이션에 영향을 받는 디바이스가 강제로 제거되었음을 알리는 적절한 조합을 수행해야 합니다. 어쨌든 TSPI를 통해 표시되는 동작에 영향을 주는 변경 내용은 다음 TSPI_providerShutdown 서비스 공급자가 종료되는 경우에만 적용됩니다.

이 함수는 공급자가 애플리케이션에서 사용 중이므로 발생할 수 있는 LINEERR_INUSE 또는 기타 오류를 반환해서는 안 됩니다. 대신 공급자는 이 문제에 대해 사용자와 직접 회의한 다음 사용자가 작업을 중단하기로 결정한 경우 LINEERR_OPERATIONFAILED 반환해야 합니다.

이 프로시저는 서비스 공급자를 제거할 때 TSPI_providerInstall 호출될 때까지 한 번만 호출됩니다. 이를 보장하는 것은 호출자의 책임입니다.

버전 1.4 및 이전 버전에서 Windows Telephony와 함께 제공되는 전화 통신 제어판 유틸리티는 "remove" 명령이 호출될 때 이 함수를 호출합니다(여기에 설명된 대로 외부 시퀀스 요구 사항이 충족됨).

TAPI 수준에는 해당 함수가 없습니다. 이 수준에서 애플리케이션에는 서비스 공급자가 이미 설치되어 있어야 합니다. 그렇지 않으면 해당 줄과 휴대폰이 사용 가능한 디바이스 식별자 시퀀스 내에 표시되지 않습니다. 실행 중인 애플리케이션은 LINE_LINEDEVSTATE 또는 PHONE_STATE 메시지의 LINEDEVSTATE_REINIT 또는 PHONESTATE_REINIT 값을 통해 서비스 공급자 제거를 포함한 동적 재구성에 대해 알 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 tspi.h

추가 정보

LINE_CLOSE

LINE_LINEDEVSTATE

PHONE_CLOSE

PHONE_STATE

TSPI_providerInit

TSPI_providerInstall

TSPI_providerShutdown