Método ITAddress::CreateCall (tapi3if.h)

El método CreateCall crea un nuevo objeto Call que se puede usar para realizar una llamada saliente y devuelve un puntero a la interfaz ITBasicCallControl del objeto. La llamada recién creada está en estado CS_IDLE y no tiene ningún medio o terminal seleccionado.

Los valores de entrada aceptables para la dirección de llamada, el tipo de dirección y los tipos de medios son específicos del proveedor de servicios de telefonía que admite la dirección actual. Para obtener información sobre los CSP enviados con Windows 2000, consulte Acerca del proveedor de servicios de telefonía (TSP). Para los CSP de terceros, consulte la documentación proporcionada por el vendedor.

Sintaxis

HRESULT CreateCall(
  [in]  BSTR               pDestAddress,
  [in]  long               lAddressType,
  [in]  long               lMediaTypes,
  [out] ITBasicCallControl **ppCall
);

Parámetros

[in] pDestAddress

Esta cadena BSTR contiene una dirección de destino. El formato es específico del proveedor. Este puntero puede ser NULL para las direcciones sin marcado (por ejemplo, con un teléfono frecuente) o cuando se realiza toda la marcación mediante ITBasicCallControl::D ial. NULL en combinación con un valor pGroupIDNULL en ITBasicCallControl::P ickup da como resultado una recogida de grupo. Los proveedores de servicios que tienen funcionalidades de multiplexación inversa pueden permitir que una aplicación especifique varias direcciones a la vez.

[in] lAddressType

Contiene una constante de tipo de dirección , como LINEADDRESSTYPE_PHONENUMBER, que describe el formato de la dirección. El valor debe ser válido para esta dirección. Use ITAddressCapabilities::get_AddressCapability con AddressCap establecido en AC_ADDRESSTYPES para comprobar el valor.

[in] lMediaTypes

Identifica el tipo de medio o los tipos implicados en la sesión de llamada.

[out] ppCall

Puntero a la interfaz ITBasicCallControl .

Valor devuelto

Este método puede devolver uno de estos valores.

Valor Significado
S_OK
El método se realizó correctamente.
E_INVALIDARG
El tipo de dirección, lAddressType, no es válido o especifica más de un tipo de dirección.
E_OUTOFMEMORY
Existe memoria insuficiente para realizar la operación.
E_POINTER
El parámetro ppCall no es un puntero válido.

Comentarios

La aplicación debe usar SysAllocString para asignar memoria para el parámetro pDestAddress y usar SysFreeString para liberar la memoria cuando la variable ya no sea necesaria.

Cuando el tipo de dirección es LINEADDRESSTYPE_SDP, la aplicación debe llamar al método ITSDP::get_IsValid en pDestAddress para comprobar que la información de SDP contenida se construye correctamente según RFC 2327.

Las llamadas que se usan como llamadas de consulta, como durante una conferencia, transferencia o operación de reenvío, deben crearse mediante este método.

TAPI llama al método AddRef en la interfaz ITBasicCallControl devuelta por ITAddress::CreateCall. La aplicación debe llamar a Release en la interfaz ITBasicCallControl para liberar recursos asociados a él.

Nota Este método no es exactamente el mismo que lineMakeCall en TAPI 2. Proporciona TAPI con gran parte de la misma información, pero las operaciones paralelas no se realizan hasta que se llama a ITBasicCallControl::Connect .
 

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado tapi3if.h (incluya Tapi3.h)
Library Uuid.lib
Archivo DLL Tapi3.dll

Consulte también

Address (objeto)

ITAddress

ITBasicCallControl

ITBasicCallControl::D ial

lineDial