Extensiones SPI de Windows Sockets para REDES SAN
En esta sección se proporciona una breve descripción de las funciones de extensión SAN que debe proporcionar un archivo DLL del proveedor de servicios SAN. Estas funciones amplían el SPI de Windows Sockets para su uso con una SAN. Las funciones extendidas se definen en Ws2san.h y están totalmente documentadas en la sección Referencia directa de Windows Sockets .
A excepción de la función WSPStartupEx , el modificador Windows Sockets recupera las funciones extendidas enumeradas en esta sección. Para recuperar el punto de entrada a cada una de estas funciones extendidas, el conmutador Windows Sockets llama a una función WSPIoctl del proveedor de servicios SAN y pasa el código de comando SIO_GET_EXTENSION_FUNCTION_POINTER junto con el GUID cuyo valor identifica una de estas funciones extendidas.
Un proveedor de servicios SAN debe implementar todas las siguientes funciones de extensión con la excepción de las funciones WSPRdmaRead y WSPMemoryRegistrationCacheCallback . Si un proveedor de servicios SAN no admite la función de extensión WSPRdmaRead o WSPMemoryRegistrationCacheCallback , su función WSPIoctl debe devolver el error WSAEOPNOTSUPP cuando el conmutador de Windows Sockets solicita el punto de entrada a WSPRdmaRead o WSPMemoryRegistrationCacheCallback.
WSPStartupEx
Inicia el uso del conmutador de Windows Sockets de un proveedor de servicios SAN.
WSPRegisterMemory
Registra una matriz de búfer que un socket usa como origen local o como destino local de una operación de transferencia de datos. Este socket puede usar esta matriz de búfer como el búfer de origen en llamadas WSPRdmaWrite y WSPSend y el búfer receptor en llamadas WSPRdmaRead y WSPRecv .
WSPDeregisterMemory
Libera una matriz de búfer registrada por una llamada anterior a la función WSPRegisterMemory .
WSPRegisterRdmaMemory
Registra una matriz de búfer rdma que se expone a una conexión remota del mismo nivel para transferir datos a o desde esa conexión del mismo nivel. Un socket del mismo nivel remoto puede usar esta matriz de búfer rdma como el búfer de destino en una llamada WSPRdmaWrite y el búfer de origen en una llamada WSPRdmaRead .
WSPDeregisterRdmaMemory
Libera una matriz de búfer registrada por una llamada anterior a la función WSPRegisterRdmaMemory .
WSPMemoryRegistrationCacheCallback
Libera la propiedad del búfer de una aplicación y el bloqueo entre el búfer y la memoria física, y quita el búfer de la memoria caché del proveedor de servicios SAN y el registro del búfer de la NIC de SAN.
WSPRdmaRead
Transfiere datos de un búfer RDMA en el espacio de direcciones al que el mismo nivel remoto de un socket puede acceder a un búfer en el espacio de direcciones al que puede acceder el socket local.
WSPRdmaWrite
Transfiere datos de un búfer de origen en el espacio de direcciones al que un socket local puede acceder a un búfer RDMA de destino en el espacio de direcciones al que puede acceder el mismo nivel remoto del socket.