Поделиться через


Функция обратного вызова PFNRASRECEIVEBUFFER (ras.h)

Библиотека DLL пользовательских сценариев вызывает функцию RasReceiveBuffer , чтобы сообщить RAS, что она готова к получению данных с сервера через указанный порт.

Тип PFNRASRECEIVEBUFFER определяет указатель на эту функцию обратного вызова. RasReceiveBuffer — это заполнитель для имени функции, определяемой приложением.

Синтаксис

PFNRASRECEIVEBUFFER Pfnrasreceivebuffer;

DWORD Pfnrasreceivebuffer(
  HANDLE hPort,
  PBYTE pBuffer,
  PDWORD pdwSize,
  DWORD dwTimeOut,
  HANDLE hEvent
)
{...}

Параметры

hPort

Дескриптор до порта, на котором будут приниматься данные. Этот дескриптор должен быть дескриптором, переданным RAS в качестве первого параметра функции RasCustomScriptExecute .

pBuffer

Указатель на буфер для получения данных из порта, указанного параметром hPort . Получите этот буфер с помощью функции RasGetBuffer .

pdwSize

Указатель на переменную DWORD , которая получает размер данных, возвращаемых в буфере, на который указывает параметр pBuffer .

dwTimeOut

hEvent

Дескриптор объекта события, который RAS будет сигнализировать, когда полученные данные будут доступны.

Возвращаемое значение

Если функция завершается успешно, возвращаемое значение будет ERROR_SUCCESS.

Если функция завершается сбоем, возвращаемое значение может быть одним из следующих кодов ошибок.

Значение Значение
ERROR_BUFFER_INVALID
Недопустимый указатель на буфер, переданный в параметре pBuffer .
ERROR_INVALID_PORT_HANDLE
Дескриптор, указанный параметром hPort , недопустим.

Комментарии

RasReceiveBuffer — это асинхронная функция. RasReceiveBuffer возвращает немедленно, даже если данные еще недоступны. Библиотека DLL пользовательских сценариев должна ожидать объекта события, указанного параметром hEvent . Когда данные доступны, RAS сигнализирует об этом событии. Затем библиотека DLL пользовательских сценариев должна вызвать функцию RasRetrieveBuffer для получения данных. Библиотека DLL пользовательских сценариев может передавать тот же указатель буфера в RasRetrieveBuffer , что и в RasReceiveBuffer.

RAS также сообщает объекту события, если по какой-либо причине порт отключен перед отправкой данных. В этом случае RasRetrieveBuffer возвращает ошибку, определенную в Файле Raserror.h, которая указывает причину сбоя.

Библиотека DLL пользовательских сценариев вызывает RasReceiveBuffer через указатель функции. Указатель функции передается в библиотеку DLL пользовательского скрипта в качестве параметра, когда RAS вызывает реализацию Библиотеки DLL RasCustomScriptExecute.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header ras.h

См. также раздел

Пользовательские скрипты RAS

RasCustomScriptExecute

RasSendBuffer