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。
関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。
値 | 説明 |
---|---|
|
pBuffer パラメーターで渡されたバッファーへのポインターが無効です。 |
|
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 |