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
ERROR_BUFFER_INVALID
Il puntatore al buffer passato nel parametro pBuffer non è valido.
ERROR_INVALID_PORT_HANDLE
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

Vedi anche

Scripting personalizzato RAS

RasCustomScriptExecute

RasSendBuffer