Win32 API 日本語リファレンス
ホーム › Networking.WinSock › LPFN_RIODEREGISTERBUFFER

LPFN_RIODEREGISTERBUFFER

コールバック

シグネチャ

void LPFN_RIODEREGISTERBUFFER(
    RIO_BUFFERID BufferId
);

パラメーター

フィールド型説明
BufferIdRIO_BUFFERID登録されたバッファーを識別する記述子です。

公式ドキュメント

RIODeregisterBuffer 関数は、Winsock の登録済み I/O 拡張機能で使用する、登録されたバッファーの登録を解除します。

解説(Remarks)

RIODeregisterBuffer 関数は、登録されたバッファーの登録を解除します。バッファーの登録が解除されると、アプリケーションは BufferId パラメーターに渡したバッファー識別子の使用を終えたことを示すことになります。このバッファー識別子を使用しようとする以降の他の関数の呼び出しは、すべて失敗します。

まだ使用中のバッファーの登録を解除した場合、その結果は未定義です。これは重大なエラーとみなされます。RIODequeueCompletion 関数が返す RIORESULT 構造体では、status は通常の状態から変化しません。アプリケーション開発者は、Application Verifier ツールを使用してこのエラー状態を検出できます。

BufferId パラメーターに無効なバッファー識別子が渡された場合、RIODeregisterBuffer 関数はそれを無視します。

メモ

RIODeregisterBuffer 関数への関数ポインターは、SIO_GET_MULTIPLE_EXTENSION_FUNCTION_POINTER オペコードを指定して WSAIoctl 関数を呼び出すことにより、実行時に取得する必要があります。WSAIoctl 関数に渡す入力バッファーには、Winsock の登録済み I/O 拡張関数をその値によって識別するグローバル一意識別子 (GUID) である WSAID_MULTIPLE_RIO を格納する必要があります。成功した場合、WSAIoctl 関数が返す出力には、Winsock の登録済み I/O 拡張関数へのポインターを含む RIO_EXTENSION_FUNCTION_TABLE 構造体へのポインターが格納されます。SIO_GET_MULTIPLE_EXTENSION_FUNCTION_POINTER IOCTL は Ws2def.h ヘッダーファイルで定義されています。WSAID_MULTIPLE_RIO GUID は Mswsock.h ヘッダーファイルで定義されています。

Windows Phone 8: この関数は、Windows Phone 8 以降の Windows Phone ストアアプリでサポートされます。

Windows 8.1 および Windows Server 2012 R2: この関数は、Windows 8.1、Windows Server 2012 R2 以降の Windows ストアアプリでサポートされます。

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