Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Overview of the Quality of Service (QOS) technology.
To develop Quality of Service (QOS), you need these headers:
For programming guidance for this technology, see:
Enumerations
FilterType The FilterType enumeration specifies the type of filter used for an RSVP FILTERSPEC. |
QOS_FLOWRATE_REASON The QOS_FLOWRATE_REASON enumeration indicates the reason for a change in a flow's bandwidth. |
QOS_NOTIFY_FLOW The QOS_NOTIFY_FLOW enumeration specifies the circumstances that must be present for the QOSNotifyFlow function to send a notification. |
QOS_QUERY_FLOW The QOS_QUERY_FLOW enumeration indicates the type of information a QOSQueryFlow function will request. |
QOS_SET_FLOW The QOS_SET_FLOW enumeration indicates what is being changed about a flow. |
QOS_SHAPING The QOS_SHAPING enumeration defines the shaping behavior of a flow. |
QOS_TRAFFIC_TYPE The QOS_TRAFFIC_TYPE enumeration defines the various traffic types. Each flow has a single traffic type. This allows the QOS subsystem to apply user-specified policies to each type. |
Functions
CBADMITRESULT The cbAdmitResult function is used by LPMs to return results for the LPM_AdmitRsvpMsg request. |
CBGETRSVPOBJECTS The cbGetRsvpObjects function is a callback function for LPMs to asynchronously return results for LPM_GetRsvpObjects requests. |
LPM_AdmitRsvpMsg The LPM_AdmitRsvpMsg function is called by the PCM to pass RSVP messages to the LPM for policy based�admission control decisions. |
LPM_CommitResv The LPM_CommitResv function is called by the PCM to obtain reservation commitment decisions from the LPM. |
LPM_Deinitialize The LPM_Deinitialize function allows the PCM to instruct LPMs to deinitialize, whether due to system shutdown or a change in Designated Subnet Bandwidth Manager (DSBM) status. |
LPM_DeleteState The LPM_DeleteState function is called by the PCM to delete the LPMs' RSVP state information. |
LPM_GetRsvpObjects The LPM_GetRsvpObjects function allows the PCM to query LPMs for policy data. |
LPM_Initialize The LPM_Initialize function initializes a local policy module (LPM). |
LPM_IpAddressTable The LPM_IpAddressTable function is used by the PCM to pass a list of IP addresses assigned to the Windows 2000 Server upon which the LPM is initialized. |
PALLOCMEM The PALLOCMEM function is a memory allocation function provided by the PCM, used for allocating memory when returning policy information to the PCM. |
PFREEMEM The PFREEMEM function is a memory-freeing function provided by the PCM. |
QOSAddSocketToFlow Adds a new flow for traffic. |
QOSCancel Cancels a pending overlapped operation, like QOSSetFlow. |
QOSCloseHandle The QOSCloseHandle function closes a handle returned by the QOSCreateHandle function. |
QOSCreateHandle This function initializes the QOS subsystem and the QOSHandle parameter. The QOSHandle parameter is used when calling other QOS functions. QOSCreateHandle must be called before any other functions. |
QOSEnumerateFlows Enumerates all existing flows. |
QOSNotifyFlow Registers the calling application to receive a notification. |
QOSQueryFlow Requests information about a specific flow. |
QOSRemoveSocketFromFlow Notifies the QOS subsystem that a previously added flow has been terminated. |
QOSSetFlow Is called by an application to request the QOS subsystem to prioritize the application's packets and change the flow traffic. |
QOSStartTrackingClient The QOSStartTrackingClient function notifies the QOS subsystem of the existence of a new client. |
QOSStopTrackingClient The QOSStopTrackingClient function notifies the QoS subsystem to stop tracking a client that has previously used the QOSStartTrackingClient function. If a flow is currently in progress, this function will not affect it. |
TcAddFilter The TcAddFilter function associates a new filter with an existing flow that allows packets matching the filter to be directed to the associated flow. |
TcAddFlow The TcAddFlow function adds a new flow on the specified interface. |
TcCloseInterface The TcCloseInterface function closes an interface previously opened with a call to TcOpenInterface. All flows and filters on a particular interface should be closed before closing the interface with a call to TcCloseInterface. |
TcDeleteFilter The TcDeleteFilter function deletes a filter previously added with the TcAddFilter function. |
TcDeleteFlow The TcDeleteFlow function deletes a flow that has been added with the TcAddFlow function. Clients should delete all filters associated with a flow before deleting it, otherwise, an error will be returned and the function will not delete the flow. |
TcDeregisterClient The TcDeregisterClient function deregisters a client with the Traffic Control Interface (TCI). |
TcEnumerateFlows The TcEnumerateFlows function enumerates installed flows and their associated filters on an interface. |
TcEnumerateInterfaces The TcEnumerateInterfaces function enumerates all traffic control�enabled network interfaces. Clients are notified of interface changes through the ClNotifyHandler function. |
TcGetFlowNameA The TcGetFlowName function provides the name of a flow that has been created by the calling client. (ANSI) |
TcGetFlowNameW The TcGetFlowName function provides the name of a flow that has been created by the calling client. (Unicode) |
TCI_ADD_FLOW_COMPLETE_HANDLER The ClAddFlowComplete function is used by traffic control to notify the client of the completion of its previous call to the TcAddFlow function. |
TCI_DEL_FLOW_COMPLETE_HANDLER The ClDeleteFlowComplete function is used by traffic control to notify the client of the completion of its previous call to the TcDeleteFlow function. |
TCI_MOD_FLOW_COMPLETE_HANDLER The ClModifyFlowComplete function is used by traffic control to notify the client of the completion of its previous call to the TcModifyFlow function. |
TCI_NOTIFY_HANDLER The ClNotifyHandler function is used by traffic control to notify the client of various traffic control�specific events, including the deletion of flows, changes in filter parameters, or the closing of an interface. |
TcModifyFlow The TcModifyFlow function modifies an existing flow. When calling TcModifyFlow, new Flowspec parameters and any traffic control objects should be filled. |
TcOpenInterfaceA The TcOpenInterface function opens an interface. (ANSI) |
TcOpenInterfaceW The TcOpenInterface function opens an interface. (Unicode) |
TcQueryFlowA The TcQueryFlow function queries traffic control for the value of a specific flow parameter based on the name of the flow. The name of a flow can be retrieved from the TcEnumerateFlows function or from the TcGetFlowName function. (ANSI) |
TcQueryFlowW The TcQueryFlow function queries traffic control for the value of a specific flow parameter based on the name of the flow. The name of a flow can be retrieved from the TcEnumerateFlows function or from the TcGetFlowName function. (Unicode) |
TcQueryInterface The TcQueryInterface function queries traffic control for related per-interface parameters. |
TcRegisterClient The TcRegisterClient function is used to register a client with the traffic control interface (TCI). The TcRegisterClient function must be the first function call a client makes to the TCI. |
TcSetFlowA The TcSetFlow function sets individual parameters for a given flow. (ANSI) |
TcSetFlowW The TcSetFlow function sets individual parameters for a given flow. (Unicode) |
TcSetInterface The TcSetInterface function sets individual parameters for a given interface. |
Structures
AD_GENERAL_PARAMS The AD_GENERAL_PARAMS structure contains the General Characterization Parameters contained in the RSVP Adspec object. |
ADDRESS_LIST_DESCRIPTOR The ADDRESS_LIST_DESCRIPTOR structure provides network address descriptor information for a given interface. |
ADSPEC The ADSPEC structure contains Adspec message information for RSVP. |
CONTROL_SERVICE The CONTROL_SERVICE structure contains supported RSVP service types. |
CtrlLoadFlowspec The CtrlLoadFlowspec structure contains a Controlled Load FLOWSPEC. |
ENUMERATION_BUFFER The ENUMERATION_BUFFER structure contains information specific to a given flow, including flow name, the number of filters associated with the flow, and an array of filters associated with the flow. |
ERROR_SPEC The ERROR_SPEC structure contains RSVP error messages. |
Error_Spec_IPv4 The Error_Spec_IPv4 structure stores error code information for RSVP transmissions. |
FILTER_SPEC The FILTER_SPEC structure stores information about an RSVP FILTERSPEC. |
Filter_Spec_IPv4 The Filter_Spec_IPv4 structure contains information about an IPv4 FILTERSPEC. |
Filter_Spec_IPv4GPI The Filter_Spec_IPv4GPI structure contains generalized port ID information about an IPv4 FILTERSPEC. |
FLOW_DESC The FLOW_DESC structure contains flow descriptor information for RSVP. |
FLOWDESCRIPTOR The FLOWDESCRIPTOR structure specifies one or more filters for a given FLOWSPEC. |
FLOWSPEC The FLOWSPEC structure provides quality of service parameters to the RSVP SP. |
Gads_parms_t The Gads_parms_t structure stores guaranteed service Adspec parameters. |
GenAdspecParams The GenAdspecParams structure contains general path characterization parameters. |
GenTspec The GenTspec structure stores generic Tspec information. |
GenTspecParms The GenTspecParms structure stores generic Tspec parameters. |
GuarFlowSpec The GuarFlowSpec structure contains guaranteed flowspec information. |
GuarRspec The GuarRspec structure contains guaranteed Rspec information. |
ID_ERROR_OBJECT The ID_ERROR_OBJECT structure contains error message information for Identity Policy Elements for RSVP. |
IDPE_ATTR The IDPE_ATTR structure contains identity policy element attribute information. |
IN_ADDR_IPV4 The IN_ADDR_IPV4 union stores an IPv4 address for use with RSVP FILTERSPECs. |
IN_ADDR_IPV6 The IN_ADDR_IPV6 structure stores an IPv6 address for use with RSVP FILTERSPECs. |
IntServFlowSpec The IntServFlowSpec structure contains information about Integrated Services flowspecs. |
IntServMainHdr The IntServMainHdr structure is a header for Integrated Services RSVP objects. |
IntServParmHdr The IntServParmHdr structure is a header for Integrated Services parameters. |
IntServServiceHdr The IntServServiceHdr structure is a header for Integrated Services service objects. |
IntServTspecBody The IntServTspecBody structure contains information for an RSVP Tspec. |
IP_PATTERN The IP_PATTERN structure applies a specific pattern or corresponding mask for the IP protocol. The IP_PATTERN structure designation is used by the traffic control interface in the application of packet filters. |
IPX_PATTERN The IPX_PATTERN structure applies a specific pattern or corresponding mask for the IPX protocol. The IPX_PATTERN structure designation is used by the traffic control interface in the application of packet filters. |
IS_ADSPEC_BODY The IS_ADSPEC_BODY structure contains Integrated Services Adspec information. |
IS_FLOWSPEC The IS_FLOWSPEC structure stores an Integrated Services FLOWSPEC object. |
LPM_INIT_INFO The LPM_INIT_INFO structure contains local policy module initialization information. |
LPMIPTABLE The LPMIPTABLE structure contains IP information, including the SNMP index, IP address, and subnet mask for each interface. The LPMIPTABLE structure is supplied as an argument for the Lpm_IpAddressTable function. |
PARAM_BUFFER The PARAM_BUFFER structure describes the format of the parameter buffer that can be included in the CONTROL_SERVICE structure. |
POLICY_DATA The POLICY_DATA structure contains policy data for RSVP messages. |
POLICY_DECISION The POLICY_DECISION structure contains RSVP policy decision information. |
POLICY_ELEMENT The POLICY_ELEMENT (lpmapi.h) structure contains an RSVP policy element. |
POLICY_ELEMENT The POLICY_ELEMENT (infocard.h) structure contains an RSVP policy element. (POLICY_ELEMENT) |
PS_ADAPTER_STATS The PS_ADAPTER_STATS structure provides statistical packet shaper information about a specified adapter. Note that the PS_ADAPTER_STATS structure is used in conjunction with the PS_COMPONENT_STATS structure. |
PS_COMPONENT_STATS The PS_COMPONENT_STATS structure enables applications to get statistical information regarding their TC-enabled flow. |
PS_CONFORMER_STATS The PS_CONFORMER_STATS structure provides statistical packet shaper information about a particular flow. Note that the PS_CONFORMER_STATS structure is used in conjunction with the PS_COMPONENT_STATS structure. |
PS_DRRSEQ_STATS The PS_DRRSEQ_STATS structure provides network interface card (NIC) and packet sequencer�packet shaper statistics. Note that the PS_DRRSEQ_STATS structure is used in conjunction with the PS_COMPONENT_STATS structure. |
PS_FLOW_STATS The PS_FLOW_STATS structure provides statistical packet shaper information about a particular flow. Note that the PS_FLOW_STATS structure is used in conjunction with the PS_COMPONENT_STATS structure. |
PS_SHAPER_STATS The PS_SHAPER_STATS structure provides statistical packet shaper information about the computer's packet shaper component. Note that the PS_SHAPER_STATS structure is used in conjunction with the PS_COMPONENT_STATS structure. |
QOS The QOS structure provides the means by which QOS-enabled applications can specify quality of service parameters for sent and received traffic on a particular flow. |
QOS_DESTADDR The QOS object QOS_DESTADDR is used during a call to the WSAIoctl (SIO_SET_QOS) function in order to avoid issuing a connect function call for a sending socket. |
QOS_DIFFSERV The QOS_DIFFSERV traffic control object is used to specify filters for the packet scheduler when it operates in Differentiated Services Mode. |
QOS_DIFFSERV_RULE The QOS_DIFFSERV_RULE structure is used in conjunction with the traffic control object QOS_DIFFSERV to provide Diffserv rules for a given flow. |
QOS_DS_CLASS The traffic control object QOS_DS_CLASS enables application developers to override the default Diffserv code point (DSCP) value for the IP packets associated with a given flow. By default, the DSCP value is derived from the flow's ServiceType. |
QOS_FLOW_FUNDAMENTALS The QOS_FLOW_FUNDAMENTALS structure contains basic information about a flow. |
QOS_FLOWRATE_OUTGOING The QOS_FLOWRATE_OUTGOING structure is used to set flow rate information in the QOSSetFlow function. |
QOS_FRIENDLY_NAME The QOS_FRIENDLY_NAME traffic control object associates a friendly name with flow. |
QOS_OBJECT_HDR The QOS object QOS_OBJECT_HDR is attached to each QOS object. It specifies the object type and its length. |
QOS_PACKET_PRIORITY The QOS_PACKET_PRIORITY structure that indicates the priority of the flow traffic. |
QOS_SD_MODE The QOS object QOS_SD_MODE defines the behavior of the traffic control-packet shaper component. |
QOS_SHAPING_RATE The QOS object QOS_SHAPING_RATE specifies the uniform traffic shaping rate be applied to a given flow. |
QOS_TCP_TRAFFIC The QOS_TCP_TRAFFIC structure is used to indicate that IP Precedence and UserPriority mappings for a given flow must be set to system defaults for TCP traffic. |
QOS_TRAFFIC_CLASS The traffic control object QOS_TRAFFIC_CLASS is used to override the default UserPriority value ascribed to packets that classify the traffic of a given flow. |
QOS_VERSION The QOS_VERSION structure indicates the version of the QOS protocol. |
QualAppFlowSpec The QualAppFlowSpec structure contains FLOWSPEC information for a qualitative application. |
QualTspec The QualTspec structure contains qualitative Tspec information. |
QualTspecParms The QualTspecParms structure contains qualitative Tspec parameters. |
RESV_STYLE The RESV_STYLE structure contains information about RSVP RESV style. |
RSVP_ADSPEC The QOS object RSVP_ADSPEC provides a means by which information describing network devices along the data path between sender and receiver, pertaining to RSVP functionality and available services, is provided or retrieved. |
RSVP_FILTERSPEC The RSVP_FILTERSPEC structure provides RSVP FILTERSPEC information. |
RSVP_FILTERSPEC_V4 The RSVP_FILTERSPEC_V4 structure stores information for a FILTERSPEC on an IPv4 address. |
RSVP_FILTERSPEC_V4_GPI The RSVP_FILTERSPEC_V4_GPI structure provides general port identifier information for a given FILTERSPEC. |
RSVP_FILTERSPEC_V6 The RSVP_FILTERSPEC_V6 structure stores information for a FILTERSPEC on an IPv6 address. |
RSVP_FILTERSPEC_V6_FLOW The RSVP_FILTERSPEC_V6_FLOW structure provides flow label information for an IPv6 FILTERSPEC. |
RSVP_FILTERSPEC_V6_GPI The RSVP_FILTERSPEC_V6_GPI structure provides general port identifier information for a given FILTERSPEC on an IPv6 address. |
RSVP_HOP The RSVP_HOP structure contains information about an RSVP-enabled hop. |
Rsvp_Hop_IPv4 The Rsvp_Hop_IPv4 structure stores information about an RSVP-enabled IPv4 hop. |
RSVP_MSG_OBJS The RSVP_MSG_OBJS structure contains RSVP message objects. |
RSVP_POLICY The RSVP_POLICY structure stores one or more undefined policy elements. |
RSVP_POLICY_INFO The RSVP_POLICY_INFO structure stores undefined policy elements retrieved from RSVP. |
RSVP_RESERVE_INFO The QOS object RSVP_RESERVE_INFO, through the ProviderSpecific buffer, enables RSVP behavior for a given flow to be specified or modified at a granular level, and enables default RSVP style settings for a flow to be overridden. |
RSVP_SCOPE The RSVP_SCOPE structure provides RSVP scope information. |
RSVP_SESSION The RSVP_SESSION structure stores information about an RSVP SESSION message. |
RSVP_STATUS_INFO The QOS object RSVP_STATUS_INFO provides information regarding the status of RSVP for a given flow, including event notifications associated with monitoring FD_QOS events, as well as error information. |
RsvpObjHdr The RsvpObjHdr structure provides an object header for an RSVP message. |
Scope_list_ipv4 The Scope_list_ipv4 structure contains RSVP SCOPE object information. |
SENDER_TSPEC The SENDER_TSPEC structure contains information for an RSVP sender Tspec. |
Session_IPv4 The Session_IPv4 structure stores information about an IPv4 RSVP SESSION object. |
TC_GEN_FILTER The TC_GEN_FILTER structure creates a filter that matches a certain set of packet attributes or criteria, which can subsequently be used to associate packets that meet the attribute criteria with a particular flow. |
TC_GEN_FLOW The TC_GEN_FLOW structure creates a generic flow for use with the traffic control interface. The flow is customized through the members of this structure. |
TC_IFC_DESCRIPTOR The TC_IFC_DESCRIPTOR structure is an interface identifier used to enumerate interfaces. |
TCI_CLIENT_FUNC_LIST The TCI_CLIENT_FUNC_LIST structure is used by the traffic control interface to register and then access client-callback functions. Each member of TCI_CLIENT_FUNC_LIST is a pointer to the client provided�callback function. |