WPUQueryBlockingCallback (Compact 2013)
3/26/2014
This function returns a pointer to a callback function the service provider should invoke periodically while servicing blocking operations.
Note
WPUQueryBlockingCallback is not supported for the default TCP/UDP provider in Windows Embedded Compact. However, third parties can implement their own provider and have support for this function if they choose.
Syntax
int WPUQueryBlockingCallback(
DWORD dwCatalogEntryId,
LPBLOCKINGCALLBACK FAR* lplpfnCallback,
PDWORD_PTR lpdwContext,
LPINT lpErrno
);
Parameters
- dwCatalogEntryId
[in] Descriptor identifying the calling service provider.
- lplpfnCallback
[out] Pointer that receives the blocking callback function.
- lpdwContext
[out] Pointer that receives a context value that the service provider must pass into the blocking callback.
- lpErrno
[out] Pointer to the error code.
Return Value
If no error occurs, this function returns zero and stores a pointer to a blocking callback function in lpfnCallback and an associated context value in lpdwContext. Otherwise, it returns SOCKET_ERROR, and a specific error code is available in lpErrno.
This function always returns NULL in lpfnCallback in Windows Embedded Compact.
The following table shows possible error codes.
Error value |
Description |
---|---|
WSAEFAULT |
The lpfnCallback or the lpdwContext parameter is not a valid part of the process address space. |
WSAEINVAL |
The dwCatalogEntryId is invalid. |
Remarks
This function returns a pointer to a callback function in lpfnCallback to be invoked periodically during blocking operations. This function also returns a context value in lpdwContext to be passed into the blocking callback.
Using Win32, this function can return NULL in lpfnCallback, indicating that no user defined-blocking hook is installed. In this case, the service provider should use the native Win32 synchronization objects to implement blocking.
LPBLOCKINGCALLBACK is defined as typedef BOOL ( CALLBACK FAR * LPBLOCKINGCALLBACK )( DWORD dwContext );
.
The blocking callback will return TRUE if the service provider is to continue waiting for the blocking operation to complete.
Any missing parts of the address will default to a reasonable value, if possible. For example, a missing port number will default to zero.
Requirements
Header |
ws2spi.h |
Library |
Ws2.lib |