/protocol スイッチ
/protocol スイッチは、生成されたスタブでサポートされるワイヤ プロトコルを指定します。
midl /protocol (dce | ndr64 | all)
スイッチ オプション
-
Dce
-
生成されたスタブでは、DCE プロトコルのみがサポートされます。
-
ndr64
-
生成されたスタブでは、Microsoft NDR64 プロトコルのみがサポートされます。
-
すべての
-
生成されたスタブは、特定の環境で使用可能なすべてのプロトコルをサポートします。
解説
RPC は、データ メンバーがマーシャリングされる順序、ネットワーク上のデータの配置、データに含まれる追加情報など、データ ワイヤ表現を定義する厳密なワイヤ プロトコル (転送構文とも呼ばれます) に従ってデータをマーシャリングおよびアンマーシャリングします。 Microsoft RPC は、OSF DCE の NDR (ネットワーク データ表現) プロトコルと互換性があります。 Windows XP の 64 ビット リリースでは、64 ビット データの転送用に最適化された試験的なプロトコル NDR64 が導入されています。 NDR64 は DCE プロトコルと下位互換性がありません。
dce プロトコルは、OSF DCE の NDR 転送構文と互換性があります。 このプロトコルは、32 ビット データの転送用に最適化されています。
ndr64 プロトコルは現在、/win64 スイッチと組み合わせて使用する場合にのみサポートされています。 ndr64 のみのクライアントが dce 専用サーバーに接続しようとした場合、またはその逆の場合、呼び出しはRPC_S_UNSUPPORTED_TRANS_SYNで拒否されます。
all オプションは、使用可能なプロトコルを使用できるスタブを作成します。 32 ビット スタブの場合、現在使用できるプロトコルは DCE のみです。 /win64 スイッチを使用して作成された 64 ビット スタブの場合、DCE と NDR64 の両方を使用できます。
例
midl /protocol all /win64 filename.idl
関連項目