Функция обратного вызова 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.
Если функция завершается сбоем, возвращаемое значение может быть одним из следующих кодов ошибок.
Значение | Значение |
---|---|
|
Недопустимый указатель на буфер, переданный в параметре pBuffer . |
|
Дескриптор, указанный параметром 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 |