Fonction FaxDevStartJob (faxdev.h)
Le service de télécopie appelle la fonction FaxDevStartJob pour initialiser une nouvelle tâche de télécopie. Le service de télécopie appelle également FaxDevStartJob pour signaler le début de chaque opération de télécopie au fournisseur de services de télécopie (FSP). Chaque FSP doit exporter la fonction FaxDevStartJob .
Syntaxe
BOOL FaxDevStartJob(
[in] HLINE LineHandle,
[in] DWORD DeviceId,
[out] PHANDLE FaxHandle,
[in] HANDLE CompletionPortHandle,
[in] ULONG_PTR CompletionKey
);
Paramètres
[in] LineHandle
Type : HLINE
Spécifie un handle pour l’appareil en ligne ouverte associé au travail de télécopie.
[in] DeviceId
Type : DWORD
Spécifie l’identificateur d’appareil de ligne TAPI associé au travail de télécopie.
[out] FaxHandle
Type : PHANDLE
Pointeur vers une variable qui reçoit un handle de télécopie associé au travail de télécopie. Le FSP doit définir ce handle sur une valeur significative ; ce handle spécifie généralement un pointeur vers un bloc de mémoire avec des données instance spécifiques au travail.
[in] CompletionPortHandle
Type : HANDLE
Spécifie un handle pour un port d’achèvement d’E/S. Pour plus d’informations, consultez Ports d’achèvement d’E/S.
[in] CompletionKey
Type : ULONG_PTR
Spécifie une valeur de clé d’achèvement. Le fournisseur de services de télécopie doit passer cette valeur opaque à la fonction PostQueuedCompletionStatus .
Valeur retournée
Type : BOOL
Si la fonction réussit, la valeur de retour est différente de zéro.
Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations d’erreur étendues, le service de télécopie appelle GetLastError.
Remarques
La fonction FaxDevStartJob permet au fournisseur de services de télécopie d’effectuer la configuration des appels.
Le service de télécopie appelle FaxDevStartJob au début d’une nouvelle tâche de télécopie et une fois pour chaque opération de télécopie. En effet, chaque opération s’exécute dans un thread distinct. Il appelle FaxDevStartJob juste avant l’appel de fonction FaxDevSend pour une opération d’envoi de télécopie et juste avant l’appel de la fonction FaxDevReceive pour une opération de réception de télécopie. Pour plus d’informations, consultez Fonctionnement dans un environnement multithread.
Le FSP doit créer un paquet d’achèvement d’E/S et appeler la fonction PostQueuedCompletionStatus lorsque le FSP modifie son status. Un exemple de modification status est lorsque le FSP termine la réception ou l’envoi des pages de transmission de télécopie. Le paquet d’achèvement doit être une structure FAX_DEV_STATUS . Le FSP doit allouer de la mémoire pour la structure du tas indiqué par le paramètre HeapHandle passé à la fonction FaxDevInitialize . Le fournisseur de services de télécopie doit passer la taille de la mémoire allouée au paramètre dwNumberOfBytesTransferred de la méthode PostQueuedCompletionStatus. Le service de télécopie libère toute mémoire allouée pour la structure de paquets d’achèvement.
Le FSP doit utiliser les paramètres CompletionPortHandle et CompletionKey pour publier les paquets d’achèvement pour les modifications de status FSP. Cette méthode de notification status optimise les performances, car le service de télécopie n’a pas besoin d’interroger les FSP pour obtenir des informations status mises à jour. Pour plus d’informations, consultez Création d’un paquet d’achèvement.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel, Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | faxdev.h |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour