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 |
---|---|
Der Parameter lpfnCallback oder lpdwContext ist kein gültiger Teil des Prozessadressraums. | |
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 |