tspi.h

来自「用于查询PC机上的USB端口是否有设备挂接上」· C头文件 代码 · 共 814 行 · 第 1/2 页

H
814
字号
    DWORD                       dwDeviceID,
    LPVOID                      const lpDeviceConfig,
    DWORD                       dwSize,
    LPCSTR                      lpszDeviceClass);

LONG TSPIAPI TSPI_lineSetMediaControl(
    HDRVLINE                     hdLine,
    DWORD                        dwAddressID,
    HDRVCALL                     hdCall,
    DWORD                        dwSelect,
    LPLINEMEDIACONTROLDIGIT      const lpDigitList,
    DWORD                        dwDigitNumEntries,
    LPLINEMEDIACONTROLMEDIA      const lpMediaList,
    DWORD                        dwMediaNumEntries,
    LPLINEMEDIACONTROLTONE       const lpToneList,
    DWORD                        dwToneNumEntries,
    LPLINEMEDIACONTROLCALLSTATE  const lpCallStateList,
    DWORD                        dwCallStateNumEntries);

LONG TSPIAPI TSPI_lineSetMediaMode(
    HDRVCALL       hdCall,
    DWORD          dwMediaMode);

LONG TSPIAPI TSPI_lineSetStatusMessages(
    HDRVLINE       hdLine,
    DWORD          dwLineStates,
    DWORD          dwAddressStates);

LONG TSPIAPI TSPI_lineSetTerminal(
    DRV_REQUESTID  dwRequestID,
    HDRVLINE       hdLine,
    DWORD          dwAddressID,
    HDRVCALL       hdCall,
    DWORD          dwSelect,
    DWORD          dwTerminalModes,
    DWORD          dwTerminalID,
    DWORD           bEnable);

LONG TSPIAPI TSPI_lineSetupConference(
    DRV_REQUESTID     dwRequestID,
    HDRVCALL          hdCall,
    HDRVLINE          hdLine,
    HTAPICALL         htConfCall,
    LPHDRVCALL        lphdConfCall,
    HTAPICALL         htConsultCall,
    LPHDRVCALL        lphdConsultCall,
    DWORD             dwNumParties,
    LPLINECALLPARAMS  const lpCallParams);

LONG TSPIAPI TSPI_lineSetupTransfer(
    DRV_REQUESTID     dwRequestID,
    HDRVCALL          hdCall,
    HTAPICALL         htConsultCall,
    LPHDRVCALL        lphdConsultCall,
    LPLINECALLPARAMS  const lpCallParams);

LONG TSPIAPI TSPI_lineSwapHold(
    DRV_REQUESTID  dwRequestID,
    HDRVCALL       hdActiveCall,
    HDRVCALL       hdHeldCall);

LONG TSPIAPI TSPI_lineUncompleteCall(
    DRV_REQUESTID  dwRequestID,
    HDRVLINE       hdLine,
    DWORD          dwCompletionID);

LONG TSPIAPI TSPI_lineUnhold(
    DRV_REQUESTID  dwRequestID,
    HDRVCALL       hdCall);

LONG TSPIAPI TSPI_lineUnpark(
    DRV_REQUESTID  dwRequestID,
    HDRVLINE       hdLine,
    DWORD          dwAddressID,
    HTAPICALL      htCall,
    LPHDRVCALL     lphdCall,
    LPCSTR         lpszDestAddress);

LONG TSPIAPI TSPI_lineReleaseUserUserInfo(
    DRV_REQUESTID  dwRequestID,
    HDRVCALL       hdCall);
    


// TSPIAPI TSPI_phone functions
// ----------------------------------------------------------------------------

LONG TSPIAPI TSPI_phoneClose(
    HDRVPHONE  hdPhone);

LONG TSPIAPI TSPI_phoneConfigDialog(
    DWORD   dwDeviceID,
    HWND    hwndOwner,
    LPCSTR  lpszDeviceClass);

LONG TSPIAPI TSPI_phoneDevSpecific(
    DRV_REQUESTID  dwRequestID,
    HDRVPHONE      hdPhone,
    LPVOID         lpParams,
    DWORD          dwSize);

LONG TSPIAPI TSPI_phoneGetButtonInfo(
    HDRVPHONE          hdPhone,
    DWORD              dwButtonLampID,
    LPPHONEBUTTONINFO  lpButtonInfo);

LONG TSPIAPI TSPI_phoneGetData(
    HDRVPHONE      hdPhone,
    DWORD          dwDataID,
    LPVOID         lpData,
    DWORD          dwSize);

LONG TSPIAPI TSPI_phoneGetDevCaps(
    DWORD          dwDeviceID,
    DWORD          dwTSPIVersion,
    DWORD          dwExtVersion,
    LPPHONECAPS    lpPhoneCaps);

LONG TSPIAPI TSPI_phoneGetDisplay(
    HDRVPHONE      hdPhone,
    LPVARSTRING    lpDisplay);

LONG TSPIAPI TSPI_phoneGetExtensionID(
    DWORD               dwDeviceID,
    DWORD               dwTSPIVersion,
    LPPHONEEXTENSIONID  lpExtensionID);

LONG TSPIAPI TSPI_phoneGetGain(
    HDRVPHONE      hdPhone,
    DWORD          dwHookSwitchDev,
    LPDWORD        lpdwGain);

LONG TSPIAPI TSPI_phoneGetHookSwitch(
    HDRVPHONE      hdPhone,
    LPDWORD        lpdwHookSwitchDevs);

LONG TSPIAPI TSPI_phoneGetIcon(
    DWORD    dwDeviceID,
    LPCSTR   lpszDeviceClass,
    LPHICON  lphIcon);

LONG TSPIAPI TSPI_phoneGetID(
    HDRVPHONE      hdPhone,
    LPVARSTRING    lpDeviceID,
    LPCSTR         lpszDeviceClass);

LONG TSPIAPI TSPI_phoneGetLamp(
    HDRVPHONE      hdPhone,
    DWORD          dwButtonLampID,
    LPDWORD        lpdwLampMode);

LONG TSPIAPI TSPI_phoneGetRing(
    HDRVPHONE      hdPhone,
    LPDWORD        lpdwRingMode,
    LPDWORD        lpdwVolume);

LONG TSPIAPI TSPI_phoneGetStatus(
    HDRVPHONE      hdPhone,
    LPPHONESTATUS  lpPhoneStatus);

LONG TSPIAPI TSPI_phoneGetVolume(
    HDRVPHONE      hdPhone,
    DWORD          dwHookSwitchDev,
    LPDWORD        lpdwVolume);

LONG TSPIAPI TSPI_phoneNegotiateExtVersion(
    DWORD    dwDeviceID,
    DWORD    dwTSPIVersion,
    DWORD    dwLowVersion,
    DWORD    dwHighVersion,
    LPDWORD  lpdwExtVersion);

LONG TSPIAPI TSPI_phoneNegotiateTSPIVersion(
    DWORD    dwDeviceID,
    DWORD    dwLowVersion,
    DWORD    dwHighVersion,
    LPDWORD  lpdwTSPIVersion);

LONG TSPIAPI TSPI_phoneOpen(
    DWORD        dwDeviceID,
    HTAPIPHONE   htPhone,
    LPHDRVPHONE  lphdPhone,
    DWORD        dwTSPIVersion,
    PHONEEVENT   lpfnEventProc);

LONG TSPIAPI TSPI_phoneSelectExtVersion(
    HDRVPHONE  hdPhone,
    DWORD      dwExtVersion);

LONG TSPIAPI TSPI_phoneSetButtonInfo(
    DRV_REQUESTID            dwRequestID,
    HDRVPHONE                hdPhone,
    DWORD                    dwButtonLampID,
    LPPHONEBUTTONINFO  const lpButtonInfo);

LONG TSPIAPI TSPI_phoneSetData(
    DRV_REQUESTID  dwRequestID,
    HDRVPHONE      hdPhone,
    DWORD          dwDataID,
    LPVOID         const lpData,
    DWORD          dwSize);

LONG TSPIAPI TSPI_phoneSetDisplay(
    DRV_REQUESTID  dwRequestID,
    HDRVPHONE      hdPhone,
    DWORD          dwRow,
    DWORD          dwColumn,
    LPCSTR         lpsDisplay,
    DWORD          dwSize);

LONG TSPIAPI TSPI_phoneSetGain(
    DRV_REQUESTID  dwRequestID,
    HDRVPHONE      hdPhone,
    DWORD          dwHookSwitchDev,
    DWORD          dwGain);

LONG TSPIAPI TSPI_phoneSetHookSwitch(
    DRV_REQUESTID  dwRequestID,
    HDRVPHONE      hdPhone,
    DWORD          dwHookSwitchDevs,
    DWORD          dwHookSwitchMode);

LONG TSPIAPI TSPI_phoneSetLamp(
    DRV_REQUESTID  dwRequestID,
    HDRVPHONE      hdPhone,
    DWORD          dwButtonLampID,
    DWORD          dwLampMode);

LONG TSPIAPI TSPI_phoneSetRing(
    DRV_REQUESTID  dwRequestID,
    HDRVPHONE      hdPhone,
    DWORD          dwRingMode,
    DWORD          dwVolume);

LONG TSPIAPI TSPI_phoneSetStatusMessages(
    HDRVPHONE      hdPhone,
    DWORD          dwPhoneStates,
    DWORD          dwButtonModes,
    DWORD          dwButtonStates);

LONG TSPIAPI TSPI_phoneSetVolume(
    DRV_REQUESTID  dwRequestID,
    HDRVPHONE      hdPhone,
    DWORD          dwHookSwitchDev,
    DWORD          dwVolume);



// TSPIAPI TSPI_provider functions
// ----------------------------------------------------------------------------

LONG TSPIAPI TSPI_providerConfig(
    HWND   hwndOwner,
    DWORD  dwPermanentProviderID);

LONG TSPIAPI TSPI_providerInit(
    DWORD             dwTSPIVersion,
    DWORD             dwPermanentProviderID,
    DWORD             dwLineDeviceIDBase,
    DWORD             dwPhoneDeviceIDBase,
    DWORD             dwNumLines,
    DWORD             dwNumPhones,
    ASYNC_COMPLETION  lpfnCompletionProc);

LONG TSPIAPI TSPI_providerInstall(
    HWND   hwndOwner,
    DWORD  dwPermanentProviderID);

LONG TSPIAPI TSPI_providerRemove(
    HWND   hwndOwner,
    DWORD  dwPermanentProviderID);

LONG TSPIAPI TSPI_providerShutdown(
    DWORD    dwTSPIVersion);

LONG TSPIAPI TSPI_providerEnumDevices(
    DWORD    dwPermanentProviderID,
    LPDWORD  lpdwNumLines,
    LPDWORD  lpdwNumPhones,
    HPROVIDER   hProvider,
    LINEEVENT   lpfnLineCreateProc,
    PHONEEVENT  lpfnPhoneCreateProc);

LONG TSPIAPI TSPI_providerCreateLineDevice(
    DWORD    dwTempID,
    DWORD    dwDeviceID);

LONG TSPIAPI TSPI_providerCreatePhoneDevice(
    DWORD    dwTempID,
    DWORD    dwDeviceID);


// The following macros are the ordinal numbers of the exported tspi functions

#define TSPI_PROC_BASE            500

#define TSPI_LINEACCEPT                    (TSPI_PROC_BASE + 0)
#define TSPI_LINEADDTOCONFERENCE           (TSPI_PROC_BASE + 1)
#define TSPI_LINEANSWER                    (TSPI_PROC_BASE + 2)
#define TSPI_LINEBLINDTRANSFER             (TSPI_PROC_BASE + 3)
#define TSPI_LINECLOSE                     (TSPI_PROC_BASE + 4)
#define TSPI_LINECLOSECALL                 (TSPI_PROC_BASE + 5)
#define TSPI_LINECOMPLETECALL              (TSPI_PROC_BASE + 6)
#define TSPI_LINECOMPLETETRANSFER          (TSPI_PROC_BASE + 7)
#define TSPI_LINECONDITIONALMEDIADETECTION (TSPI_PROC_BASE + 8)
#define TSPI_LINECONFIGDIALOG              (TSPI_PROC_BASE + 9)
#define TSPI_LINEDEVSPECIFIC               (TSPI_PROC_BASE + 10)
#define TSPI_LINEDEVSPECIFICFEATURE        (TSPI_PROC_BASE + 11)
#define TSPI_LINEDIAL                      (TSPI_PROC_BASE + 12)
#define TSPI_LINEDROP                      (TSPI_PROC_BASE + 13)
#define TSPI_LINEFORWARD                   (TSPI_PROC_BASE + 14)
#define TSPI_LINEGATHERDIGITS              (TSPI_PROC_BASE + 15)
#define TSPI_LINEGENERATEDIGITS            (TSPI_PROC_BASE + 16)
#define TSPI_LINEGENERATETONE              (TSPI_PROC_BASE + 17)
#define TSPI_LINEGETADDRESSCAPS            (TSPI_PROC_BASE + 18)
#define TSPI_LINEGETADDRESSID              (TSPI_PROC_BASE + 19)
#define TSPI_LINEGETADDRESSSTATUS          (TSPI_PROC_BASE + 20)
#define TSPI_LINEGETCALLADDRESSID          (TSPI_PROC_BASE + 21)
#define TSPI_LINEGETCALLINFO               (TSPI_PROC_BASE + 22)
#define TSPI_LINEGETCALLSTATUS             (TSPI_PROC_BASE + 23)
#define TSPI_LINEGETDEVCAPS                (TSPI_PROC_BASE + 24)
#define TSPI_LINEGETDEVCONFIG              (TSPI_PROC_BASE + 25)
#define TSPI_LINEGETEXTENSIONID            (TSPI_PROC_BASE + 26)
#define TSPI_LINEGETICON                   (TSPI_PROC_BASE + 27)
#define TSPI_LINEGETID                     (TSPI_PROC_BASE + 28)
#define TSPI_LINEGETLINEDEVSTATUS          (TSPI_PROC_BASE + 29)
#define TSPI_LINEGETNUMADDRESSIDS          (TSPI_PROC_BASE + 30)
#define TSPI_LINEHOLD                      (TSPI_PROC_BASE + 31)
#define TSPI_LINEMAKECALL                  (TSPI_PROC_BASE + 32)
#define TSPI_LINEMONITORDIGITS             (TSPI_PROC_BASE + 33)
#define TSPI_LINEMONITORMEDIA              (TSPI_PROC_BASE + 34)
#define TSPI_LINEMONITORTONES              (TSPI_PROC_BASE + 35)
#define TSPI_LINENEGOTIATEEXTVERSION       (TSPI_PROC_BASE + 36)
#define TSPI_LINENEGOTIATETSPIVERSION      (TSPI_PROC_BASE + 37)
#define TSPI_LINEOPEN                      (TSPI_PROC_BASE + 38)
#define TSPI_LINEPARK                      (TSPI_PROC_BASE + 39)
#define TSPI_LINEPICKUP                    (TSPI_PROC_BASE + 40)
#define TSPI_LINEPREPAREADDTOCONFERENCE    (TSPI_PROC_BASE + 41)
#define TSPI_LINEREDIRECT                  (TSPI_PROC_BASE + 42)
#define TSPI_LINEREMOVEFROMCONFERENCE      (TSPI_PROC_BASE + 43)
#define TSPI_LINESECURECALL                (TSPI_PROC_BASE + 44)
#define TSPI_LINESELECTEXTVERSION          (TSPI_PROC_BASE + 45)
#define TSPI_LINESENDUSERUSERINFO          (TSPI_PROC_BASE + 46)
#define TSPI_LINESETAPPSPECIFIC            (TSPI_PROC_BASE + 47)
#define TSPI_LINESETCALLPARAMS             (TSPI_PROC_BASE + 48)
#define TSPI_LINESETDEFAULTMEDIADETECTION  (TSPI_PROC_BASE + 49)
#define TSPI_LINESETDEVCONFIG              (TSPI_PROC_BASE + 50)
#define TSPI_LINESETMEDIACONTROL           (TSPI_PROC_BASE + 51)
#define TSPI_LINESETMEDIAMODE              (TSPI_PROC_BASE + 52)
#define TSPI_LINESETSTATUSMESSAGES         (TSPI_PROC_BASE + 53)
#define TSPI_LINESETTERMINAL               (TSPI_PROC_BASE + 54)
#define TSPI_LINESETUPCONFERENCE           (TSPI_PROC_BASE + 55)
#define TSPI_LINESETUPTRANSFER             (TSPI_PROC_BASE + 56)
#define TSPI_LINESWAPHOLD                  (TSPI_PROC_BASE + 57)
#define TSPI_LINEUNCOMPLETECALL            (TSPI_PROC_BASE + 58)
#define TSPI_LINEUNHOLD                    (TSPI_PROC_BASE + 59)
#define TSPI_LINEUNPARK                    (TSPI_PROC_BASE + 60)
#define TSPI_PHONECLOSE                    (TSPI_PROC_BASE + 61)
#define TSPI_PHONECONFIGDIALOG             (TSPI_PROC_BASE + 62)
#define TSPI_PHONEDEVSPECIFIC              (TSPI_PROC_BASE + 63)
#define TSPI_PHONEGETBUTTONINFO            (TSPI_PROC_BASE + 64)
#define TSPI_PHONEGETDATA                  (TSPI_PROC_BASE + 65)
#define TSPI_PHONEGETDEVCAPS               (TSPI_PROC_BASE + 66)
#define TSPI_PHONEGETDISPLAY               (TSPI_PROC_BASE + 67)
#define TSPI_PHONEGETEXTENSIONID           (TSPI_PROC_BASE + 68)
#define TSPI_PHONEGETGAIN                  (TSPI_PROC_BASE + 69)
#define TSPI_PHONEGETHOOKSWITCH            (TSPI_PROC_BASE + 70)
#define TSPI_PHONEGETICON                  (TSPI_PROC_BASE + 71)
#define TSPI_PHONEGETID                    (TSPI_PROC_BASE + 72)
#define TSPI_PHONEGETLAMP                  (TSPI_PROC_BASE + 73)
#define TSPI_PHONEGETRING                  (TSPI_PROC_BASE + 74)
#define TSPI_PHONEGETSTATUS                (TSPI_PROC_BASE + 75)
#define TSPI_PHONEGETVOLUME                (TSPI_PROC_BASE + 76)
#define TSPI_PHONENEGOTIATEEXTVERSION      (TSPI_PROC_BASE + 77)
#define TSPI_PHONENEGOTIATETSPIVERSION     (TSPI_PROC_BASE + 78)
#define TSPI_PHONEOPEN                     (TSPI_PROC_BASE + 79)
#define TSPI_PHONESELECTEXTVERSION         (TSPI_PROC_BASE + 80)
#define TSPI_PHONESETBUTTONINFO            (TSPI_PROC_BASE + 81)
#define TSPI_PHONESETDATA                  (TSPI_PROC_BASE + 82)
#define TSPI_PHONESETDISPLAY               (TSPI_PROC_BASE + 83)
#define TSPI_PHONESETGAIN                  (TSPI_PROC_BASE + 84)
#define TSPI_PHONESETHOOKSWITCH            (TSPI_PROC_BASE + 85)
#define TSPI_PHONESETLAMP                  (TSPI_PROC_BASE + 86)
#define TSPI_PHONESETRING                  (TSPI_PROC_BASE + 87)
#define TSPI_PHONESETSTATUSMESSAGES        (TSPI_PROC_BASE + 88)
#define TSPI_PHONESETVOLUME                (TSPI_PROC_BASE + 89)
#define TSPI_PROVIDERCONFIG                (TSPI_PROC_BASE + 90)
#define TSPI_PROVIDERINIT                  (TSPI_PROC_BASE + 91)
#define TSPI_PROVIDERINSTALL               (TSPI_PROC_BASE + 92)
#define TSPI_PROVIDERREMOVE                (TSPI_PROC_BASE + 93)
#define TSPI_PROVIDERSHUTDOWN              (TSPI_PROC_BASE + 94)
#define TSPI_PROVIDERENUMDEVICES           (TSPI_PROC_BASE + 95)
#define TSPI_LINEDROPONCLOSE               (TSPI_PROC_BASE + 96)
#define TSPI_LINEDROPNOOWNER               (TSPI_PROC_BASE + 97)
#define TSPI_PROVIDERCREATELINEDEVICE      (TSPI_PROC_BASE + 98)
#define TSPI_PROVIDERCREATEPHONEDEVICE     (TSPI_PROC_BASE + 99)
#define TSPI_LINESETCURRENTLOCATION        (TSPI_PROC_BASE + 100)
#define TSPI_LINECONFIGDIALOGEDIT          (TSPI_PROC_BASE + 101)
#define TSPI_LINERELEASEUSERUSERINFO       (TSPI_PROC_BASE + 102)


#ifdef __cplusplus
}                       /* End of extern "C" { */
#endif  /* __cplusplus */

#endif  // TSPI_H

⌨️ 快捷键说明

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