Condividi tramite


funzione phoneInitialize (tapi.h)

La funzione phoneInitialize è obsoleta. Continua a essere esportato da Tapi.dll e Tapi32.dll per garantire la compatibilità con le versioni precedenti con le applicazioni che usano le versioni TAPI 1.3 e 1.4.

Le applicazioni che usano TAPI versione 2.0 o successiva devono usare phoneInitializeEx .

Per TAPI versioni 1.4 e precedenti: La funzione phoneInitialize inizializza l'uso di TAPI dell'applicazione per l'uso successivo delle funzioni telefoniche nell'API di telefonia. Registra il meccanismo di notifica specificato dell'applicazione e restituisce il numero di dispositivi telefonici disponibili per l'applicazione.

Sintassi

LONG phoneInitialize(
  LPHPHONEAPP   lphPhoneApp,
  HINSTANCE     hInstance,
  PHONECALLBACK lpfnCallback,
  LPCSTR        lpszAppName,
  LPDWORD       lpdwNumDevs
);

Parametri

lphPhoneApp

Puntatore a una posizione compilata con l'handle di utilizzo dell'applicazione per TAPI.

hInstance

Handle dell'istanza dell'applicazione client o della DLL.

lpfnCallback

Indirizzo di una funzione di callback richiamata per determinare lo stato e gli eventi nel dispositivo telefonico.

lpszAppName

Puntatore a una stringa con terminazione Null contenente caratteri visualizzabili. Se questo parametro non è NULL, contiene un nome fornito dall'applicazione dell'applicazione. Questo nome viene fornito nella struttura PHONESTATUS per indicare, in modo intuitivo, quale applicazione è il proprietario corrente del dispositivo telefonico. Queste informazioni possono essere utili per la registrazione e la creazione di report sullo stato. Se lpszAppName è NULL, viene usato invece il nome file dell'applicazione.

lpdwNumDevs

Puntatore a DWORD. Questa posizione viene caricata con il numero di dispositivi telefonici disponibili per l'applicazione.

Valore restituito

Restituisce zero se la richiesta ha esito positivo o negativo se si verifica un errore. I valori restituiti possibili sono:

PHONEERR_INVALAPPNAME, PHONEERR_INIFILECORRUPT, PHONEERR_INVALPOINTER, PHONEERR_NOMEM, PHONEERR_OPERATIONFAILED, PHONEERR_REINIT, PHONEERR_RESOURCEUNAVAIL, PHONEERR_NODEVICE, PHONEERR_NODRIVER, PHONEERR_INVALPARAM

Commenti

L'applicazione può fare riferimento a singoli dispositivi telefonici usando identificatori di dispositivo telefonico che vanno da zero a dwNumDevs meno uno. Un'applicazione non deve presupporre che questi dispositivi telefonici siano in grado di superare ciò che viene specificato dal subset di telefonia assistita senza prima eseguire query sulle funzionalità del dispositivo con la funzione phoneGetDevCaps .

Le applicazioni non devono richiamare phoneInitialize senza aprire successivamente un telefono (almeno per il monitoraggio). Se l'applicazione non esegue il monitoraggio e non usa alcun dispositivo, deve chiamare phoneShutdown in modo che le risorse di memoria allocate da TAPI possano essere rilasciate se non necessarie e TAPI stesso può essere scaricato dalla memoria mentre non è necessario.

Un altro motivo per eseguire un phoneShutdown è che se un utente modifica la configurazione del dispositivo (aggiunge o rimuove una linea o un telefono), non è possibile che TAPI comunicherà a un'applicazione che dispone di un handle di linea o telefono aperto al momento. Dopo aver eseguito una riconfigurazione, causando l'invio di un messaggio di PHONESTATE_REINIT, nessuna applicazione può aprire un dispositivo finché tutte le applicazioni non hanno eseguito un phoneShutdown.

Se un provider di servizi non viene inizializzato correttamente, la funzione phoneInitialize ha esito negativo e restituisce l'errore indicato dal provider di servizi. Se viene restituito il valore di errore PHONEERR_INVALPARAM, il parametro hInstance specificato non è valido.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione tapi.h
Libreria Tapi32.lib
DLL Tapi32.dll

Vedi anche

PHONESTATUS

phoneGetDevCaps

phoneInitializeEx

phoneShutdown