OID_TAPI_GET_DEV_CAPS
The OID_TAPI_GET_DEV_CAPS OID requests the miniport driver to return the telephony capabilities of a specified line device. The returned information is valid for all addresses on the given line device.
Support for this request is mandatory.
This request uses an NDIS_TAPI_GET_DEV_CAPS structure, defined as follows:
typedef struct _NDIS_TAPI_GET_DEV_CAPS {
IN ULONG ulRequestID;
IN ULONG ulDeviceID;
IN ULONG ulExtVersion;
OUT LINE_DEV_CAPS LineDevCaps;
} NDIS_TAPI_GET_DEV_CAPS, *PNDIS_TAPI_GET_DEV_CAPS;
The members of this structure contain the following information:
ulRequestID
Reserved.ulDeviceID
Specifies the link or data channel to be queried. This was set up in a preceding OID_TAPI_GET_ID request.ulExtVersion
Specifies the negotiated extension version number, if any.The value has already been negotiated for this device through the OID_TAPI_NEGOTIATE_EXT_VERSION request. The value of this member is not validated when this request is made.
LineDevCaps
Specifies the virtual address of a variable-size structure of type LINE_DEV_CAPS. For more information, see ndistapi.h.The NIC driver fills this structure with line device capabilities information to complete this request successfully.
The structure at LineDevCaps has at least sizeof(LINE_DEV_CAPS) bytes reserved.
The supplied provider information in the dwProviderInfoOffset member of LINE_DEV_CAPS must have the following format:
MediaName**\0ProviderName\0**
where
MediaName is ISDN, SW56, FrameRelay, and so forth, as appropriate
and
ProviderName is the name of the manufacturer of the device and the unique name of the device, if any.
For example, the driver of an ISDN device from SomeIHV Inc. would set the dwProviderInfoOffset member with a pointer to the string "ISDN\0SomeIHV\0"
The MiniportQueryInformationfunction can return one of the following:
NDIS_STATUS_SUCCESS
NDIS_STATUS_PENDING
NDIS_STATUS_TAPI_NODRIVER
NDIS_STATUS_TAPI_RESOURCEUNAVAIL
NDIS_STATUS_FAILURE