共用方式為


OID_TAPI_CONFIG_DIALOG

The OID_TAPI_CONFIG_DIALOG OID requests the miniport driver to return the name of a user-mode dynamic-link library that can be loaded and called to configure the specified device.

Such a configuration DLL exports the following function by name:

LONG WINAPI ConfigDialog( IN HWND hwndOwner, IN ULONG ulDeviceID, IN LPCSTR lpszDeviceClass );

Support for this request is optional. This request is not made by RAS.

The NDIS_TAPI_CONFIG_DIALOG structure, defined as follows, is used with this OID to retrieve the name of a user-mode dynamic-link library that can be called to configure the specified device.


typedef struct _NDIS_TAPI_CONFIG_DIALOG {         
         IN ULONG ulRequestID;
         IN ULONG ulDeviceID;         
         IN ULONG ulDeviceClassSize;
         IN ULONG ulDeviceClassOffset;
         IN ULONG ulLibraryNameTotalSize;

         OUT ULONG ulLibraryNameNeededSize;
         OUT CHAR szLibraryName[1];
 } NDIS_TAPI_CONFIG_DIALOG,
     *PNDIS_TAPI_CONFIG_DIALOG;

The members of this structure contain the following information:

  • ulRequestID
    Reserved.

  • ulDeviceID
    Specifies the line device to be configured. This was set up in a preceding OID_TAPI_PROVIDER_INITIALIZE request.

  • ulDeviceClassSize
    Specifies the size in bytes of the device-class string.

  • ulDeviceClassOffset
    Specifies the offset in bytes to the null-terminated, variable-size counted string specifying the class of the device whose configuration is requested. Valid device class strings are the same as those specified for the OID_TAPI_GET_ID request when it is applied to a "line" device ( ulSelect has the value LINECALLSELECT_LINE).

  • ulLibraryNameTotalSize
    Specifies the size in bytes of the szLibraryName member.

  • ulLibraryNameNeededSize
    Specifies the size in bytes that is needed to hold all the returned information.

  • szLibraryName
    Specifies space for a null-terminated string naming a configuration DLL for the requested device. Names not containing a complete path or an extension will be subject to the rules used by the Win32 LoadLibrary function for determining default paths and extensions. If the miniport driver determines this buffer is too small to hold all the information, it should specify the necessary size in the ulLibraryNameNeededSize member and return an NDIS_STATUS_TAPI_STRUCTURETOOSMALL error.

The MiniportQueryInformationfunction can return one of the following:

NDIS_STATUS_SUCCESS

NDIS_STATUS_PENDING

NDIS_STATUS_TAPI_STRUCTURETOOSMALL

NDIS_STATUS_TAPI_INVALDEVICECLASS

NDIS_STATUS_TAPI_OPERATIONUNAVAIL

NDIS_STATUS_TAPI_RESOURCEUNAVAIL

NDIS_STATUS_FAILURE

 

 

Send comments about this topic to Microsoft