| qos2.h (6.0.6001.18000-Windows 6.0) | | qos2.h (6.1.7600.16385-Windows 7.0) |
| | |
| skipping to change at line 112 | | skipping to change at line 112 |
| // | | // |
| // This allows an application to define the characteristics of the | | // This allows an application to define the characteristics of the |
| // outgoing traffic on its flow. This may be used to shape the outgoing | | // outgoing traffic on its flow. This may be used to shape the outgoing |
| // traffic or to create a contract linking packet marking to packet | | // traffic or to create a contract linking packet marking to packet |
| // shaping. Such a contract is required for environments were policy uses | | // shaping. Such a contract is required for environments were policy uses |
| // admission control. The traffic type will not be respected until a | | // admission control. The traffic type will not be respected until a |
| // shaping rate is in place. | | // shaping rate is in place. |
| // | | // |
| // Must be accompagnied by a QOS_FLOWRATE_OUTGOING structure. | | // Must be accompagnied by a QOS_FLOWRATE_OUTGOING structure. |
| // | | // |
|
| | // QOSSetOutgoingDSCPValue: |
| | // |
| | // This allows an application to specify the precise DSCP value used in |
| | // outgoing traffic. This setting is overriden if an adaptive flow |
| | // requests prioritization on the same machine. This setting requires |
| | // the calling application be a member of the Administrators or the |
| | // Network Configuration Operators group. This setting can only be |
| | // applied to a non-adaptive flow. |
| | // |
| | // Must be accompanied by a DWORD value representing the DSCP value to |
| | // use. The value must be from 0 to 63 inclusive. |
| | // |
| | // To revert the effect of setting a DSCP value, the caller should call |
| | // the QOSSetFlow API again with the operation value QOSSetTrafficType. |
| | // |
| typedef enum _QOS_SET_FLOW | | typedef enum _QOS_SET_FLOW |
| { | | { |
| QOSSetTrafficType = 0, | | QOSSetTrafficType = 0, |
|
| QOSSetOutgoingRate = 1 | | QOSSetOutgoingRate = 1, |
| | QOSSetOutgoingDSCPValue = 2 |
| } QOS_SET_FLOW, *PQOS_SET_FLOW; | | } QOS_SET_FLOW, *PQOS_SET_FLOW; |
| | |
| // | | // |
| // This structure is returned by QOSQueryFlow and allows the application to | | // This structure is returned by QOSQueryFlow and allows the application to |
| // verify what priority markings (or tags) are applied to its traffic. These | | // verify what priority markings (or tags) are applied to its traffic. These |
| // values may change as the flow changes or policies get updated. | | // values may change as the flow changes or policies get updated. |
| // | | // |
| typedef struct _QOS_PACKET_PRIORITY | | typedef struct _QOS_PACKET_PRIORITY |
| { | | { |
| ULONG ConformantDSCPValue; // the DSCP marking used for the flow's | | ULONG ConformantDSCPValue; // the DSCP marking used for the flow's |
| | |
| skipping to change at line 188 | | skipping to change at line 204 |
| // exceed the rate will be delayed until appropriate. Packets will be marked | | // exceed the rate will be delayed until appropriate. Packets will be marked |
| // as best effort packets. | | // as best effort packets. |
| // | | // |
| // QOSShapeAndMark: if the flow is set to shape, qWave will use Window's | | // QOSShapeAndMark: if the flow is set to shape, qWave will use Window's |
| // scheduler to enforce the flow rate requested. Any data packet that would | | // scheduler to enforce the flow rate requested. Any data packet that would |
| // exceed the rate will be delayed until appropriate. Packets will always | | // exceed the rate will be delayed until appropriate. Packets will always |
| // receive conformant priority values. | | // receive conformant priority values. |
| // | | // |
| // QOSUseNonConformantMarkings: if the flow is set to use non conformant values, | | // QOSUseNonConformantMarkings: if the flow is set to use non conformant values, |
| // qWave will not enforce the flow rate requested. If sending a data packet | | // qWave will not enforce the flow rate requested. If sending a data packet |
|
| // would exceed the flow rate, this packet will be receive a priority value | | // would exceed the flow rate, this packet will receive a priority value |
| // indicating it is non-conformant. Such packets will receive the lowest | | // indicating it is non-conformant. Such packets will receive default treatment |
| // possible priority treatment from network equipment. This may lead to lost | | - |
| // packets and/or re-ordered packets. | | // which is best effort - from network equipment. This may lead to lost packets |
| | // and/or re-ordered packets. |
| // | | // |
| typedef enum _QOS_SHAPING{ | | typedef enum _QOS_SHAPING{ |
| QOSShapeOnly = 0, | | QOSShapeOnly = 0, |
| QOSShapeAndMark = 1, | | QOSShapeAndMark = 1, |
| QOSUseNonConformantMarkings = 2 | | QOSUseNonConformantMarkings = 2 |
| } QOS_SHAPING, *PQOS_SHAPING; | | } QOS_SHAPING, *PQOS_SHAPING; |
| | |
| #define QOS_OUTGOING_DEFAULT_MINIMUM_BANDWIDTH 0xFFFFFFFF | | #define QOS_OUTGOING_DEFAULT_MINIMUM_BANDWIDTH 0xFFFFFFFF |
| | |
| // | | // |
| | |
| skipping to change at line 910 | | skipping to change at line 926 |
| // | | // |
| // .Overlapped - Pointer to an OVERLAPPED structure. | | // .Overlapped - Pointer to an OVERLAPPED structure. |
| // | | // |
| // Note on Operation: | | // Note on Operation: |
| // | | // |
| // Given the input parameter for operation, the content of the buffer passed in | | // Given the input parameter for operation, the content of the buffer passed in |
| // will differ. Here is the mapping: | | // will differ. Here is the mapping: |
| // | | // |
| // QOSSetTrafficType - QOS_TRAFFIC_TYPE | | // QOSSetTrafficType - QOS_TRAFFIC_TYPE |
| // QOSSetOutgoingRate - QOS_FLOWRATE_OUTGOING | | // QOSSetOutgoingRate - QOS_FLOWRATE_OUTGOING |
|
| | // QOSSetOutgoingDSCPValue - DWORD |
| // | | // |
| // Specific to QOS_FLOWRATE_OUTGOING structure: | | // Specific to QOS_FLOWRATE_OUTGOING structure: |
| // | | // |
| // Bandwidth is defined as number of bits per second. It should include | | // Bandwidth is defined as number of bits per second. It should include |
| // Layer 3 overhead (e.g. IPv4 header, UDP, etc.). You may want to use the | | // Layer 3 overhead (e.g. IPv4 header, UDP, etc.). You may want to use the |
| // macro QOS_ADD_OVERHEAD to help you estimate the overhead. | | // macro QOS_ADD_OVERHEAD to help you estimate the overhead. |
| // | | // |
| // Using Bandwidth == 0 disables shaping and stops affecting the flow (e.g. | | // Using Bandwidth == 0 disables shaping and stops affecting the flow (e.g. |
| // the traffic is not marked anymore). MinPacketSize will be ignored. | | // the traffic is not marked anymore). MinPacketSize will be ignored. |
| // | | // |
| | |
| skipping to change at line 960 | | skipping to change at line 977 |
| // The operation you're trying to do requires information about the | | // The operation you're trying to do requires information about the |
| // network which the qWave subsystem does not have. Obtaining this | | // network which the qWave subsystem does not have. Obtaining this |
| // information on your network is currently not supported. | | // information on your network is currently not supported. |
| // | | // |
| // ERROR_RETRY | | // ERROR_RETRY |
| // There is currently insufficient data about networking conditions | | // There is currently insufficient data about networking conditions |
| // to answer your query. This is typically a transient state where | | // to answer your query. This is typically a transient state where |
| // qWave has erred on the side of caution as it waits for more data | | // qWave has erred on the side of caution as it waits for more data |
| // before ascertaining the state of the network. | | // before ascertaining the state of the network. |
| // | | // |
|
| | // ERROR_ACCESS_DENIED |
| | // The caller does not have the administrator rights required |
| | // to perform this call. |
| | // |
| ExternC | | ExternC |
| BOOL | | BOOL |
| WINAPI | | WINAPI |
| QOSSetFlow( | | QOSSetFlow( |
| __in HANDLE QOSHandle, | | __in HANDLE QOSHandle, |
| __in QOS_FLOWID FlowId, | | __in QOS_FLOWID FlowId, |
| __in QOS_SET_FLOW Operation, | | __in QOS_SET_FLOW Operation, |
| __in ULONG Size, | | __in ULONG Size, |
| __in_bcount(Size) PVOID Buffer, | | __in_bcount(Size) PVOID Buffer, |
| __reserved DWORD Flags, | | __reserved DWORD Flags, |
| | |
| End of changes. 5 change blocks. |
| 5 lines changed or deleted | | 27 lines changed or added |
|