次の方法で共有


PROTOCOL_INFOA構造体 (nspapi.h)

PROTOCOL_INFO 構造体には、プロトコルに関する情報が含まれています。

構文

typedef struct _PROTOCOL_INFOA {
  DWORD dwServiceFlags;
  INT   iAddressFamily;
  INT   iMaxSockAddr;
  INT   iMinSockAddr;
  INT   iSocketType;
  INT   iProtocol;
  DWORD dwMessageSize;
  LPSTR lpProtocol;
} PROTOCOL_INFOA, *PPROTOCOL_INFOA, *LPPROTOCOL_INFOA;

メンバーズ

dwServiceFlags

型: DWORD

プロトコルによって提供されるサービスを指定するビット フラグのセット。 次のビット フラグの 1 つ以上を設定できます。

価値 意味
XP_CONNECTIONLESS
このフラグが設定されている場合、プロトコルはコネクションレス (データグラム) サービスを提供します。 このフラグが明確な場合、プロトコルは接続指向のデータ転送を提供します。
XP_GUARANTEED_DELIVERY
このフラグが設定されている場合、プロトコルは、送信されるすべてのデータが目的の宛先に到達することを保証します。 このフラグが明確な場合、そのような保証はありません。
XP_GUARANTEED_ORDER
このフラグが設定されている場合、プロトコルはデータが送信された順序で到着することを保証します。 この特性では、データの配信は保証されず、その順序のみが保証されることに注意してください。 このフラグがクリアされている場合、送信されるデータの順序は保証されません。
XP_MESSAGE_ORIENTED
このフラグが設定されている場合、プロトコルはメッセージ指向です。 メッセージ指向プロトコルでは、メッセージの境界が優先されます。 このフラグが明確な場合、プロトコルはストリーム指向であり、メッセージ境界の概念は無関係です。
XP_PSEUDO_STREAM
このフラグが設定されている場合、プロトコルは、すべての受信操作のメッセージ境界を無視するメッセージ指向プロトコルです。

このオプション機能は、プロトコルでメッセージをフレームに入れたくない場合に便利です。 ストリーム指向の特性を必要とするアプリケーションは、iSocketTypeの値に関係なく、この機能をサポートするトランスポート プロトコルの型SOCK_STREAMを持つソケット 開くことができます。

XP_GRACEFUL_CLOSE
このフラグが設定されている場合、プロトコルは 2 フェーズのクローズ操作 (グレースフル クローズ操作とも呼ばれます) をサポートします。 このフラグがクリアされている場合、プロトコルは中止終了操作のみをサポートします。
XP_EXPEDITED_DATA
このフラグが設定されている場合、プロトコルは緊急データとも呼ばれる迅速なデータをサポートします。
XP_CONNECT_DATA
このフラグが設定されている場合、プロトコルは接続データをサポートします。
XP_DISCONNECT_DATA
このフラグが設定されている場合、プロトコルはデータの切断をサポートします。
XP_SUPPORTS_BROADCAST
このフラグが設定されている場合、プロトコルはブロードキャスト メカニズムをサポートします。
XP_SUPPORTS_MULTICAST
このフラグが設定されている場合、プロトコルはマルチキャスト メカニズムをサポートします。
XP_BANDWIDTH_ALLOCATION
このフラグが設定されている場合、プロトコルは、保証された帯域幅をアプリケーションに割り当てるメカニズムをサポートします。
XP_FRAGMENTATION
このフラグが設定されている場合、プロトコルはメッセージの断片化をサポートします。物理ネットワーク MTU はアプリケーションから非表示になります。
XP_ENCRYPTS
このフラグが設定されている場合、プロトコルはデータ暗号化をサポートします。

iAddressFamily

型: INT

プロトコルのソケットを開くために ソケット 関数が呼び出されたときに、af パラメーターとして渡す値。 このアドレス ファミリ値は、プロトコルで使用されるプロトコル アドレスの構造 (sockaddr 構造体とも呼ばれます) を一意に定義します。

iMaxSockAddr

型: INT

プロトコルでサポートされるソケット アドレスの最大長 (バイト単位)。

iMinSockAddr

型: INT

プロトコルでサポートされるソケット アドレスの最小長 (バイト単位)。

iSocketType

型: INT

プロトコルのソケットを開くために ソケット 関数が呼び出されたときに、 パラメーターとして渡す値。

dwServiceFlagsでXP_PSEUDO_STREAMが設定されている場合、アプリケーションでは、iSocketTypeの値に関係なく、ソケットを する パラメーターとしてSOCK_STREAMを指定できます。

iProtocol

型: INT

プロトコルのソケットを開くために ソケット 関数が呼び出されたときに、プロトコル パラメーターとして渡す値。

dwMessageSize

型: DWORD

プロトコルでサポートされる最大メッセージ サイズ (バイト単位)。 これは、ホストとの間で送受信できるメッセージの最大サイズです。 メッセージ フレーミングをサポートしていないプロトコルの場合、特定のアドレスに送信できるメッセージの実際の最大サイズがこの値より小さい場合があります。

次の特殊なメッセージ サイズ値が定義されています。

価値 意味
0
プロトコルはストリーム指向です。メッセージ サイズの概念は関係ありません。
0xFFFFFFFF
プロトコルはメッセージ指向ですが、メッセージの最大サイズはありません。

lpProtocol

型: LPTSTR

プロトコルの名前を指定する 0 で終わる文字列へのポインター。たとえば、"SPX2" などです。

備考

手記

nspapi.h ヘッダーは、unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとしてPROTOCOL_INFOを定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー nspapi.h

関連項目

EnumProtocols の

ソケット