Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El servicio de fax llama a la función FaxDevStartJob para inicializar un nuevo trabajo de fax. El servicio de fax también llama a FaxDevStartJob para indicar el principio de cada operación de fax al proveedor de servicios de fax (FSP). Cada FSP debe exportar la función FaxDevStartJob .
Sintaxis
BOOL FaxDevStartJob(
[in] HLINE LineHandle,
[in] DWORD DeviceId,
[out] PHANDLE FaxHandle,
[in] HANDLE CompletionPortHandle,
[in] ULONG_PTR CompletionKey
);
Parámetros
[in] LineHandle
Tipo: HLINE
Especifica un identificador para el dispositivo de línea abierta asociado al trabajo de fax.
[in] DeviceId
Tipo: DWORD
Especifica el identificador de dispositivo de línea TAPI asociado al trabajo de fax.
[out] FaxHandle
Tipo: PHANDLE
Puntero a una variable que recibe un identificador de fax asociado al trabajo de fax. El FSP debe establecer este identificador en un valor significativo; Este identificador suele especificar un puntero a un bloque de memoria con datos de instancia específicos del trabajo.
[in] CompletionPortHandle
Tipo: HANDLE
Especifica un identificador para un puerto de finalización de E/S. Para obtener más información, consulte Puertos de finalización de E/S.
[in] CompletionKey
Tipo: ULONG_PTR
Especifica un valor de clave de finalización. El proveedor de servicios de fax debe pasar este valor opaco a la función PostQueuedCompletionStatus .
Valor devuelto
Tipo: BOOL
Si la función se realiza correctamente, el valor devuelto es distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, el servicio de fax llama a GetLastError.
Comentarios
La función FaxDevStartJob ofrece una oportunidad para que el proveedor de servicios de fax realice la configuración de llamadas.
El servicio de fax llama a FaxDevStartJob al principio de un nuevo trabajo de fax y una vez para cada operación de fax. Esto se debe a que cada operación se ejecuta en un subproceso independiente. Llama a FaxDevStartJob justo antes de la llamada de función FaxDevSend para una operación de envío de fax y justo antes de la llamada de función FaxDevReceive para una operación de recepción de fax. Para obtener más información, vea Funcionamiento en un entorno multiproceso.
El FSP debe crear un paquete de finalización de E/S y llamar a la función PostQueuedCompletionStatus cuando el FSP cambia su estado. Un ejemplo de cambio de estado es cuando el FSP termina de recibir o enviar páginas de transmisión de fax. El paquete de finalización debe ser una estructura FAX_DEV_STATUS . El FSP debe asignar memoria para la estructura del montón indicado por el parámetro HeapHandle pasado a la función FaxDevInitialize . El proveedor de servicios de fax debe pasar el tamaño de la memoria asignada al parámetro dwNumberOfBytesTransferred del método PostQueuedCompletionStatus. El servicio de fax libera cualquier memoria asignada para la estructura de paquetes de finalización.
El FSP debe usar los parámetros CompletionPortHandle y CompletionKey para publicar los paquetes de finalización para los cambios de estado de FSP. Este método de notificación de estado optimiza el rendimiento porque el servicio de fax no necesita sondear los FSP para obtener información de estado actualizada. Para obtener más información, vea Crear un paquete de finalización.
Requisitos
| Requisito | Value |
|---|---|
| Cliente mínimo compatible | Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio] |
| Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
| Plataforma de destino | Windows |
| Encabezado | faxdev.h |