Funzione FaxDevReportStatus (faxdev.h)

Il servizio fax chiama la funzione FaxDevReportStatus per eseguire query su un provider di servizi fax (FSP) per informazioni sullo stato su un'operazione di fax attiva singola o per informazioni sullo stato dopo un'operazione fax non riuscita. Ogni FSP deve esportare la funzione FaxDevReportStatus .

Sintassi

BOOL FaxDevReportStatus(
  [in]  HANDLE          FaxHandle,
  [out] PFAX_DEV_STATUS FaxStatus,
  [in]  DWORD           FaxStatusSize,
  [out] LPDWORD         FaxStatusSizeRequired
);

Parametri

[in] FaxHandle

Tipo: HANDLE

Specifica un handle fax restituito dalla funzione FaxDevStartJob associata al processo fax.

[out] FaxStatus

Tipo: PFAX_DEV_STATUS

Puntatore a una struttura FAX_DEV_STATUS che riceve informazioni sullo stato e sull'identificazione. Questo parametro può anche essere un puntatore NULL . Per ulteriori informazioni, vedere la sezione Osservazioni successiva.

[in] FaxStatusSize

Tipo: DWORD

Specifica le dimensioni, in byte, del buffer a cui punta il parametro FaxStatus .

[out] FaxStatusSizeRequired

Tipo: LPDWORD

Puntatore a una variabile che riceve le dimensioni calcolate, in byte, del buffer necessario per contenere una struttura FAX_DEV_STATUS . Per ulteriori informazioni, vedere la sezione Osservazioni successiva.

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.

Nota Per un invio riuscito, FaxDevSend() deve restituire TRUE e FaxDevReportStatus() deve restituire FS_COMPLETED. Per un invio non riuscito, FaxDevSend() deve restituire FALSE e FaxDevReportStatus() deve restituire uno dei codici seguenti: FS_LINE_UNAVAILABLE, FS_NO_ANSWER, FS_NO_DIAL_TONE, FS_DISCONNECTED, FS_BUSY, FS_NOT_FAX_CALL o FS_FATAL_ERROR. Se dopo un fax non riuscito il fax non deve essere nuovamente inviato, FaxDevReportStatus() deve restituire qualsiasi codice diverso da quelli elencati qui.
 

Commenti

Per ottenere informazioni sullo stato per l'operazione, la funzione FaxDevReportStatus viene chiamata in modo asincrono su un thread di esecuzione indipendente dall'operazione fax. In genere è necessario sincronizzare l'accesso da più thread. Per altre informazioni, vedere Sincronizzazione dell'esecuzione di più thread.

Se il parametro FaxStatusSize è uguale a zero e FaxStatus è un puntatore NULL , il FSP deve calcolare le dimensioni, in byte, del buffer necessario per contenere una struttura FAX_DEV_STATUS . La FSP deve restituire questo valore nel parametro FaxStatusSizeRequired . Il servizio fax allocherà quindi la memoria necessaria. Restituisce anche le dimensioni della memoria nel parametro FaxStatusSize e un puntatore a tale memoria nel parametro FaxStatus .

La FSP deve impostare tutti i membri della struttura FAX_DEV_STATUS con informazioni sullo stato per l'operazione fax attiva. Il servizio fax alloca la memoria per le stringhe a cui puntano i membri CSI, CallerId e RoutingInfo . La dimensione della memoria allocata dal servizio è uguale a sizeof(FAX_DEV_STATUS) + FAXDEVREPORTSTATUS_SIZE. La FSP deve inserire le stringhe nel blocco di memoria che segue immediatamente la struttura FAX_DEV_STATUS . I membri CSI, CallerId e RoutingInfo devono puntare alla posizione delle stringhe nel blocco di memoria.

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

Vedi anche

FAX_DEV_STATUS

Funzioni del provider di servizi fax

FaxDevStartJob

Uso dell'API Provider di servizi fax