📄 ndistapi.h
字号:
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 + -