Freigeben über


CoNDIS TAPI-Initialisierung

In diesem Abschnitt wird erläutert, wie ein CoNDIS WAN-Miniporttreiber seine TAPI-Funktionen für Anwendungen aufzählt. Diese TAPI-Funktionen bestehen aus:

  • Die Anzahl der vom Miniporttreiber unterstützten Leitungsgeräte umfasst z. B. ein Modem, ein Faxboard und eine ISDN-Karte.

  • Informationen für bestimmte Zeilen - Zeileninformationen umfassen z. B. einen Zeilenbezeichner und die Anzahl der Kanaladressen (Telefonnummern), die die Leitung für die gleichzeitige Übertragung von Sprache und Daten unterstützt.

  • Informationen für bestimmte Kanaladressen auf Gerätezeilen– Adressinformationen umfassen beispielsweise die Identität eines Anrufers (Anrufer-ID) und die Anzahl der möglichen aktiven Anrufe.

Um Informationen zur zugrunde liegenden Hardware abzurufen, stellt NDPROXY Anforderungen für Zeilen- und Kanaladressenfunktionen aus. Das heißt, der NDPROXY-Treiber fragt die TAPI-Funktionen eines CoNDIS WAN-Miniporttreibers ab. Der NDPROXY-Treiber ruft die NdisCoOidRequest-Funktion auf, um die TAPI-Funktionen des Miniporttreibers abzufragen. In diesem Aufruf übergibt NDPROXY eine NDIS_OID_REQUEST-Struktur. NDPROXY gibt Folgendes in NDIS_OID_REQUEST an:

  • NdisRequestQueryInformation-Wert im RequestType-Member

  • Objektbezeichner (Object Identifier, OID), der die TAPI-Funktion angibt, die vom Miniporttreiber im Oid-Member abgerufen werden soll

  • Puffer, um die IM InformationBuffer-Member zurückgegebenen TAPI-Funktioneninformationen zu enthalten

Alle Abfragen, die vom NDPROXY-Treiber an einen CoNDIS WAN-Miniporttreiber gesendet werden, können synchron oder asynchron abgeschlossen werden. Wenn ein CoNDIS WAN-Miniporttreiber feststellt, dass er die Abfrage nicht sofort abschließen kann, kann er einfach NDIS_STATUS_PENDING zurückgeben und die NdisMCmOidRequestComplete-Funktion innerhalb seiner ProtocolCoOidRequest-Funktion aufrufen, wenn die Abfrage abgeschlossen ist.

Nachdem ein CoNDIS WAN-Miniporttreiber NDPROXY über die Registrierung einer neuen Adressfamilie benachrichtigt hat, wie in CoNDIS TAPI Registration angegeben, fragt NDPROXY die folgenden OIDs ab, um die TAPI-spezifischen Funktionen des CoNDIS WAN-Miniporttreibers und der NIC des Miniporttreibers zu ermitteln.

  • NDPROXY fragt den Miniporttreiber mit OID_CO_TAPI_CM_CAPS ab, um die Anzahl der vom Gerät des Miniporttreibers unterstützten Zeilen (das Gerät, für das TAPI-Dienste bereitgestellt werden) zu bestimmen. Diese OID fordert auch den Miniporttreiber an, um anzugeben, ob diese Linien ungleiche Linienfunktionen aufweisen.

  • NDPROXY fragt als Nächstes den Miniporttreiber mit OID_CO_TAPI_LINE_CAPS ab, um die Telefoniefunktionen für die angegebene Leitung zu ermitteln. Diese OID fordert auch den Miniporttreiber an, um anzugeben, ob Adressen in dieser Zeile ungleiche Adressfunktionen aufweisen.

    • Wenn die vorherige Abfrage von OID_CO_TAPI_CM_CAPS angegeben hat, dass das Gerät des Miniporttreibers nur eine Zeile unterstützt, oder wenn das Gerät mehrere Zeilen mit den gleichen Zeilenfunktionen unterstützt, muss NDPROXY OID_CO_TAPI_LINE_CAPS nur einmal abfragen, um die Zeilenfunktionen des Geräts abzurufen. In diesem Fall gelten die vom Miniporttreiber zurückgegebenen Zeilenfunktionen für alle Leitungen auf dem Gerät.
    • Wenn das Gerät mehrere Zeilen mit unterschiedlichen Zeilenfunktionen unterstützt, muss NDPROXY für jede Zeile OID_CO_TAPI_LINE_CAPS einmal abfragen, um die Zeilenfunktionen jeder Zeile abzurufen.
  • Schließlich fragt NDPROXY den Miniporttreiber mit OID_CO_TAPI_ADDRESS_CAPS ab, um die Telefoniefunktionen für eine angegebene Adresse in einer angegebenen Zeile zu ermitteln.

    • Wenn die vorherige Abfrage von OID_CO_TAPI_LINE_CAPS darauf hingewiesen hat, dass die Zeile nur eine Adresse unterstützt oder dass alle Adressen in der Zeile die gleichen Adressfunktionen haben, fragt NDPROXY OID_CO_TAPI_ADDRESS_CAPS nur einmal ab, um die Funktionen aller Adressen in der Zeile zu bestimmen.
    • Wenn eine Zeile mehrere Adressen mit unterschiedlichen Funktionen unterstützt, fragt NDPROXY OID_CO_TAPI_ADDRESS_CAPS einmal für jede Adresse in der Zeile ab.

Der NDPROXY-Treiber verwendet die mit den TAPI-Enumerations-OIDs abgerufenen Informationen, um Folgendes auszuführen:

  • Erstellen Sie TAPI-Parameter für nachfolgende TAPI-Aufrufe.

  • Bestimmen Sie, ob nachfolgende eingehende TAPI-Aufrufe akzeptiert oder abgelehnt werden sollen.

  • Registrieren Sie mindestens einen TAPI-Dienstzugriffspunkt (SERVICE Access Points, SAPs), auf dem nachfolgende eingehende TAPI-Aufrufe empfangen werden sollen.