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

📄 ndistapi.h

📁 书中的主要程序文件。在打开例题的.dsw文件后,请读者在 tools菜单下的 Options 的 Directories 标签中选择 Executable files
💻 H
📖 第 1 页 / 共 5 页
字号:
    ULONG   ulDevCapFlags;
    ULONG   ulMaxNumActiveCalls;
    ULONG   ulAnswerMode;
    ULONG   ulRingModes;
    ULONG   ulLineStates;

    ULONG   ulUUIAcceptSize;
    ULONG   ulUUIAnswerSize;
    ULONG   ulUUIMakeCallSize;
    ULONG   ulUUIDropSize;
    ULONG   ulUUISendUserUserInfoSize;
    ULONG   ulUUICallInfoSize;

    LINE_DIAL_PARAMS    MinDialParams;
    LINE_DIAL_PARAMS    MaxDialParams;
    LINE_DIAL_PARAMS    DefaultDialParams;

    ULONG   ulNumTerminals;
    ULONG   ulTerminalCapsSize;
    ULONG   ulTerminalCapsOffset;
    ULONG   ulTerminalTextEntrySize;
    ULONG   ulTerminalTextSize;
    ULONG   ulTerminalTextOffset;

    ULONG   ulDevSpecificSize;
    ULONG   ulDevSpecificOffset;

#if (NDIS_TAPI_CURRENT_VERSION >= 0x00010004)
    ULONG   ulLineFeatures;                                 // TAPI v1.4
#endif

#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
    ULONG       ulSettableDevStatus;                            // TAPI v2.0
    ULONG       ulDeviceClassesSize;                            // TAPI v2.0
    ULONG       ulDeviceClassesOffset;                          // TAPI v2.0
#endif

#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020002)
	GUID        PermanentLineGuid;                              // TAPI v3.0
#endif

#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
    ULONG       ulAddressTypes;                                 // TAPI v3.0
    GUID        ProtocolGuid;                                   // TAPI v3.0
    ULONG       ulAvailableTracking;                            // TAPI v3.0    
#endif

} LINE_DEV_CAPS, *PLINE_DEV_CAPS;


typedef struct _LINE_DEV_STATUS
{
    ULONG   ulTotalSize;
    ULONG   ulNeededSize;
    ULONG   ulUsedSize;

    ULONG   ulNumOpens;
    ULONG   ulOpenMediaModes;
    ULONG   ulNumActiveCalls;
    ULONG   ulNumOnHoldCalls;
    ULONG   ulNumOnHoldPendCalls;
    ULONG   ulLineFeatures;
    ULONG   ulNumCallCompletions;
    ULONG   ulRingMode;
    ULONG   ulSignalLevel;
    ULONG   ulBatteryLevel;
    ULONG   ulRoamMode;

    ULONG   ulDevStatusFlags;

    ULONG   ulTerminalModesSize;
    ULONG   ulTerminalModesOffset;

    ULONG   ulDevSpecificSize;
    ULONG   ulDevSpecificOffset;

} LINE_DEV_STATUS, *PLINE_DEV_STATUS;


#ifndef __NDISTAPI_VAR_STRING_DECLARED
#define __NDISTAPI_VAR_STRING_DECLARED

typedef struct _VAR_STRING
{
    ULONG   ulTotalSize;
    ULONG   ulNeededSize;
    ULONG   ulUsedSize;

    ULONG   ulStringFormat;
    ULONG   ulStringSize;
    ULONG   ulStringOffset;

} VAR_STRING, *PVAR_STRING;

#endif // __NDISTAPI_VAR_STRING_DECLARED

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

} NDIS_TAPI_ACCEPT, *PNDIS_TAPI_ACCEPT;


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

} NDIS_TAPI_ANSWER, *PNDIS_TAPI_ANSWER;


typedef struct _NDIS_TAPI_CLOSE
{
    IN  ULONG       ulRequestID;
    IN  HDRV_LINE   hdLine;

} NDIS_TAPI_CLOSE, *PNDIS_TAPI_CLOSE;


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

} NDIS_TAPI_CLOSE_CALL, *PNDIS_TAPI_CLOSE_CALL;


typedef struct _NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION
{
    IN  ULONG       ulRequestID;
    IN  HDRV_LINE   hdLine;
    IN  ULONG       ulMediaModes;
    IN  LINE_CALL_PARAMS    LineCallParams;

} NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION,
*PNDIS_TAPI_CONDITIONAL_MEDIA_DETECTION;


typedef struct _NDIS_TAPI_CONFIG_DIALOG
{
    IN  ULONG       ulRequestID;
    IN  ULONG       ulDeviceID;
    IN  ULONG       ulDeviceClassSize;
    IN  ULONG       ulDeviceClassOffset;
    IN  ULONG       ulLibraryNameTotalSize;
    OUT ULONG       ulLibraryNameNeededSize;
    OUT CHAR        szLibraryName[1];

} NDIS_TAPI_CONFIG_DIALOG, *PNDIS_TAPI_CONFIG_DIALOG;


typedef struct _NDIS_TAPI_DEV_SPECIFIC
{
    IN  ULONG       ulRequestID;
    IN  HDRV_LINE   hdLine;
    IN  ULONG       ulAddressID;
    IN  HDRV_CALL   hdCall;
    IN OUT  ULONG   ulParamsSize;
    IN OUT  UCHAR   Params[1];

} NDIS_TAPI_DEV_SPECIFIC, *PNDIS_TAPI_DEV_SPECIFIC;


typedef struct _NDIS_TAPI_DIAL
{
    IN  ULONG       ulRequestID;
    IN  HDRV_CALL   hdCall;
    IN  ULONG       ulDestAddressSize;
    IN  CHAR        szDestAddress[1];

} NDIS_TAPI_DIAL, *PNDIS_TAPI_DIAL;


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

} NDIS_TAPI_DROP, *PNDIS_TAPI_DROP;


typedef struct _NDIS_TAPI_GET_ADDRESS_CAPS
{
    IN  ULONG       ulRequestID;
    IN  ULONG       ulDeviceID;
    IN  ULONG       ulAddressID;
    IN  ULONG       ulExtVersion;
    OUT LINE_ADDRESS_CAPS   LineAddressCaps;

} NDIS_TAPI_GET_ADDRESS_CAPS, *PNDIS_TAPI_GET_ADDRESS_CAPS;


typedef struct _NDIS_TAPI_GET_ADDRESS_ID
{
    IN  ULONG       ulRequestID;
    IN  HDRV_LINE   hdLine;
    OUT ULONG       ulAddressID;
    IN  ULONG       ulAddressMode;
    IN  ULONG       ulAddressSize;
    IN  CHAR        szAddress[1];

} NDIS_TAPI_GET_ADDRESS_ID, *PNDIS_TAPI_GET_ADDRESS_ID;


typedef struct _NDIS_TAPI_GET_ADDRESS_STATUS
{
    IN  ULONG       ulRequestID;
    IN  HDRV_LINE   hdLine;
    IN  ULONG       ulAddressID;
    OUT LINE_ADDRESS_STATUS LineAddressStatus;

} NDIS_TAPI_GET_ADDRESS_STATUS, *PNDIS_TAPI_GET_ADDRESS_STATUS;


typedef struct _NDIS_TAPI_GET_CALL_ADDRESS_ID
{
    IN  ULONG       ulRequestID;
    IN  HDRV_CALL   hdCall;
    OUT ULONG       ulAddressID;

} NDIS_TAPI_GET_CALL_ADDRESS_ID, *PNDIS_TAPI_GET_CALL_ADDRESS_ID;


typedef struct _NDIS_TAPI_GET_CALL_INFO
{
    IN  ULONG       ulRequestID;
    IN  HDRV_CALL   hdCall;
    OUT LINE_CALL_INFO  LineCallInfo;

} NDIS_TAPI_GET_CALL_INFO, *PNDIS_TAPI_GET_CALL_INFO;


typedef struct _NDIS_TAPI_GET_CALL_STATUS
{
    IN  ULONG       ulRequestID;
    IN  HDRV_CALL   hdCall;
    OUT LINE_CALL_STATUS    LineCallStatus;

} NDIS_TAPI_GET_CALL_STATUS, *PNDIS_TAPI_GET_CALL_STATUS;


typedef struct _NDIS_TAPI_GET_DEV_CAPS
{
    IN  ULONG       ulRequestID;
    IN  ULONG       ulDeviceID;
    IN  ULONG       ulExtVersion;
    OUT LINE_DEV_CAPS   LineDevCaps;

} NDIS_TAPI_GET_DEV_CAPS, *PNDIS_TAPI_GET_DEV_CAPS;


typedef struct _NDIS_TAPI_GET_DEV_CONFIG
{
    IN  ULONG       ulRequestID;
    IN  ULONG       ulDeviceID;
    IN  ULONG       ulDeviceClassSize;
    IN  ULONG       ulDeviceClassOffset;
    OUT VAR_STRING  DeviceConfig;

} NDIS_TAPI_GET_DEV_CONFIG, *PNDIS_TAPI_GET_DEV_CONFIG;


typedef struct _NDIS_TAPI_GET_EXTENSION_ID
{
    IN  ULONG       ulRequestID;
    IN  ULONG       ulDeviceID;
    OUT LINE_EXTENSION_ID   LineExtensionID;

} NDIS_TAPI_GET_EXTENSION_ID, *PNDIS_TAPI_GET_EXTENSION_ID;


typedef struct _NDIS_TAPI_GET_ID
{
    IN  ULONG       ulRequestID;
    IN  HDRV_LINE   hdLine;
    IN  ULONG       ulAddressID;
    IN  HDRV_CALL   hdCall;
    IN  ULONG       ulSelect;
    IN  ULONG       ulDeviceClassSize;
    IN  ULONG       ulDeviceClassOffset;
    OUT VAR_STRING  DeviceID;

} NDIS_TAPI_GET_ID, *PNDIS_TAPI_GET_ID;


typedef struct _NDIS_TAPI_GET_LINE_DEV_STATUS
{
    IN  ULONG       ulRequestID;
    IN  HDRV_LINE   hdLine;
    OUT LINE_DEV_STATUS LineDevStatus;

} NDIS_TAPI_GET_LINE_DEV_STATUS, *PNDIS_TAPI_GET_LINE_DEV_STATUS;


typedef struct _NDIS_TAPI_MAKE_CALL
{
    IN  ULONG       ulRequestID;
    IN  HDRV_LINE   hdLine;
    IN  HTAPI_CALL  htCall;
    OUT HDRV_CALL   hdCall;
    IN  ULONG       ulDestAddressSize;
    IN  ULONG       ulDestAddressOffset;
    IN  BOOLEAN     bUseDefaultLineCallParams;
    IN  LINE_CALL_PARAMS    LineCallParams;

} NDIS_TAPI_MAKE_CALL, *PNDIS_TAPI_MAKE_CALL;


typedef struct _NDIS_TAPI_NEGOTIATE_EXT_VERSION
{
    IN  ULONG       ulRequestID;
    IN  ULONG       ulDeviceID;
    IN  ULONG       ulLowVersion;
    IN  ULONG       ulHighVersion;
    OUT ULONG       ulExtVersion;

} NDIS_TAPI_NEGOTIATE_EXT_VERSION, *PNDIS_TAPI_NEGOTIATE_EXT_VERSION;


typedef struct _NDIS_TAPI_OPEN
{
    IN  ULONG       ulRequestID;
    IN  ULONG       ulDeviceID;
    IN  HTAPI_LINE  htLine;
    OUT HDRV_LINE   hdLine;

} NDIS_TAPI_OPEN, *PNDIS_TAPI_OPEN;


⌨️ 快捷键说明

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