Funzione di callback PFNRASRECEIVEBUFFER (ras.h)
La DLL di scripting personalizzata chiama la funzione RasReceiveBuffer per informare RAS che è pronta a ricevere dati dal server sulla porta specificata.
Il tipo PFNRASRECEIVEBUFFER definisce un puntatore a questa funzione di callback. RasReceiveBuffer è un segnaposto per il nome della funzione definita dall'applicazione.
Sintassi
PFNRASRECEIVEBUFFER Pfnrasreceivebuffer;
DWORD Pfnrasreceivebuffer(
HANDLE hPort,
PBYTE pBuffer,
PDWORD pdwSize,
DWORD dwTimeOut,
HANDLE hEvent
)
{...}
Parametri
hPort
Gestire la porta su cui ricevere i dati. Questo handle deve essere l'handle passato da RAS come primo parametro della funzione RasCustomScriptExecute .
pBuffer
Puntatore a un buffer per ricevere i dati dalla porta specificata dal parametro hPort . Ottenere questo buffer usando la funzione RasGetBuffer .
pdwSize
Puntatore a una variabile DWORD che riceve le dimensioni dei dati restituiti nel buffer a cui fa riferimento il parametro pBuffer .
dwTimeOut
hEvent
Gestire un oggetto evento che RAS segnalerà quando sono disponibili i dati ricevuti.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è ERROR_SUCCESS.
Se la funzione ha esito negativo, il valore restituito può essere uno dei codici di errore seguenti.
Valore | Significato |
---|---|
|
Il puntatore al buffer passato nel parametro pBuffer non è valido. |
|
L'handle specificato dal parametro hPort non è valido. |
Commenti
RasReceiveBuffer è una funzione asincrona. RasReceiveBuffer restituisce immediatamente anche se i dati non sono ancora disponibili. La DLL di scripting personalizzata deve attendere l'oggetto evento specificato dal parametro hEvent . Quando i dati sono disponibili, RAS segnala questo evento. La DLL di scripting personalizzata deve quindi chiamare la funzione RasRetrieveBuffer per ottenere i dati. La DLL di scripting personalizzata può passare lo stesso puntatore del buffer in RasRetrieveBuffer passato in RasReceiveBuffer.
RAS segnala anche l'oggetto evento se, per qualche motivo, la porta viene disconnessa prima della pubblicazione dei dati. In questo caso RasRetrieveBuffer restituisce un errore definito in Raserror.h, che indica la causa dell'errore.
La DLL di scripting personalizzata chiama RasReceiveBuffer tramite un puntatore alla funzione. Il puntatore alla funzione viene passato alla DLL di scripting personalizzata come parametro quando RAS chiama l'implementazione della DLL di RasCustomScriptExecute.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | ras.h |