Share via


WPUQueryBlockingCallback-Funktion (ws2spi.h)

Die WPUQueryBlockingCallback-Funktion gibt einen Zeiger auf eine Rückruffunktion zurück, die der Dienstanbieter während der Wartung von Blockierungsvorgängen regelmäßig aufrufen sollte.

Syntax

int WPUQueryBlockingCallback(
  [in]  DWORD              dwCatalogEntryId,
  [out] LPBLOCKINGCALLBACK *lplpfnCallback,
  [out] PDWORD_PTR         lpdwContext,
  [out] LPINT              lpErrno
);

Parameter

[in] dwCatalogEntryId

Deskriptor, der den aufrufenden Dienstanbieter identifiziert.

[out] lplpfnCallback

Zeiger, der die blockierende Rückruffunktion empfängt.

[out] lpdwContext

Zeiger, der einen Kontextwert empfängt, den der Dienstanbieter an den blockierenden Rückruf übergeben muss.

[out] lpErrno

Zeiger auf den Fehlercode.

Rückgabewert

Wenn kein Fehler auftritt, gibt WPUQueryBlockingCallback null zurück und speichert einen Zeiger auf eine blockierende Rückruffunktion in lpfnCallback und einen zugeordneten Kontextwert in lpdwContext. Andernfalls wird SOCKET_ERROR zurückgegeben, und ein bestimmter Fehlercode ist in lpErrno verfügbar.

Fehlercode Bedeutung
WSAEFAULT
Der Parameter lpfnCallback oder lpdwContext ist kein gültiger Teil des Prozessadressraums.
WSAEINVAL
Der dwCatalogEntryId-Parameter ist ungültig.
 
 

Hinweise

Die WPUQueryBlockingCallback-Funktion gibt einen Zeiger auf eine Rückruffunktion in lpfnCallback zurück, die während Blockierungsvorgängen regelmäßig aufgerufen werden soll. Diese Funktion gibt auch einen Kontextwert in lpdwContext zurück, der an den blockierenden Rückruf übergeben werden soll.

In Windows kann diese Funktion null in lpfnCallback zurückgeben, was angibt, dass kein benutzerdefinierter Blockierungshaken installiert ist. In diesem Fall sollte der Dienstanbieter die nativen Windows-Synchronisierungsobjekte verwenden, um die Blockierung zu implementieren.

LPBLOCKINGCALLBACK ist wie folgt definiert:

typedef BOOL ( CALLBACK FAR * LPBLOCKINGCALLBACK )( DWORD dwContext );

Der blockierende Rückruf gibt TRUE zurück, wenn der Dienstanbieter weiterhin auf den Abschluss des Blockierungsvorgangs warten soll. Es wird FALSE zurückgegeben, wenn der blockierende Vorgang mit dem WSPCancelBlockingCall abgebrochen wurde.

Alle fehlenden Komponenten der Adresse werden nach Möglichkeit standardmäßig auf einen angemessenen Wert festgelegt. Beispielsweise ist eine fehlende Portnummer standardmäßig 0.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile ws2spi.h

Weitere Informationen

WSPCancelBlockingCall