Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Wanneer een aanroep actief is in LINEBEARERMODE_PASSTHROUGH, verleent de serviceprovider directe toegang tot de gekoppelde hardware voor beheer door de toepassing. Toepassingen kunnen deze modus gebruiken voor tijdelijke directe controle over asynchrone modems, toegankelijk via de communicatiefuncties, voor het configureren of gebruiken van speciale functies die niet anders worden ondersteund door de serviceprovider, zoals facsimile (klasse 1, 2, enzovoort). Deze bearermodus wordt ondersteund door de UNIVERSAL Modem Driver (UNIMODEM) serviceprovider.
Serviceproviders die ondersteuning bieden voor LINEBEARERMODE_PASSTHROUGH geven dit aan in de dwBearerModes- lid van de LINEDEVCAPS- structuur. Wanneer LINEBEARERMODE_PASSTHROUGH wordt aangegeven, wordt de Unimodem-serviceprovider ook opgenomen in het gebied DevSpecific van het LINEDEVCAPS- structuur van de registersleutel die wordt gebruikt voor toegang tot gegevens over de modem die is gekoppeld aan het lijnapparaat, in de volgende indeling:
struct {
DWORD dwContents; // Set to 1 (indicates containing key).
DWORD dwKeyOffset; // Offset to key from start of this
// structure (not from start of
// LINEDEVCAPS structure).
// 8 in this case.
BYTE rgby[...]; // Place that contains null-terminated
// registry key.
}
Bijvoorbeeld:
00000001 00000008 74737953 435c6d65 ........System\C
65727275 6f43746e 6f72746e 7465536c urrentControlSet
7265535c 65636976 6c435c73 5c737361 urrentControlSet
65646f4d 30305c6d xx003030 xxxxxxxx Modem\0000.
Deze registersleutel kan vervolgens worden geopend met behulp van de functie RegOpenKey.
De passthrough-modus wordt meestal aangeroepen met behulp van de functie lineMakeCall door de LINEBEARERMODE_PASSTHROUGH bit in te stellen in de dwBearerMode lid van de LINECALLPARAMS- structuur die wordt verwezen door de parameter lpCallParams. Wanneer dit gebeurt, opent de serviceprovider de seriële poort naar de modem en plaatst de aanroep onmiddellijk in LINECALLSTATE_CONNECTED. De toepassing kan vervolgens de lineGetID--functie gebruiken met de apparaatklasse 'comm/datamodem' om een geopende bestandsingang te verkrijgen om van en naar de comm-poort te schrijven.
De passthrough-modus kan ook worden aangeroepen als reactie op een inkomende oproep. Over het algemeen roepen toepassingen de passthrough-modus aan terwijl de oproep zich in LINECALLSTATE_OFFERINGbevindt, voordat de oproep is beantwoord. In plaats van lineAnsweraan te roepen, roept de toepassing lineSetCallParamsaan, waarbij LINEBEARERMODE_PASSTHROUGH wordt doorgegeven als de parameter dwBearerMode. Wanneer dit gebeurt, zoals bij lineMakeCall, wordt de aanroep onmiddellijk door de serviceprovider in LINECALLSTATE_CONNECTED geplaatst en kan de toepassing een ingang voor de geopende poort verkrijgen met behulp van lineGetID-. De lineSetCallParams functie kan worden aangeroepen wanneer de aanroep zich in LINECALLSTATE_OFFERING, LINECALLSTATE_ACCEPTEDof LINECALLSTATE_CONNECTEDbevindt.
De passthrough-modus wordt normaal gesproken beëindigd door lineDrop- aan te roepen op de oproepgreep die is verkregen via lineMakeCall- of het eerste LINE_CALLSTATE bericht, als het gesprek een inkomende oproep was. De serviceprovider sluit de poort en herstelt de modem naar de standaardstatus. De toepassing moet CloseHandle- aanroepen op de ingang die deze heeft ontvangen van lineGetID-.
De passthrough-modus kan ook worden beëindigd door lineSetCallParams- aan te roepen met de parameter dwBearerMode ingesteld op LINEBEARERMODE_VOICE. Het mediatype (modus) dat is ingesteld door lineSetMediaMode wordt verondersteld van kracht te zijn. Als LINEMEDIAMODE_DATAMODEM actief is, neemt de serviceprovider het gesprek over alsof het al een datamodem-aanroep is; als lineDrop vervolgens wordt aangeroepen, geeft de serviceprovider de juiste modemopdrachten of interfacestatuswijzigingen uit om een gegevensoproep te verwijderen.
Notitie
Als de passthrough-modus wordt beëindigd terwijl de oproep wordt uitgevoerd, kan de TAPI-serviceprovider (TSP) voor de lijn de modeminstellingen herstellen naar hun standaardstatus. Unimodem is een voorbeeld van een TSP die altijd de modeminstellingen herstelt bij het beëindigen van de passthrough-modus. Daarom kan de Passthrough-modus niet worden gebruikt als methode om het apparaat te configureren. Passthrough-modus mag alleen worden gebruikt voor afzonderlijke activiteiten die als voltooid kunnen worden beschouwd wanneer Passthrough wordt beëindigd. Voorbeelden van activiteiten die de passthrough-modus kunnen gebruiken, zijn het verzenden van een fax of het afspelen van golf-/audiogegevens via een eigen modemprotocol.