SECURITY_QUALITY_OF_SERVICE

The SECURITY_QUALITY_OF_SERVICE data structure contains information used to support client impersonation. A client can specify this information when it connects to a server; the information determines whether or not the server may impersonate the client, and if so, to what extent.

typedef struct _SECURITY_QUALITY_OF_SERVICE { // sqos

DWORD Length;

SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;

SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode;

BOOLEAN EffectiveOnly;

} SECURITY_QUALITY_OF_SERVICE;

Members

Length

Specifies the size, in bytes, of this structure.

ImpersonationLevel

Specifies what the server may be told about the client, and how the server may represent, or impersonate, the client. Security impersonation levels govern the degree to which a server process can act on behalf of a client process. This member is a SECURITY_IMPERSONATION_LEVEL enumeration type value.

ContextTrackingMode

Specifies whether the server is to be given a snapshot of the client's security context (called static tracking), or is to be continually updated to track changes to the client's security context (called dynamic tracking). The value SECURITY_STATIC_TRACKING specifies static tracking, and the value SECURITY_DYNAMIC_TRACKING specifies dynamic tracking. Not all communications mechanisms support dynamic tracking; those that do not will default to static tracking.

EffectiveOnly

Specifies whether or not the server may enable or disable privileges and groups that the client's security context may include.

See Also

DdeSetQualityOfService, SECURITY_IMPERSONATION_LEVEL