次の方法で共有


PFN_WSK_SEND_MESSAGES コールバック関数 (wsk.h)

WskSendMessages 関数は、複数のデータグラムをリモート トランスポート アドレスに送信します。

構文

PFN_WSK_SEND_MESSAGES PfnWskSendMessages;

NTSTATUS PfnWskSendMessages(
  [in]                 PWSK_SOCKET Socket,
  [in]                 PWSK_BUF_LIST BufferList,
                       ULONG Flags,
  [in, optional]       PSOCKADDR RemoteAddress,
  [in]                 ULONG ControlInfoLength,
  [In_reads_bytes_opt] PCMSGHDR ControlInfo,
  [in, out]            PIRP Irp
)
{...}

パラメーター

[in] Socket

データグラムを送信するソケット オブジェクトを指定する WSK_SOCKET 構造体へのポインター。

[in] BufferList

送信するデータグラムの一覧を含む初期化された WSK_BUF_LIST 構造体へのポインター。

Flags

[予約済み]このパラメーターは、システム用に予約されています。 WSK アプリケーションでは、このパラメーターを 0 設定する必要があります。

[in, optional] RemoteAddress

データグラムの送信先となるリモート トランスポート アドレスを指定する構造体へのポインター。

[in] ControlInfoLength

ControlInfo パラメーターが指すバッファー内のデータのバイト数。 データグラムに関連付けられている制御情報がない場合は、ControlInfoLength パラメーターを 0 する必要があります。

[In_reads_bytes_opt] ControlInfo

送信されるデータグラムに関連付けられている制御情報を含むバッファーへのポインター。 制御情報データは、1 つ以上の制御データ・オブジェクトで構成され、それぞれが CMSGHDR 構造で始まります。 データグラムに関連付けられている制御情報がない場合、このパラメーターは NULL する必要があります。

ControlInfo は、すべてのトランスポートでサポートされていない場合があります。

[in, out] Irp

WSK サブシステムが非同期的に送信操作を完了するために使用する呼び出し元によって割り当てられた IRP へのポインター。 WSK 関数で IRP を使用する方法の詳細については、「Winsock カーネル関数での IRP の使用」を参照してください。

戻り値

リターン コード 形容
STATUS_SUCCESS データグラムはソケット経由で正常に送信されました。 IRP は成功状態で完了します。 IRP の IoStatus.Information フィールドには、送信されたバイト数が含まれています。
STATUS_PENDING WSK サブシステムは、すぐにソケット経由でデータグラムを送信できませんでした。 WSK サブシステムは、ソケット経由でデータグラムを送信した後、IRP を完了します。 送信操作の状態は、IRP の IoStatus.Status フィールドに返されます。 操作が成功した場合、IRP の IoStatus.Information フィールドには、送信されたバイト数が含まれます。
その他の状態コードの エラーが発生しました。 IRP は失敗状態で完了します。

必要条件

要件 価値
サポートされる最小クライアント Windows 8
ヘッダー wsk.h (wsk.h を含む)

関連項目

WSK_SOCKET

WSK_BUF_LIST

CMSGHDRする

Winsock カーネル関数で IRP を使用する