LLM_PROVIDER_INFO  
 

The LLM_PROVIDER_INFO structure provides descriptive information and default connection settings for a language model provider.

typedef struct _LLM_PROVIDER_INFO
{
    DWORD   dwSize;
    DWORD   dwProviderId;
    DWORD   dwFlags;
    DWORD   dwReserved;
    LONG    nProtocol;
    LONG    nHostPort;
    TCHAR   szName[LLM_PROVIDER_NAMELEN];
    TCHAR   szHostName[LLM_PROVIDER_HOSTLEN];
    TCHAR   szDefaultModel[LLM_MODEL_NAMELEN];
} LLM_PROVIDER_INFO, *LPLLM_PROVIDER_INFO;

Members

dwSize
The size of this structure, in bytes. This member must be set to sizeof(LLM_PROVIDER_INFO) before the structure is used.
dwProviderId
The provider identifier. This member should be one of the LLM_PROVIDER values. Refer to the providers page for a list of supported providers and their default models.
dwFlags
One or more provider capability flags. This member may contain a combination of LLM_PROVIDER_FLAG values.
dwReserved
A reserved value for future use. This member should always be zero.
nProtocol
The protocol used by the provider endpoint. Most cloud-based service providers require secure connections and applications should use LLM_PROTOCOL_HTTPS. For locally hosted models running on the same system or over a local network, LLM_PROTOCOL_HTTP can be used to establish a standard, non-secure connection.
nHostPort
The network port number associated with the provider endpoint. A value of zero indicates that the provider-specific default port should be used.
nHostPort
The network port number associated with the provider endpoint. A value of zero indicates that the provider-specific default port should be used.
szName
A null-terminated string which specifies a canonical provider name, such as "OpenAI". This value may be used for identification or display in a user interface.
szHostName
A null-terminated string which specifies the default host name or IP address for the provider endpoint. This value may be an empty string for custom or application-defined providers.
szDefaultModel
A null-terminated string which specifies the default model name associated with the provider. This value may be an empty string if the provider requires the application to explicitly specify a model name.

Remarks

This structure is used to describe a language model provider, including its identity, endpoint information, and basic capabilities. It is typically populated by the library when enumerating known providers or retrieving information about a specific provider.

The dwProviderId member identifies the provider using one of the LLM_PROVIDER constants, while the dwFlags member indicates provider-level requirements or supported features, such as whether the provider requires TLS, requires authentication, supports enumerating models, or supports returning detailed model information. The nProtocol member identifies the default protocol used to communicate with the provider endpoint, such as HTTP or HTTPS.

The string members provide descriptive metadata about the provider. The szName member contains the canonical provider name. The szHostName member specifies the default network hostname associated with the provider, and szDefaultModel specifies the default model that may be used if the application does not explicitly choose one.

Not all providers supply the same level of detail. Some values may be empty or unspecified, particularly for custom, local, or application-defined providers. Applications should treat the contents of this structure as descriptive metadata and should not assume that every member will contain a meaningful value in all cases.

Applications should set the dwSize member before passing this structure to a function. Unless otherwise documented, reserved members should be set to zero. Because all string values are stored directly in the fixed-length buffers contained within the structure, the application may safely read or copy them as needed.

Requirements

Minimum Desktop Platform: Windows 7 Service Pack 1
Minimum Server Platform: Windows Server 2008 R2 Service Pack 1
Header File: cstools12.h
Unicode: Implemented as Unicode and ANSI versions

See Also

LlmEnumProviders, LlmGetProviderInfo