WPUQueryBlockingCallback (Windows Embedded CE 6.0)
1/6/2010
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 CE. 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 CE.
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 |
Windows Embedded CE | Windows CE .NET 4.0 and later |