Win32 API 日本語リファレンス
ホーム › NetworkManagement.Rras › PFNRASRETRIEVEBUFFER

PFNRASRETRIEVEBUFFER

コールバック

シグネチャ

DWORD PFNRASRETRIEVEBUFFER(
    HANDLE hPort,
    BYTE* pBuffer,
    DWORD* pdwSize
);

パラメーター

フィールド型説明
hPortHANDLEデータを受信するポートのハンドル。このハンドルには、 RasCustomScriptExecute 関数の第 1 パラメーターとして RAS から渡されたハンドルを指定します。
pBufferBYTE*hPort パラメーターで指定したポートからのデータを受け取るバッファーへのポインター。このバッファーは RasGetBuffer 関数を使用して取得します。このパラメーターの値は、 RasReceiveBuffer 関数に渡したバッファーへのポインターと同じであってもかまいません。
pdwSizeDWORD*pBuffer パラメーターが指すバッファーに返されたデータのサイズを受け取る DWORD 変数へのポインター。

公式ドキュメント

カスタムスクリプト DLL は、指定されたポートを介して RAS サーバーから受信したデータを取得するために RasRetrieveBuffer 関数を呼び出します。カスタムスクリプト DLL が RasRetrieveBuffer を呼び出せるのは、 RasReceiveBuffer の呼び出しで渡したイベントオブジェクトを RAS がシグナル状態にした後だけです。

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

戻り値

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

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

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

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

解説(Remarks)

RasRetrieveBuffer 関数は同期関数です。この関数から戻ると、pBuffer パラメーターが指すバッファーには、指定されたポートを介して受信したデータが格納されています。カスタムスクリプト DLL が RasRetrieveBuffer を呼び出せるのは、DLL が RasReceiveBuffer の呼び出しで渡したイベントオブジェクトを RAS がシグナル状態にした後だけです。

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

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)