funzione TSPI_lineGetID (tspi.h)

La funzione TSPI_lineGetID restituisce un identificatore del dispositivo per la classe di dispositivo specificata associata alla riga, all'indirizzo o alla chiamata selezionata.

Sintassi

LONG TSPIAPI TSPI_lineGetID(
  HDRVLINE    hdLine,
  DWORD       dwAddressID,
  HDRVCALL    hdCall,
  DWORD       dwSelect,
  LPVARSTRING lpDeviceID,
  LPCWSTR     lpszDeviceClass,
  HANDLE      hTargetProcess
);

Parametri

hdLine

Handle del provider di servizi per la riga su cui eseguire una query.

dwAddressID

Indirizzo nel dispositivo open line specificato. Un identificatore di indirizzo è associato in modo permanente a un indirizzo; l'identificatore rimane costante tra gli aggiornamenti del sistema operativo. TAPI non convalida questo parametro quando viene chiamata questa funzione.

hdCall

Handle del provider di servizi per la chiamata su cui eseguire una query.

dwSelect

Specifica se l'identificatore del dispositivo richiesto è associato alla riga, all'indirizzo o a una singola chiamata. Il parametro dwSelect può avere solo una delle costanti LINECALLSELECT_.

lpDeviceID

Puntatore alla posizione di memoria di tipo VARSTRING in cui viene restituito l'identificatore del dispositivo. Al termine della richiesta, questo percorso viene compilato con l'identificatore del dispositivo. Il formato delle informazioni restituite dipende dal metodo usato dalla classe di dispositivo (API) per la denominazione dei dispositivi.

lpszDeviceClass

Puntatore a una stringa Unicode con terminazione Null che specifica la classe di dispositivo del dispositivo il cui identificatore è richiesto. Le stringhe di classe del dispositivo valide sono quelle usate nella sezione System.ini per identificare le classi di dispositivo ,ad esempio COM, Wave e MCI.

hTargetProcess

Handle del processo dell'applicazione per conto del quale viene richiamata la funzione TSPI_lineGetID . Se le informazioni restituite nella struttura VARSTRING includono un handle per l'uso da parte dell'applicazione, il provider di servizi deve creare o duplicare l'handle per il processo.

Se hTargetProcess è impostato su INVALID_HANDLE_VALUE, l'applicazione viene eseguita in un sistema client remoto e non è possibile creare direttamente un handle duplicato. Al contrario, la struttura VARSTRING deve contenere un nome UNC di un dispositivo di rete o un altro nome che il client remoto può usare per accedere al dispositivo. Se non è possibile, la funzione dovrebbe non riuscire.

Valore restituito

Restituisce zero se la funzione ha esito positivo o un numero di errore se si verifica un errore. I valori restituiti possibili sono i seguenti:

LINEERR_INVALLINEHANDLE, LINEERR_NOMEM, LINEERR_INVALADDRESSID, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_NODEVICE, LINEERR_RESOURCEUNAVAIL.

Commenti

Il servizio fornisce restituisce LINEERR_INVALLINEHANDLE se dwSelect è LINECALLSELECT_LINE o LINECALLSELECT_ADDRESS e hdLine non è valido.

Il provider di servizi restituisce LINEERR_INVALCALLHANDLE se dwSelect è LINECALLSELECT_CALL e hdCall non è valido.

Il provider di servizi deve supportare la classe del dispositivo tapi/line per consentire alle applicazioni di determinare l'identificatore del dispositivo in linea reale di una riga aperta. In tal caso, i dati della variabile restituiti sono dwDeviceID. Per altre informazioni sui nomi comuni delle classi di dispositivi, vedere Classi di dispositivi TSPI.

Un fornitore che definisce un tipo di supporto specifico del dispositivo deve anche definire l'API (proprietaria) specifica del dispositivo corrispondente per gestire i dispositivi del tipo di supporto. Per evitare conflitti sui nomi delle classi di dispositivo assegnati in modo indipendente da fornitori diversi, un fornitore deve selezionare un nome che identifichi in modo univoco il fornitore e quindi il tipo di supporto; ad esempio: "intel/video".

Il provider di servizi compila tutti i membri della struttura dei dati VARSTRING , ad eccezione di dwTotalSize, compilato da TAPI. Il provider di servizi non deve sovrascrivere il membro dwTotalSize .

Il provider di servizi non deve preoccuparsi della gestione delle classi di dispositivi tapi/line e tapi/phone perché TAPI gestisce queste classi per il provider di servizi. Di conseguenza, il codice per la gestione di queste classi di dispositivi è facoltativo.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione tspi.h

Vedi anche

TSPI_lineGetDevConfig

TSPI_lineSetDevConfig

VARSTRING