The tapi/phone device class consists of all phone devices. You access these devices using the TAPI phone functions.
The phoneGetID function fills a VARSTRING structure, setting the dwStringFormat member to the STRINGFORMAT_BINARY value and appending this additional member:
DWORD dwDeviceI; // phone device identifier
The dwDeviceId member is the identifier of the phone device associated with the phone handle given by phoneGetID.
The lineGetID function also fills a VARSTRING structure, setting dwStringFormat to STRINGFORMAT_BINARY and appending this additional member:
DWORD adwDeviceIds[]; // array of phone device identifiers
The adwDeviceIds member is an array containing the device identifiers of all phone devices that are associated with the given line device. If there are no associated phone devices, lineGetID returns the LINEERR_INVALDEVICECLASS value.