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 |