ISimpleFrameSite::PreMessageFilter

Provides a site with the opportunity to process a message that is received by a control’s own window before the control itself does any processing.

HRESULT PreMessageFilter(

HWND hWnd ,

//Handle of window receiving message

UINT msg ,

//Received message

WPARAM wp ,

//WPARAM of message

LPARAM lp ,

//LPARAM of message

LRESULT* plResult ,

//Pointer to variable to receive result of message processing

DWORD* pdwCookie

//Pointer to a variable used later

);

Parameters

hWnd
[in] Handle of the control window receiving the message.
msg
[in] Message received by the simple frame site.
wp
[in] The WPARAM of the message.
lp
[in] The LPARAM of the message.
plResult
[out] Pointer to the address of the result variable to receive the result of the message processing.
pdwCookie
[out] Pointer to the DWORD variable that will be passed to PostMessageFilter if it is called later. This parameter should only contain allocated data if this method returns S_OK so it will also receive a call to PostMessageFilter which can free the allocation. The caller is not in any way responsible for anything returned in this parameter.

Return Values

S_OK
The simple frame site will not use the message in this filter so more processing can take place.
S_FALSE
The site has processed the message and no further processing should occur.
E_NOTIMPL
The site does not do any message filtering, indicating that PostMessageFilter need not be called later.
E_POINTER
The addresses in plResultor pdwCookie are not valid.

Remarks

Successful return values indicate whether the site wishes to allow further processing. S_OK indicates further processing, whereas S_FALSE means do not process further. S_OK also indicates that the control must later call ISimpleFrameSite::PostMessageFilter.

See Also

ISimpleFrameSite::PostMessageFilter