123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- /*++
- Copyright (c) Microsoft Corporation. All rights reserved.
- Module Name:
- faxext.h
- Abstract:
- Declarations of fax extension configuration and notification functions.
- --*/
- #ifndef _FAX_EXT_H_
- #define _FAX_EXT_H_
- #if _MSC_VER > 1000
- #pragma once
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- /************************************
- * *
- * Extension configuration data *
- * *
- ************************************/
- typedef enum
- {
- DEV_ID_SRC_FAX, // Device id is generated by the fax server of EFSP
- DEV_ID_SRC_TAPI // Device id is generated by a TAPI TSP (of FSP).
- } FAX_ENUM_DEVICE_ID_SOURCE;
- //
- // Prototype of FaxExtGetData
- //
- DWORD
- FaxExtGetData (
- DWORD dwDeviceId, // Device id (0 = No device)
- FAX_ENUM_DEVICE_ID_SOURCE DevIdSrc, // The source of the device id
- LPCWSTR lpcwstrDataGUID,// GUID of data
- LPBYTE *ppData, // (Out) Pointer to allocated data
- LPDWORD lpdwDataSize // (Out) Pointer to data size
- );
- typedef DWORD (CALLBACK *PFAX_EXT_GET_DATA) (DWORD, FAX_ENUM_DEVICE_ID_SOURCE, LPCWSTR, LPBYTE *, LPDWORD);
- //
- // Prototype of FaxExtSetData
- //
- DWORD
- FaxExtSetData (
- HINSTANCE hInst, // Instance of calling extension
- DWORD dwDeviceId, // Device id (0 = No device)
- FAX_ENUM_DEVICE_ID_SOURCE DevIdSrc, // The source of the device id
- LPCWSTR lpcwstrDataGUID,// GUID of data
- LPBYTE pData, // Pointer to data
- DWORD dwDataSize // Data size
- );
- typedef DWORD (CALLBACK *PFAX_EXT_SET_DATA) (HINSTANCE, DWORD, FAX_ENUM_DEVICE_ID_SOURCE, LPCWSTR, LPBYTE, DWORD);
- HRESULT
- FaxExtConfigChange (
- DWORD dwDeviceId, // The device for which configuration has changed
- LPCWSTR lpcwstrDataGUID, // Configuration name
- LPBYTE lpData, // New configuration data
- DWORD dwDataSize // Size of new configuration data
- );
- typedef HRESULT (WINAPI *PFAX_EXT_CONFIG_CHANGE) (DWORD, LPCWSTR, LPBYTE, DWORD);
- //
- // Prototype of FaxExtRegisterForEvents
- //
- HANDLE
- FaxExtRegisterForEvents (
- HINSTANCE hInst, // Instance of calling extension
- DWORD dwDeviceId, // Device id (0 = No device)
- FAX_ENUM_DEVICE_ID_SOURCE DevIdSrc, // The source of the device id
- LPCWSTR lpcwstrDataGUID,// GUID of data
- PFAX_EXT_CONFIG_CHANGE lpConfigChangeCallback
- );
- typedef HANDLE (CALLBACK *PFAX_EXT_REGISTER_FOR_EVENTS) (HINSTANCE, DWORD, FAX_ENUM_DEVICE_ID_SOURCE, LPCWSTR, PFAX_EXT_CONFIG_CHANGE);
- //
- // Prototype of FaxExtUnregisterForEvents
- //
- DWORD
- FaxExtUnregisterForEvents (
- HANDLE hNotification
- );
- typedef DWORD (CALLBACK *PFAX_EXT_UNREGISTER_FOR_EVENTS) (HANDLE);
- //
- // Prototype of FaxExtFreeBuffer
- //
- VOID
- FaxExtFreeBuffer (
- LPVOID lpvBuffer
- );
- typedef VOID (CALLBACK *PFAX_EXT_FREE_BUFFER) (LPVOID);
- //
- // The extension should implement and export the following function:
- //
- HRESULT
- FaxExtInitializeConfig (
- PFAX_EXT_GET_DATA, // Pointer to FaxExtGetExtensionData in service
- PFAX_EXT_SET_DATA, // Pointer to FaxExtSetExtensionData in service
- PFAX_EXT_REGISTER_FOR_EVENTS, // Pointer to FaxExtRegisterForExtensionEvents in service
- PFAX_EXT_UNREGISTER_FOR_EVENTS, // Pointer to FaxExtUnregisterForExtensionEvents in service
- PFAX_EXT_FREE_BUFFER // Pointer to FaxExtFreeBuffer in service
- );
- typedef HRESULT (WINAPI *PFAX_EXT_INITIALIZE_CONFIG) (PFAX_EXT_GET_DATA, PFAX_EXT_SET_DATA, PFAX_EXT_REGISTER_FOR_EVENTS, PFAX_EXT_UNREGISTER_FOR_EVENTS, PFAX_EXT_FREE_BUFFER);
- #ifdef __cplusplus
- }
- #endif
- #endif // _FAX_EXT_H_
|