PFNRASRETRIEVEBUFFER
コールバックシグネチャ
DWORD PFNRASRETRIEVEBUFFER(
HANDLE hPort,
BYTE* pBuffer,
DWORD* pdwSize
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| hPort | HANDLE | データを受信するポートのハンドル。このハンドルには、 RasCustomScriptExecute 関数の第 1 パラメーターとして RAS から渡されたハンドルを指定します。 |
| pBuffer | BYTE* | hPort パラメーターで指定したポートからのデータを受け取るバッファーへのポインター。このバッファーは RasGetBuffer 関数を使用して取得します。このパラメーターの値は、 RasReceiveBuffer 関数に渡したバッファーへのポインターと同じであってもかまいません。 |
| pdwSize | DWORD* | pBuffer パラメーターが指すバッファーに返されたデータのサイズを受け取る DWORD 変数へのポインター。 |
公式ドキュメント
カスタムスクリプト DLL は、指定されたポートを介して RAS サーバーから受信したデータを取得するために RasRetrieveBuffer 関数を呼び出します。カスタムスクリプト DLL が RasRetrieveBuffer を呼び出せるのは、 RasReceiveBuffer の呼び出しで渡したイベントオブジェクトを RAS がシグナル状態にした後だけです。
PFNRASRETRIEVEBUFFER 型は、このコールバック関数へのポインターを定義します。RasRetrieveBuffer は、アプリケーション定義の関数名のプレースホルダーです。
戻り値
関数が成功した場合、戻り値は ERROR_SUCCESS です。
関数が失敗した場合、戻り値は次のいずれかのエラーコードになります。
| 値 | 意味 |
|---|---|
| pBuffer パラメーターに渡されたバッファーへのポインターが無効です。 | |
| hPort パラメーターで指定されたハンドルが無効です。 |
データがポストされる前に何らかの理由でポートが切断された場合も、RAS はイベントオブジェクトをシグナル状態にします。この場合、 RasRetrieveBuffer は Raserror.h で定義されている、失敗の原因を示すエラーを返します。
解説(Remarks)
RasRetrieveBuffer 関数は同期関数です。この関数から戻ると、pBuffer パラメーターが指すバッファーには、指定されたポートを介して受信したデータが格納されています。カスタムスクリプト DLL が RasRetrieveBuffer を呼び出せるのは、DLL が RasReceiveBuffer の呼び出しで渡したイベントオブジェクトを RAS がシグナル状態にした後だけです。
カスタムスクリプト DLL は、関数ポインターを介して RasRetrieveBuffer を呼び出します。この関数ポインターは、RAS が DLL に実装された RasCustomScriptExecute を呼び出すときに、パラメーターとしてカスタムスクリプト DLL に渡されます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)