⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ndistapi.h

📁 书中的主要程序文件。在打开例题的.dsw文件后,请读者在 tools菜单下的 Options 的 Directories 标签中选择 Executable files
💻 H
📖 第 1 页 / 共 5 页
字号:
typedef struct _NDIS_TAPI_PROVIDER_INITIALIZE
{
    IN  ULONG       ulRequestID;
    IN  ULONG       ulDeviceIDBase;
    OUT ULONG       ulNumLineDevs;
    OUT ULONG_PTR   ulProviderID;

} NDIS_TAPI_PROVIDER_INITIALIZE, *PNDIS_TAPI_PROVIDER_INITIALIZE;


typedef struct _NDIS_TAPI_PROVIDER_SHUTDOWN
{
    IN  ULONG       ulRequestID;

} NDIS_TAPI_PROVIDER_SHUTDOWN, *PNDIS_TAPI_PROVIDER_SHUTDOWN;


typedef struct _NDIS_TAPI_SECURE_CALL
{
    IN  ULONG       ulRequestID;
    IN  HDRV_CALL   hdCall;

} NDIS_TAPI_SECURE_CALL, *PNDIS_TAPI_SECURE_CALL;


typedef struct _NDIS_TAPI_SELECT_EXT_VERSION
{
    IN  ULONG       ulRequestID;
    IN  HDRV_LINE   hdLine;
    IN  ULONG       ulExtVersion;

} NDIS_TAPI_SELECT_EXT_VERSION, *PNDIS_TAPI_SELECT_EXT_VERSION;


typedef struct _NDIS_TAPI_SEND_USER_USER_INFO
{
    IN  ULONG       ulRequestID;
    IN  HDRV_CALL   hdCall;
    IN  ULONG       ulUserUserInfoSize;
    IN  UCHAR       UserUserInfo[1];

} NDIS_TAPI_SEND_USER_USER_INFO, *PNDIS_TAPI_SEND_USER_USER_INFO;


typedef struct _NDIS_TAPI_SET_APP_SPECIFIC
{
    IN  ULONG       ulRequestID;
    IN  HDRV_CALL   hdCall;
    IN  ULONG       ulAppSpecific;

} NDIS_TAPI_SET_APP_SPECIFIC, *PNDIS_TAPI_SET_APP_SPECIFIC;


typedef struct _NDIS_TAPI_SET_CALL_PARAMS
{
    IN  ULONG       ulRequestID;
    IN  HDRV_CALL   hdCall;
    IN  ULONG       ulBearerMode;
    IN  ULONG       ulMinRate;
    IN  ULONG       ulMaxRate;
    IN  BOOLEAN     bSetLineDialParams;
    IN  LINE_DIAL_PARAMS    LineDialParams;

} NDIS_TAPI_SET_CALL_PARAMS, *PNDIS_TAPI_SET_CALL_PARAMS;


typedef struct _NDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION
{
    IN  ULONG       ulRequestID;
    IN  HDRV_LINE   hdLine;
    IN  ULONG       ulMediaModes;

} NDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION,
*PNDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION;


typedef struct _NDIS_TAPI_SET_DEV_CONFIG
{
    IN  ULONG       ulRequestID;
    IN  ULONG       ulDeviceID;
    IN  ULONG       ulDeviceClassSize;
    IN  ULONG       ulDeviceClassOffset;
    IN  ULONG       ulDeviceConfigSize;
    IN  UCHAR       DeviceConfig[1];

} NDIS_TAPI_SET_DEV_CONFIG, *PNDIS_TAPI_SET_DEV_CONFIG;


typedef struct _NDIS_TAPI_SET_MEDIA_MODE
{
    IN  ULONG       ulRequestID;
    IN  HDRV_CALL   hdCall;
    IN  ULONG       ulMediaMode;

} NDIS_TAPI_SET_MEDIA_MODE, *PNDIS_TAPI_SET_MEDIA_MODE;


typedef struct _NDIS_TAPI_SET_STATUS_MESSAGES
{
    IN  ULONG       ulRequestID;
    IN  HDRV_LINE   hdLine;
    IN  ULONG       ulLineStates;
    IN  ULONG       ulAddressStates;

} NDIS_TAPI_SET_STATUS_MESSAGES, *PNDIS_TAPI_SET_STATUS_MESSAGES;


typedef struct _NDIS_TAPI_EVENT
{
    IN  HTAPI_LINE  htLine;
    IN  HTAPI_CALL  htCall;
    IN  ULONG       ulMsg;
    IN  ULONG_PTR   ulParam1;
    IN  ULONG_PTR   ulParam2;
    IN  ULONG_PTR   ulParam3;

} NDIS_TAPI_EVENT, *PNDIS_TAPI_EVENT;

typedef struct _NDISTAPI_CHARACTERISTICS {
	PVOID	RequestProc;
	GUID	Guid;
	NDIS_WAN_MEDIUM_SUBTYPE	MediaType;
} NDISTAPI_CHARACTERISTICS, *PNDISTAPI_CHARACTERISTICS;


typedef struct _NDIS_TAPI_GATHER_DIGITS
{
    IN  ULONG       ulRequestID;
	IN 	HDRV_CALL   hdCall;
	IN	ULONG		ulEndToEndID;
	IN	ULONG		ulDigitModes;
	IN	LPWSTR		lpsOrigDigitsBuffer;
	IN	ULONG		ulDigitsBufferOffset;
	IN	ULONG		ulNumDigitsNeeded;
	OUT	ULONG		ulNumDigitsRead;
	OUT	ULONG		ulTickCount;
	OUT	ULONG		ulTerminationReason;
	IN 	ULONG		ulTerminationDigitsMask;
	IN 	ULONG		ulFirstDigitTimeout;
	IN	ULONG		ulInterDigitTimeout;
} NDIS_TAPI_GATHER_DIGITS, *PNDIS_TAPI_GATHER_DIGITS;

typedef struct _NDIS_TAPI_MONITOR_DIGITS
{
	IN	HDRV_CALL	hdCall;
	IN	ULONG		ulDigitModes;
} NDIS_TAPI_MONITOR_DIGITS, *PNDIS_TAPI_MONITOR_DIGITS;

#define CO_TAPI_VERSION                         NDIS_TAPI_CURRENT_VERSION

//
//  The CO_TAPI structures below are meant for TAPI support
//  over CONDIS Call Managers and Miniport Call Managers.
//

//  Structure associated with OID_CO_TAPI_CM_CAPS
//
typedef struct _CO_TAPI_CM_CAPS
{
    OUT ULONG                 ulCoTapiVersion;
    OUT ULONG                 ulNumLines;
    OUT ULONG                 ulFlags;

} CO_TAPI_CM_CAPS, *PCO_TAPI_CM_CAPS;

//
//  Bit definitions for Flags in CO_TAPI_CM_CAPS
//
#define CO_TAPI_FLAG_PER_LINE_CAPS              0x00000001

//
//  Structure associated with OID_CO_TAPI_LINE_CAPS.
//
typedef struct _CO_TAPI_LINE_CAPS
{
    IN  ULONG                 ulLineID;
    OUT ULONG                 ulFlags;
    OUT LINE_DEV_CAPS         LineDevCaps;

} CO_TAPI_LINE_CAPS, *PCO_TAPI_LINE_CAPS;

//
//  Bit definitions for Flags in CO_TAPI_LINE_CAPS
//
#define CO_TAPI_FLAG_PER_ADDRESS_CAPS           0x00000001

//
//  Structure associated with OID_CO_TAPI_ADDRESS_CAPS.
//
typedef struct _CO_TAPI_ADDRESS_CAPS
{
    IN  ULONG                 ulLineID;
    IN  ULONG                 ulAddressID;
    OUT ULONG                 ulFlags;
    OUT LINE_ADDRESS_CAPS     LineAddressCaps;

} CO_TAPI_ADDRESS_CAPS, *PCO_TAPI_ADDRESS_CAPS;


//
//  Special values for Line and Address ID fields:
//
#define CO_TAPI_LINE_ID_UNSPECIFIED             0xFFFFFFFF
#define CO_TAPI_ADDRESS_ID_UNSPECIFIED          0xFFFFFFFF

//
//  Structure associated with OID_CO_TAPI_TRANSLATE_TAPI_CALLPARAMS.
//
typedef struct _CO_TAPI_TRANSLATE_TAPI_CALLPARAMS
{
    IN  ULONG                 ulLineID;
    IN  ULONG                 ulAddressID;
    IN  ULONG                 ulFlags;         // see below
    IN  NDIS_VAR_DATA_DESC    DestAddress;
    IN  NDIS_VAR_DATA_DESC    LineCallParams;  // LINE_CALL_PARAMS
    OUT NDIS_VAR_DATA_DESC    NdisCallParams;  // CO_CALL_PARAMETERS

} CO_TAPI_TRANSLATE_TAPI_CALLPARAMS, *PCO_TAPI_TRANSLATE_TAPI_CALLPARAMS;

//
//  Bit definitions for Flags in CO_TAPI_TRANSLATE_TAPI_CALLPARAMS
//  and CO_TAPI_TRANSLATE_NDIS_CALLPARAMS.
//
#define CO_TAPI_FLAG_OUTGOING_CALL              0x00000001
#define CO_TAPI_FLAG_INCOMING_CALL              0x00000002
#define CO_TAPI_FLAG_USE_DEFAULT_CALLPARAMS		0x00000004


//
//  Structure associated with OID_CO_TAPI_TRANSLATE_NDIS_CALLPARAMS.
//
typedef struct _CO_TAPI_TRANSLATE_NDIS_CALLPARAMS
{
    IN  ULONG                 ulFlags;         // see above
    IN  NDIS_VAR_DATA_DESC    NdisCallParams;  // CO_CALL_PARAMETERS
    OUT NDIS_VAR_DATA_DESC    LineCallInfo;    // LINE_CALL_INFO

} CO_TAPI_TRANSLATE_NDIS_CALLPARAMS, *PCO_TAPI_TRANSLATE_NDIS_CALLPARAMS;


//
//  Structure associated with OID_CO_TAPI_TRANSLATE_SAP.
//
typedef struct _CO_TAPI_TRANSLATE_SAP
{
    IN  ULONG                 ulLineID;
    IN  ULONG                 ulAddressID;
    IN  ULONG                 ulMediaModes;
    IN  ULONG                 Reserved;
    OUT ULONG                 NumberOfSaps;
    OUT NDIS_VAR_DATA_DESC    NdisSapParams[1];   // CO_SAP

} CO_TAPI_TRANSLATE_SAP, *PCO_TAPI_TRANSLATE_SAP;


//
//  Structure associated with OID_CO_TAPI_GET_CALL_DIAGNOSTICS.
//
typedef struct _CO_TAPI_CALL_DIAGNOSTICS
{
    OUT ULONG                 ulOrigin;
    OUT ULONG                 ulReason;
    OUT NDIS_VAR_DATA_DESC    DiagInfo;

} CO_TAPI_CALL_DIAGNOSTICS, *PCO_TAPI_CALL_DIAGNOSTICS;


//
//  Structure used in the Media-specific part of CO_CALL_PARAMETERS
//  for an outgoing call for the CO_ADDRESS_FAMILY_TAPI address family.
//  This is used in NdisClMakeCall/Ndis[M]CmActivateVc, and
//  completion routines.
//
//  This overlays:
//     CO_CALL_PARAMETERS.MediaParameters->MediaSpecific.Parameters[]
//
typedef struct _CO_AF_TAPI_MAKE_CALL_PARAMETERS
{
    IN  ULONG                 ulLineID;
    IN  ULONG                 ulAddressID;
    IN  ULONG                 ulFlags;         // see CO_TAPI_TRANSLATE_TAPI_CALLPARAMS
    IN  NDIS_VAR_DATA_DESC    DestAddress;
    IN  NDIS_VAR_DATA_DESC    LineCallParams;  // LINE_CALL_PARAMS

} CO_AF_TAPI_MAKE_CALL_PARAMETERS, *PCO_AF_TAPI_MAKE_CALL_PARAMETERS;



//
//  Structure used in the Media-specific part of CO_CALL_PARAMETERS
//  for an incoming call for the CO_ADDRESS_FAMILY_TAPI address family.
//  This is used in Ndis[M]CmDispatchIncomingCall/Ndis[M]CmActivateVc
//  and completion routines.
//
//  This overlays:
//     CO_CALL_PARAMETERS.MediaParameters->MediaSpecific.Parameters[]
//
typedef struct _CO_AF_TAPI_INCOMING_CALL_PARAMETERS
{
    IN  ULONG                 ulLineID;
    IN  ULONG                 ulAddressID;
    IN  ULONG                 ulFlags;         // see CO_TAPI_TRANSLATE_TAPI_CALLPARAMS
    IN  NDIS_VAR_DATA_DESC    LineCallInfo;    // LINE_CALL_INFO

} CO_AF_TAPI_INCOMING_CALL_PARAMETERS, *PCO_AF_TAPI_INCOMING_CALL_PARAMETERS;



//
//  Value of SapType in CO_SAP for a Service Access Point on the
//  CO_ADDRESS_FAMILY_TAPI address family.
//
#define AF_TAPI_SAP_TYPE      0x00008000

//
//  Structure used to convey TAPI-style SAP information in the NDIS CO_SAP
//  structure.
//
//  This overlays:
//     CO_SAP.Sap[]
//
typedef struct _CO_AF_TAPI_SAP
{
    IN  ULONG                 ulLineID;
    IN  ULONG                 ulAddressID;
    IN  ULONG                 ulMediaModes;

} CO_AF_TAPI_SAP, *PCO_AF_TAPI_SAP;



#endif // _NDIS_TAPI_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -