📄 ndistapi.h
字号:
/*++ BUILD Version: 0000 // Increment this if a change has global effects
Copyright (c) 1994 Microsoft Corporation
Module Name:
ndiswan.h
Abstract:
Main header file for the TAPI wrapper
Author:
Dan Knudson (DanKn) 20-Feb-1994
Revision History:
--*/
#ifndef _NDIS_TAPI_
#define _NDIS_TAPI_
//
//
//
//
// Begin definitions for TAPI
//
//
//
//
#ifndef NDIS_TAPI_CURRENT_VERSION
#define NDIS_TAPI_CURRENT_VERSION 0x00010003
#endif
//
// Symbolic constants
//
#define NDIS_STATUS_TAPI_ADDRESSBLOCKED ((NDIS_STATUS)0xC0012000L)
#define NDIS_STATUS_TAPI_BEARERMODEUNAVAIL ((NDIS_STATUS)0xC0012001L)
#define NDIS_STATUS_TAPI_CALLUNAVAIL ((NDIS_STATUS)0xC0012002L)
#define NDIS_STATUS_TAPI_DIALBILLING ((NDIS_STATUS)0xC0012003L)
#define NDIS_STATUS_TAPI_DIALDIALTONE ((NDIS_STATUS)0xC0012004L)
#define NDIS_STATUS_TAPI_DIALPROMPT ((NDIS_STATUS)0xC0012005L)
#define NDIS_STATUS_TAPI_DIALQUIET ((NDIS_STATUS)0xC0012006L)
#define NDIS_STATUS_TAPI_INCOMPATIBLEEXTVERSION ((NDIS_STATUS)0xC0012007L)
#define NDIS_STATUS_TAPI_INUSE ((NDIS_STATUS)0xC0012008L)
#define NDIS_STATUS_TAPI_INVALADDRESS ((NDIS_STATUS)0xC0012009L)
#define NDIS_STATUS_TAPI_INVALADDRESSID ((NDIS_STATUS)0xC001200AL)
#define NDIS_STATUS_TAPI_INVALADDRESSMODE ((NDIS_STATUS)0xC001200BL)
#define NDIS_STATUS_TAPI_INVALBEARERMODE ((NDIS_STATUS)0xC001200CL)
#define NDIS_STATUS_TAPI_INVALCALLHANDLE ((NDIS_STATUS)0xC001200DL)
#define NDIS_STATUS_TAPI_INVALCALLPARAMS ((NDIS_STATUS)0xC001200EL)
#define NDIS_STATUS_TAPI_INVALCALLSTATE ((NDIS_STATUS)0xC001200FL)
#define NDIS_STATUS_TAPI_INVALDEVICECLASS ((NDIS_STATUS)0xC0012010L)
#define NDIS_STATUS_TAPI_INVALLINEHANDLE ((NDIS_STATUS)0xC0012011L)
#define NDIS_STATUS_TAPI_INVALLINESTATE ((NDIS_STATUS)0xC0012012L)
#define NDIS_STATUS_TAPI_INVALMEDIAMODE ((NDIS_STATUS)0xC0012013L)
#define NDIS_STATUS_TAPI_INVALRATE ((NDIS_STATUS)0xC0012014L)
#define NDIS_STATUS_TAPI_NODRIVER ((NDIS_STATUS)0xC0012015L)
#define NDIS_STATUS_TAPI_OPERATIONUNAVAIL ((NDIS_STATUS)0xC0012016L)
#define NDIS_STATUS_TAPI_RATEUNAVAIL ((NDIS_STATUS)0xC0012017L)
#define NDIS_STATUS_TAPI_RESOURCEUNAVAIL ((NDIS_STATUS)0xC0012018L)
#define NDIS_STATUS_TAPI_STRUCTURETOOSMALL ((NDIS_STATUS)0xC0012019L)
#define NDIS_STATUS_TAPI_USERUSERINFOTOOBIG ((NDIS_STATUS)0xC001201AL)
#define NDIS_STATUS_TAPI_ALLOCATED ((NDIS_STATUS)0xC001201BL)
#define NDIS_STATUS_TAPI_INVALADDRESSSTATE ((NDIS_STATUS)0xC001201CL)
#define NDIS_STATUS_TAPI_INVALPARAM ((NDIS_STATUS)0xC001201DL)
#define NDIS_STATUS_TAPI_NODEVICE ((NDIS_STATUS)0xC001201EL)
//
// The following DISCONNECTMODE status codes are used by CO_ADDRESS_FAMILY_TAPI
// NDIS Call Managers as the NDIS status passed to:
//
// - Ndis[M]CmMakeCallComplete
// - Ndis[M]CmDispatchIncomingCloseCall
//
#define NDIS_STATUS_TAPI_DISCONNECTMODE_NORMAL ((NDIS_STATUS)0xC0012020L)
#define NDIS_STATUS_TAPI_DISCONNECTMODE_UNKNOWN ((NDIS_STATUS)0xC0012021L)
#define NDIS_STATUS_TAPI_DISCONNECTMODE_REJECT ((NDIS_STATUS)0xC0012022L)
#define NDIS_STATUS_TAPI_DISCONNECTMODE_PICKUP ((NDIS_STATUS)0xC0012023L)
#define NDIS_STATUS_TAPI_DISCONNECTMODE_FORWARDED ((NDIS_STATUS)0xC0012024L)
#define NDIS_STATUS_TAPI_DISCONNECTMODE_BUSY ((NDIS_STATUS)0xC0012025L)
#define NDIS_STATUS_TAPI_DISCONNECTMODE_NOANSWER ((NDIS_STATUS)0xC0012026L)
#define NDIS_STATUS_TAPI_DISCONNECTMODE_BADADDRESS ((NDIS_STATUS)0xC0012027L)
#define NDIS_STATUS_TAPI_DISCONNECTMODE_UNREACHABLE ((NDIS_STATUS)0xC0012028L)
#define NDIS_STATUS_TAPI_DISCONNECTMODE_CONGESTION ((NDIS_STATUS)0xC0012029L)
#define NDIS_STATUS_TAPI_DISCONNECTMODE_INCOMPATIBLE ((NDIS_STATUS)0xC001202AL)
#define NDIS_STATUS_TAPI_DISCONNECTMODE_UNAVAIL ((NDIS_STATUS)0xC001202BL)
#define NDIS_STATUS_TAPI_RECV_DIGIT ((NDIS_STATUS)0x40010020L) // FIXME: Should this be in ndis.h?
#define LINE_ADDRESSSTATE 0L
#define LINE_CALLINFO 1L
#define LINE_CALLSTATE 2L
#define LINE_CLOSE 3L
#define LINE_DEVSPECIFIC 4L
#define LINE_DEVSPECIFICFEATURE 5L // not used
#define LINE_GATHERDIGITS 6L // not used
#define LINE_GENERATE 7L // not used
#define LINE_LINEDEVSTATE 8L
#define LINE_MONITORDIGITS 9L // not used
#define LINE_MONITORMEDIA 10L // not used
#define LINE_MONITORTONE 11L // not used
#define LINE_REPLY 12L // not used
#define LINE_REQUEST 13L // not used
#define LINE_CREATE 19L // TAPI v1.4
#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
#define LINE_AGENTSPECIFIC 21L // TAPI v2.0
#define LINE_AGENTSTATUS 22L // TAPI v2.0
#define LINE_APPNEWCALL 23L // TAPI v2.0
#define LINE_PROXYREQUEST 24L // TAPI v2.0
#define LINE_REMOVE 25L // TAPI v2.0
#endif
#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020002)
#define LINE_AGENTSESSIONSTATUS 27L // TAPI v2.2
#define LINE_QUEUESTATUS 28L // TAPI v2.2
#define LINE_AGENTSTATUSEX 29L // TAPI v2.2
#define LINE_GROUPSTATUS 30L // TAPI v2.2
#define LINE_PROXYSTATUS 31L // TAPI v2.2
#endif
#if (TAPI_CURRENT_VERSION >= 0x00030000)
#define LINE_APPNEWCALLHUB 32L // TAPI v3.0
#define LINE_CALLHUBCLOSE 33L // TAPI v3.0
#define LINE_DEVSPECIFICEX 34L // TAPI v3.0
#endif
#define TSPI_MESSAGE_BASE 500L
#define LINE_NEWCALL TSPI_MESSAGE_BASE
#define LINE_CALLDEVSPECIFIC (TSPI_MESSAGE_BASE + 1L)
#ifndef __NDISTAPI_STRINGFORMATS_DEFINED
#define __NDISTAPI_STRINGFORMATS_DEFINED
#define STRINGFORMAT_ASCII 0x00000001
#define STRINGFORMAT_DBCS 0x00000002
#define STRINGFORMAT_UNICODE 0x00000003
#define STRINGFORMAT_BINARY 0x00000004
#endif // __NDISTAPI_STRINGFORMATS_DEFINED
#define LINEADDRCAPFLAGS_FWDNUMRINGS 0x00000001
#define LINEADDRCAPFLAGS_PICKUPGROUPID 0x00000002
#define LINEADDRCAPFLAGS_SECURE 0x00000004
#define LINEADDRCAPFLAGS_BLOCKIDDEFAULT 0x00000008
#define LINEADDRCAPFLAGS_BLOCKIDOVERRIDE 0x00000010
#define LINEADDRCAPFLAGS_DIALED 0x00000020
#define LINEADDRCAPFLAGS_ORIGOFFHOOK 0x00000040
#define LINEADDRCAPFLAGS_DESTOFFHOOK 0x00000080
#define LINEADDRCAPFLAGS_FWDCONSULT 0x00000100
#define LINEADDRCAPFLAGS_SETUPCONFNULL 0x00000200
#define LINEADDRCAPFLAGS_AUTORECONNECT 0x00000400
#define LINEADDRCAPFLAGS_COMPLETIONID 0x00000800
#define LINEADDRCAPFLAGS_TRANSFERHELD 0x00001000
#define LINEADDRCAPFLAGS_TRANSFERMAKE 0x00002000
#define LINEADDRCAPFLAGS_CONFERENCEHELD 0x00004000
#define LINEADDRCAPFLAGS_CONFERENCEMAKE 0x00008000
#define LINEADDRCAPFLAGS_PARTIALDIAL 0x00010000
#define LINEADDRCAPFLAGS_FWDSTATUSVALID 0x00020000
#define LINEADDRCAPFLAGS_FWDINTEXTADDR 0x00040000
#define LINEADDRCAPFLAGS_FWDBUSYNAADDR 0x00080000
#define LINEADDRCAPFLAGS_ACCEPTTOALERT 0x00100000
#define LINEADDRCAPFLAGS_CONFDROP 0x00200000
#define LINEADDRCAPFLAGS_PICKUPCALLWAIT 0x00400000
#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
#define LINEADDRCAPFLAGS_PREDICTIVEDIALER 0x00800000 // TAPI v2.0
#define LINEADDRCAPFLAGS_QUEUE 0x01000000 // TAPI v2.0
#define LINEADDRCAPFLAGS_ROUTEPOINT 0x02000000 // TAPI v2.0
#define LINEADDRCAPFLAGS_HOLDMAKESNEW 0x04000000 // TAPI v2.0
#define LINEADDRCAPFLAGS_NOINTERNALCALLS 0x08000000 // TAPI v2.0
#define LINEADDRCAPFLAGS_NOEXTERNALCALLS 0x10000000 // TAPI v2.0
#define LINEADDRCAPFLAGS_SETCALLINGID 0x20000000 // TAPI v2.0
#endif
#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
#define LINEADDRCAPFLAGS_ACDGROUP 0x40000000 // TAPI v3.0
#define LINEADDRCAPFLAGS_NOPSTNADDRESSTRANSLATION 0x80000000 // TAPI v3.0
#endif
#define LINEADDRESSMODE_ADDRESSID 0x00000001
#define LINEADDRESSMODE_DIALABLEADDR 0x00000002
#define LINEADDRESSSHARING_PRIVATE 0x00000001
#define LINEADDRESSSHARING_BRIDGEDEXCL 0x00000002
#define LINEADDRESSSHARING_BRIDGEDNEW 0x00000004
#define LINEADDRESSSHARING_BRIDGEDSHARED 0x00000008
#define LINEADDRESSSHARING_MONITORED 0x00000010
#define LINEADDRESSSTATE_OTHER 0x00000001
#define LINEADDRESSSTATE_DEVSPECIFIC 0x00000002
#define LINEADDRESSSTATE_INUSEZERO 0x00000004
#define LINEADDRESSSTATE_INUSEONE 0x00000008
#define LINEADDRESSSTATE_INUSEMANY 0x00000010
#define LINEADDRESSSTATE_NUMCALLS 0x00000020
#define LINEADDRESSSTATE_FORWARD 0x00000040
#define LINEADDRESSSTATE_TERMINALS 0x00000080
#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
#define LINEADDRESSTYPE_PHONENUMBER 0x00000001
#define LINEADDRESSTYPE_SDP 0x00000002
#define LINEADDRESSTYPE_EMAILNAME 0x00000004
#define LINEADDRESSTYPE_DOMAINNAME 0x00000008
#define LINEADDRESSTYPE_IPADDRESS 0x00000010
#endif
#define LINEADDRFEATURE_FORWARD 0x00000001
#define LINEADDRFEATURE_MAKECALL 0x00000002
#define LINEADDRFEATURE_PICKUP 0x00000004
#define LINEADDRFEATURE_SETMEDIACONTROL 0x00000008
#define LINEADDRFEATURE_SETTERMINAL 0x00000010
#define LINEADDRFEATURE_SETUPCONF 0x00000020
#define LINEADDRFEATURE_UNCOMPLETECALL 0x00000040
#define LINEADDRFEATURE_UNPARK 0x00000080
#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
#define LINEADDRFEATURE_PICKUPHELD 0x00000100 // TAPI v2.0
#define LINEADDRFEATURE_PICKUPGROUP 0x00000200 // TAPI v2.0
#define LINEADDRFEATURE_PICKUPDIRECT 0x00000400 // TAPI v2.0
#define LINEADDRFEATURE_PICKUPWAITING 0x00000800 // TAPI v2.0
#define LINEADDRFEATURE_FORWARDFWD 0x00001000 // TAPI v2.0
#define LINEADDRFEATURE_FORWARDDND 0x00002000 // TAPI v2.0
#endif
#define LINEANSWERMODE_NONE 0x00000001
#define LINEANSWERMODE_DROP 0x00000002
#define LINEANSWERMODE_HOLD 0x00000004
#define LINEBEARERMODE_VOICE 0x00000001
#define LINEBEARERMODE_SPEECH 0x00000002
#define LINEBEARERMODE_MULTIUSE 0x00000004
#define LINEBEARERMODE_DATA 0x00000008
#define LINEBEARERMODE_ALTSPEECHDATA 0x00000010
#define LINEBEARERMODE_NONCALLSIGNALING 0x00000020
#define LINEBEARERMODE_PASSTHROUGH 0x00000040 // TAPI v1.4
#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
#define LINEBEARERMODE_RESTRICTEDDATA 0x00000080 // TAPI v2.0
#endif
#define LINEBUSYMODE_STATION 0x00000001
#define LINEBUSYMODE_TRUNK 0x00000002
#define LINEBUSYMODE_UNKNOWN 0x00000004
#define LINEBUSYMODE_UNAVAIL 0x00000008
#define LINECALLCOMPLCOND_BUSY 0x00000001
#define LINECALLCOMPLCOND_NOANSWER 0x00000002
#define LINECALLCOMPLMODE_CAMPON 0x00000001
#define LINECALLCOMPLMODE_CALLBACK 0x00000002
#define LINECALLCOMPLMODE_INTRUDE 0x00000004
#define LINECALLCOMPLMODE_MESSAGE 0x00000008
#define LINECALLFEATURE_ACCEPT 0x00000001
#define LINECALLFEATURE_ADDTOCONF 0x00000002
#define LINECALLFEATURE_ANSWER 0x00000004
#define LINECALLFEATURE_BLINDTRANSFER 0x00000008
#define LINECALLFEATURE_COMPLETECALL 0x00000010
#define LINECALLFEATURE_COMPLETETRANSF 0x00000020
#define LINECALLFEATURE_DIAL 0x00000040
#define LINECALLFEATURE_DROP 0x00000080
#define LINECALLFEATURE_GATHERDIGITS 0x00000100
#define LINECALLFEATURE_GENERATEDIGITS 0x00000200
#define LINECALLFEATURE_GENERATETONE 0x00000400
#define LINECALLFEATURE_HOLD 0x00000800
#define LINECALLFEATURE_MONITORDIGITS 0x00001000
#define LINECALLFEATURE_MONITORMEDIA 0x00002000
#define LINECALLFEATURE_MONITORTONES 0x00004000
#define LINECALLFEATURE_PARK 0x00008000
#define LINECALLFEATURE_PREPAREADDCONF 0x00010000
#define LINECALLFEATURE_REDIRECT 0x00020000
#define LINECALLFEATURE_REMOVEFROMCONF 0x00040000
#define LINECALLFEATURE_SECURECALL 0x00080000
#define LINECALLFEATURE_SENDUSERUSER 0x00100000
#define LINECALLFEATURE_SETCALLPARAMS 0x00200000
#define LINECALLFEATURE_SETMEDIACONTROL 0x00400000
#define LINECALLFEATURE_SETTERMINAL 0x00800000
#define LINECALLFEATURE_SETUPCONF 0x01000000
#define LINECALLFEATURE_SETUPTRANSFER 0x02000000
#define LINECALLFEATURE_SWAPHOLD 0x04000000
#define LINECALLFEATURE_UNHOLD 0x08000000
#define LINECALLFEATURE_RELEASEUSERUSERINFO 0x10000000 // TAPI v1.4
#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
#define LINECALLFEATURE_SETTREATMENT 0x20000000 // TAPI v2.0
#define LINECALLFEATURE_SETQOS 0x40000000 // TAPI v2.0
#define LINECALLFEATURE_SETCALLDATA 0x80000000 // TAPI v2.0
#endif
#define LINECALLINFOSTATE_OTHER 0x00000001
#define LINECALLINFOSTATE_DEVSPECIFIC 0x00000002
#define LINECALLINFOSTATE_BEARERMODE 0x00000004
#define LINECALLINFOSTATE_RATE 0x00000008
#define LINECALLINFOSTATE_MEDIAMODE 0x00000010
#define LINECALLINFOSTATE_APPSPECIFIC 0x00000020
#define LINECALLINFOSTATE_CALLID 0x00000040
#define LINECALLINFOSTATE_RELATEDCALLID 0x00000080
#define LINECALLINFOSTATE_ORIGIN 0x00000100
#define LINECALLINFOSTATE_REASON 0x00000200
#define LINECALLINFOSTATE_COMPLETIONID 0x00000400
#define LINECALLINFOSTATE_NUMOWNERINCR 0x00000800
#define LINECALLINFOSTATE_NUMOWNERDECR 0x00001000
#define LINECALLINFOSTATE_NUMMONITORS 0x00002000
#define LINECALLINFOSTATE_TRUNK 0x00004000
#define LINECALLINFOSTATE_CALLERID 0x00008000
#define LINECALLINFOSTATE_CALLEDID 0x00010000
#define LINECALLINFOSTATE_CONNECTEDID 0x00020000
#define LINECALLINFOSTATE_REDIRECTIONID 0x00040000
#define LINECALLINFOSTATE_REDIRECTINGID 0x00080000
#define LINECALLINFOSTATE_DISPLAY 0x00100000
#define LINECALLINFOSTATE_USERUSERINFO 0x00200000
#define LINECALLINFOSTATE_HIGHLEVELCOMP 0x00400000
#define LINECALLINFOSTATE_LOWLEVELCOMP 0x00800000
#define LINECALLINFOSTATE_CHARGINGINFO 0x01000000
#define LINECALLINFOSTATE_TERMINAL 0x02000000
#define LINECALLINFOSTATE_DIALPARAMS 0x04000000
#define LINECALLINFOSTATE_MONITORMODES 0x08000000
#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
#define LINECALLINFOSTATE_TREATMENT 0x10000000 // TAPI v2.0
#define LINECALLINFOSTATE_QOS 0x20000000 // TAPI v2.0
#define LINECALLINFOSTATE_CALLDATA 0x40000000 // TAPI v2.0
#endif
#define LINECALLORIGIN_OUTBOUND 0x00000001
#define LINECALLORIGIN_INTERNAL 0x00000002
#define LINECALLORIGIN_EXTERNAL 0x00000004
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -