Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il servizio fax chiama la funzione FaxDevStartJob per inizializzare un nuovo processo fax. Il servizio fax chiama anche FaxDevStartJob per segnalare l'inizio di ogni operazione fax al provider di servizi fax (FSP). Ogni FSP deve esportare la funzione FaxDevStartJob .
Sintassi
BOOL FaxDevStartJob(
[in] HLINE LineHandle,
[in] DWORD DeviceId,
[out] PHANDLE FaxHandle,
[in] HANDLE CompletionPortHandle,
[in] ULONG_PTR CompletionKey
);
Parametri
[in] LineHandle
Tipo: HLINE
Specifica un handle per il dispositivo a riga aperta associato al processo fax.
[in] DeviceId
Tipo: DWORD
Specifica l'identificatore del dispositivo della riga TAPI associato al processo fax.
[out] FaxHandle
Tipo: PHANDLE
Puntatore a una variabile che riceve un handle fax associato al processo fax. La FSP deve impostare questo handle su un valore significativo; questo handle specifica in genere un puntatore a un blocco di memoria con dati di istanza specifici del processo.
[in] CompletionPortHandle
Tipo: HANDLE
Specifica un handle per una porta di completamento di I/O. Per altre informazioni, vedere Porte di completamento di I/O.
[in] CompletionKey
Tipo: ULONG_PTR
Specifica un valore della chiave di completamento. Il provider di servizi fax deve passare questo valore opaco alla funzione PostQueuedCompletionStatus .
Valore restituito
Tipo: BOOL
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per ottenere informazioni di errore estese, il servizio fax chiama GetLastError.
Commenti
La funzione FaxDevStartJob consente al provider di servizi fax di eseguire la configurazione delle chiamate.
Il servizio fax chiama FaxDevStartJob all'inizio di un nuovo processo fax e una volta per ogni operazione fax. Questo perché ogni operazione viene eseguita in un thread separato. Chiama FaxDevStartJob appena prima della chiamata alla funzione FaxDevSend per un'operazione di invio fax e subito prima della chiamata della funzione FaxDevReceive per un'operazione di ricezione fax. Per altre informazioni, vedere Funzionamento in un ambiente multithreaded.
La FSP deve creare un pacchetto di completamento di I/O e chiamare la funzione PostQueuedCompletionStatus quando la FSP modifica il relativo stato. Un esempio di modifica dello stato è quando la FSP termina la ricezione o l'invio di pagine di trasmissione fax. Il pacchetto di completamento deve essere una struttura FAX_DEV_STATUS . Il servizio FSP deve allocare memoria per la struttura dall'heap indicato dal parametro HeapHandle passato alla funzione FaxDevInitialize . Il provider di servizi fax deve passare le dimensioni della memoria allocata al parametro dwNumberOfBytesTransferred del metodo PostQueuedCompletionStatus. Il servizio fax libera qualsiasi memoria allocata per la struttura del pacchetto di completamento.
La FSP deve usare i parametri CompletionPortHandle e CompletionKey per post-completamento dei pacchetti di completamento per le modifiche dello stato FSP. Questo metodo di notifica di stato ottimizza le prestazioni perché il servizio fax non deve eseguire il polling degli FSP per ottenere informazioni sullo stato aggiornate. Per altre informazioni, vedere Creazione di un pacchetto di completamento.
Requisiti
| Requisito | Valore |
|---|---|
| Client minimo supportato | Windows 2000 Professional, Windows XP [solo app desktop] |
| Server minimo supportato | Windows Server 2003 [solo app desktop] |
| Piattaforma di destinazione | Windows |
| Intestazione | faxdev.h |