次の方法で共有


PFNRASRECEIVEBUFFER コールバック関数 (ras.h)

カスタム スクリプト DLL は RasReceiveBuffer 関数を呼び出して、指定したポートを介してサーバーからデータを受信する準備ができていることを RAS に通知します。

PFNRASRECEIVEBUFFER 型は、このコールバック関数へのポインターを定義します。 RasReceiveBuffer は、アプリケーション定義関数名のプレースホルダーです。

構文

PFNRASRECEIVEBUFFER Pfnrasreceivebuffer;

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

パラメーター

hPort

データを受信するポートを処理します。 このハンドルは、 RasCustomScriptExecute 関数の最初のパラメーターとして RAS によって渡されるハンドルである必要があります。

pBuffer

hPort パラメーターで指定されたポートからデータを受信するバッファーへのポインター。 RasGetBuffer 関数を使用して、このバッファーを取得します。

pdwSize

pBuffer パラメーターによって指されるバッファーで返されるデータのサイズを受け取る DWORD 変数へのポインター。

dwTimeOut

hEvent

受信したデータが使用可能になったときに RAS によって通知されるイベント オブジェクトを処理します。

戻り値

関数が成功した場合、戻り値は ERROR_SUCCESS

関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。

説明
ERROR_BUFFER_INVALID
pBuffer パラメーターで渡されたバッファーへのポインターが無効です。
ERROR_INVALID_PORT_HANDLE
hPort パラメーターで指定されたハンドルが無効です。

解説

RasReceiveBuffer は非同期関数です。 RasReceiveBuffer は、データがまだ使用できない場合でも、すぐにを返します。 カスタム スクリプト DLL は 、hEvent パラメーターで指定されたイベント オブジェクトを待機する必要があります。 データが使用可能になると、RAS はこのイベントを通知します。 その後、カスタム スクリプト DLL は RasRetrieveBuffer 関数を呼び出してデータを取得する必要があります。 カスタム スクリプト DLL は、 RasReceiveBuffer で渡されたのと同じバッファー ポインターを RasRetrieveBuffer で渡すことができます。

RAS は、何らかの理由でデータがポストされる前にポートが切断された場合にも、イベント オブジェクトに通知します。 この場合、 RasRetrieveBuffer は、エラーの原因を示す Raserror.h で定義されたエラーを返します。

カスタム スクリプト DLL は、関数ポインターを介して RasReceiveBuffer を呼び出します。 RAS が DLL の RasCustomScriptExecute の実装を呼び出すと、関数ポインターがパラメーターとしてカスタム スクリプト DLL に渡されます。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー ras.h

関連項目

RAS カスタム スクリプト

RasCustomScriptExecute

RasSendBuffer