phoneOpen 함수(tapi.h)

phoneOpen 함수는 지정된 휴대폰 디바이스를 엽니다. 소유자 권한 또는 모니터 권한을 사용하여 휴대폰 디바이스를 열 수 있습니다. 소유자 권한으로 휴대폰을 여는 애플리케이션은 휴대폰의 램프, 디스플레이, 벨소리, 후크스위치 또는 후크위치를 제어할 수 있습니다. 모니터 권한으로 휴대폰 디바이스를 여는 애플리케이션은 후크위치 변경 또는 단추 누름과 같이 휴대폰에서 발생하는 이벤트에 대해서만 알림을 받습니다.

휴대폰 디바이스의 소유권은 배타적입니다. 즉, 한 번에 하나의 애플리케이션만 소유자 권한으로 전화 장치를 열 수 있습니다. 그러나 휴대폰 디바이스는 모니터 권한으로 여러 번 열 수 있습니다.

구문

LONG phoneOpen(
  HPHONEAPP hPhoneApp,
  DWORD     dwDeviceID,
  LPHPHONE  lphPhone,
  DWORD     dwAPIVersion,
  DWORD     dwExtVersion,
  DWORD_PTR dwCallbackInstance,
  DWORD     dwPrivilege
);

매개 변수

hPhoneApp

TAPI를 사용하여 애플리케이션의 등록을 처리합니다.

dwDeviceID

열 휴대폰 디바이스의 식별자입니다.

lphPhone

열려 있는 휴대폰 디바이스를 식별하는 HPHONE 핸들에 대한 포인터입니다. 다른 전화 제어 기능을 호출할 때 이 핸들을 사용하여 디바이스를 식별합니다.

dwAPIVersion

애플리케이션 및 전화 통신 API가 작동하기로 합의한 API 버전 번호입니다. 이 번호는 phoneNegotiateAPIVersion에서 가져옵니다.

dwExtVersion

애플리케이션 및 서비스 공급자가 작동하는 데 동의하는 확장 버전 번호입니다. 애플리케이션에서 확장을 사용하지 않는 경우 이 숫자는 0입니다. 이 번호는 phoneNegotiateExtVersion에서 가져옵니다.

dwCallbackInstance

사용자 인스턴스 데이터는 각 메시지와 함께 애플리케이션에 다시 전달됩니다. 이 매개 변수는 전화 통신 API에서 해석되지 않습니다.

dwPrivilege

요청된 권한입니다. 이 매개 변수는 PHONEPRIVILEGE_ 상수 중 하나만 사용합니다.

반환 값

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

PHONEERR_ALLOCATED, PHONEERR_NODRIVER, PHONEERR_BADDEVICEID, PHONEERR_NOMEM, PHONEERR_INCOMPATIBLEAPIVERSION, PHONEERR_OPERATIONFAILED, PHONEERR_INCOMPATIBLEEXTVERSION, PHONEERR_OPERATIONUNAVAIL, PHONEERR_INVALAPPHANDLE, PHONEERR_RESOURCEUNAVAIL, PHONEERR_INVALPOINTER, PHONEERR_UNINITIALIZED, PHONEERR_INVALPRIVILEGE, PHONEERR_REINIT, PHONEERR_INUSE, PHONEERR_NODEVICE, PHONEERR_INIFILECORRUPT.

설명

모니터 권한으로 휴대폰 디바이스를 열면 휴대폰 상태를 변경하는 이벤트가 발생할 때 애플리케이션이 메시지를 보냅니다. 애플리케이션으로 전송되는 메시지에는 PHONE_BUTTONPHONE_STATE 포함됩니다. 후자는 변경된 휴대폰의 상태 항목을 나타냅니다.

소유자 권한으로 휴대폰을 열 때 휴대폰 디바이스의 상태에 영향을 주는 방식으로 휴대폰 디바이스를 조작할 수 있습니다. 응용 프로그램은 적극적으로 전화 장치를 조작하려는 경우에만 소유자 권한을 사용하여 전화를 열어야하며, 다른 응용 프로그램이 전화를 제어 할 수 있도록 완료되면 전화 장치를 닫아야합니다.

애플리케이션이 휴대폰 디바이스를 열 때 협상된 API 버전을 지정해야 하며, 휴대폰의 확장을 사용하려는 경우 휴대폰의 디바이스별 확장 버전입니다. 이 버전 번호는 phoneNegotiateAPIVersionphoneNegotiateExtVersion 함수를 사용하여 가져와야 합니다. 버전 번호 매기기를 사용하면 서로 다른 API 버전 및 서비스 공급자 버전이 있는 다양한 애플리케이션 버전을 혼합하고 일치시킬 수 있습니다.

요구 사항

   
대상 플랫폼 Windows
헤더 tapi.h
라이브러리 Tapi32.lib
DLL Tapi32.dll

추가 정보

PHONE_BUTTON

PHONE_STATE

보조 전화 서비스 함수

TAPI 2.2 참조 개요

phoneNegotiateAPIVersion

phoneNegotiateExtVersion