ISpNotifySource::SetNotifyCallbackFunction
ISpNotifySource::SetNotifyCallbackFunction sets up this instance to send notifications using a standard C-style callback function.
HRESULT SetNotifyCallbackFunction(
SPNOTIFYCALLBACK *pfnCallback,
WPARAM wParam,
LPARAM lParam
);
Parameters
- pfnCallback
- [in] The notification callback function to be used.
- wParam
- [in] Constant WPARAM value that will be passed to the pfnCallback function when it is called.
- lParam
- [in] Constant LPARAM value that will be passed to the pfnCallback function when it is called.
Return values
Value | Description |
---|---|
S_OK | Function completed successfully. |
E_INVALIDARG | Callback function is invalid. |
FAILED (hr) | Appropriate error message. |
Remarks
It is the responsibility of the client code to control the lifetime of a notification. To remove an installed notify callback, call ISpEventSource::SetNotifySink (NULL). The final release of an object that supports ISpEventSource will automatically remove an installed notify callback.
The SAPI implementation uses a hidden window to call back the client on the same thread that was used to initialize the event source. Notification callbacks are the result of processing a window message. When this notification mechanism is used:
- The SPNOTIFYCALLBACK method will always be called on the thread that initialized the event source or notify translator object.
- The thread must have a window message pump.
The SPNOTIFYCALLBACK function is declared as follows:
typedef void __stdcall SPNOTIFYCALLBACK(WPARAM wParam, LPARAM lParam);