DdeSetQualityOfService

The DdeSetQualityOfService function specifies the quality of service a raw DDE application desires for future DDE conversations it initiates. The specified quality of service applies to any conversations started while those settings are in place. A DDE conversation's quality of service lasts for the duration of the conversation; calls to the DdeSetQualityOfService function during a given conversation do not affect that conversation's quality of service.

BOOL DdeSetQualityOfService(

HWND hwndClient, // handle to DDE client window that will start DDE conversations
CONST SECURITY_QUALITY_OF_SERVICE *pqosNew, // desired quality of service
PSECURITY_QUALITY_OF_SERVICE pqosPrev // prior quality of service
);  

Parameters

hwndClient

Identifies the DDE client window that specifies the source of WM_DDE_INITIATE messages a client will send to start DDE conversations.

pqosNew

Points to a SECURITY_QUALITY_OF_SERVICE structure for the desired quality of service values.

pqosPrev

Points to a SECURITY_QUALITY_OF_SERVICE structure that the function will fill with the previous quality of service values associated with the window identified by hwndClient.

This parameter is optional. If an application has no interest in hwndClient's previous qos values, it should set pqosPrev to NULL.

Return Values

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

If a quality of service has not been specified for a given client window, hwndClient, prior to sending a WM_DDE_INITIATE with the wParam set to hwndClient, the system uses the following default quality of service values for the client window:

{

Length = sizeof(SECURITY_QUALITY_OF_SERVICE);

ImpersonationLevel = SecurityImpersonation;

ContextTrackingMode = SECURITY_STATIC_TRACKING;

EffectiveOnly = TRUE;

}

Use the DdeSetQualityOfService function to associate a different quality of service with the client window. Once you change the quality of service, the new settings affect any subsequent conversations that are started. Once an application starts a DDE conversation using a particular quality of service value, it must terminate the conversation and restart the conversation in order to have a different value take effect.

See Also

SECURITY_QUALITY_OF_SERVICE, WM_DDE_INITIATE