PFNRASRECEIVEBUFFER 回调函数 (ras.h)

自定义脚本 DLL 调用 RasReceiveBuffer 函数,以通知 RAS 它已准备好通过指定端口从服务器接收数据。

PFNRASRECEIVEBUFFER 类型定义指向此回调函数的指针。 RasReceiveBuffer 是应用程序定义的函数名称的占位符。

语法

PFNRASRECEIVEBUFFER Pfnrasreceivebuffer;

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

parameters

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 。 当 RAS 调用 RAsCustomScriptExecute 的 DLL 实现时,函数指针作为参数传递给自定义脚本 DLL。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 ras.h

请参阅

RAS 自定义脚本

RasCustomScriptExecute

RasSendBuffer