OID_TAPI_PROVIDER_INITIALIZE
The OID_TAPI_PROVIDER_INITIALIZE OID requests that the miniport driver initialize itself as a TAPI provider. The driver should set up whatever internal state it uses to track incoming requests from TAPI.
Support for this request is mandatory.
This request uses an NDIS_TAPI_PROVIDER_INITITIALIZE structure, defined as follows:
typedef struct _NDIS_TAPI_PROVIDER_INITIALIZE {
IN ULONG ulRequestID;
IN ULONG ulDeviceIDBase;
OUT ULONG ulNumLineDevs;
OUT ULONG ulProviderID;
} NDIS_TAPI_PROVIDER_INITIALIZE, *PNDIS_TAPI_PROVIDER_INITIALIZE;
The members of this structure contain the following information:
ulRequestID
Reserved.ulDeviceIDBase
Specifies the lowest device ID for the line devices supported by the miniport driver. Subsequent to this request, the driver uses this value as the zero-based line device identifier value. That is, if ulNumLineDevs is greater than one, the ulDeviceID values subsequently passed in requests such as OID_TAPI_OPEN, contains this value for the first line, this value plus one for the second line, and so forth.ulNumLineDevs
Specifies the number of line devices supported by the miniport driver to complete this request successfully.ulProviderID
Specifies an ID for the WAN NIC driver if this request is completed successfully. This value must be unique within the set of WAN drivers that support TAPI; the NdisMiniportContext handle passed in to the MiniportInitialize function can be used to provide a guaranteed unique value.
The MiniportQueryInformationfunction can return one of the following:
NDIS_STATUS_SUCCESS
NDIS_STATUS_PENDING
NDIS_STATUS_TAPI_RESOURCEUNAVAIL
NDIS_STATUS_FAILURE