Estensioni SPI di Windows Sockets per SAN
In questa sezione viene fornita una breve descrizione delle funzioni di estensione SAN che devono essere fornite da una DLL del provider di servizi SAN. Queste funzioni estendono Windows Sockets SPI per l'uso con una SAN. Le funzioni estese sono definite in Ws2san.h e sono completamente documentate nella sezione Riferimento diretto di Windows Sockets .
Ad eccezione della funzione WSPStartupEx , le funzioni estese elencate in questa sezione vengono recuperate dall'opzione Windows Sockets. Per recuperare il punto di ingresso a ognuna di queste funzioni estese, l'opzione Windows Sockets chiama la funzione WSPIoctl del provider di servizi SAN e passa il codice del comando SIO_GET_EXTENSION_FUNCTION_POINTER insieme al GUID il cui valore identifica una di queste funzioni estese.
Un provider di servizi SAN deve implementare tutte le funzioni di estensione seguenti, ad eccezione delle funzioni WSPRdmaRead e WSPMemoryRegistrationCacheCallback . Se un provider di servizi SAN non supporta la funzione di estensione WSPRdmaRead o WSPMemoryRegistrationCacheCallback , la funzione WSPIoctl deve restituire l'errore WSAEOPNOTSUPP quando l'opzione Windows Sockets richiede il punto di ingresso a WSPRdmaRead o WSPMemoryRegistrationCacheCallback.
WSPStartupEx
Avvia l'uso del commutatore Windows Sockets di un provider di servizi SAN.
WSPRegisterMemory
Registra una matrice di buffer utilizzata da un socket come origine locale o come destinazione locale di un'operazione di trasferimento dati. Un socket di questo tipo può usare questa matrice di buffer come buffer di origine nelle chiamate WSPRdmaWrite e WSPSend e il buffer ricevente nelle chiamate WSPRdmaRead e WSPRecv .
WSPDeregisterMemory
Rilascia una matrice di buffer registrata da una chiamata precedente alla funzione WSPRegisterMemory .
WSPRegisterRdmaMemory
Registra una matrice di buffer RDMA esposta a una connessione peer remota per il trasferimento di dati da o verso tale connessione peer. Un socket nel peer remoto può usare questa matrice di buffer RDMA come buffer di destinazione in una chiamata WSPRdmaWrite e il buffer di origine in una chiamata WSPRdmaRead .
WSPDeregisterRdmaMemory
Rilascia una matrice di buffer registrata da una chiamata precedente alla funzione WSPRegisterRdmaMemory .
WSPMemoryRegistrationCacheCallback
Rilascia la proprietà del buffer di un'applicazione e il blocco tra il buffer e la memoria fisica e rimuove il buffer dalla cache del provider di servizi SAN e la registrazione del buffer dalla scheda di interfaccia di rete SAN.
WSPRdmaRead
Trasferisce i dati da un buffer RDMA nello spazio indirizzi a cui il peer remoto di un socket può accedere a un buffer nello spazio indirizzi a cui può accedere il socket locale.
WSPRdmaWrite
Trasferisce i dati da un buffer di origine nello spazio indirizzi a cui un socket locale può accedere a un buffer RDMA di destinazione nello spazio indirizzi a cui può accedere il peer remoto del socket.