/target スイッチ
/target スイッチを使用すると、MIDL コンパイラは、最新バージョンの Windows でのみ使用できる最適化を有効にすることができます。 /target スイッチは、追加のスイッチを自動的にアクティブにします。
midl /target level
-
level
-
NT50、NT51、NT60、NT61、NT62、NT100 などのターゲット レベルを指定します。
/target スイッチは、次の表に示すように、オペレーティング システムに基づいて追加のスイッチを自動的にアクティブにします。
オペレーティング システム | /target レベル | アクティブ化されたスイッチ |
---|---|---|
Windows 2000 | NT50 | /Oicf /error all /robust |
Windows XP | NT51 | /Oicf /error all /robust /protocol all |
Windows Vista | NT60 | /Oicf /error all /robust /protocol all |
Windows 7 | NT61 | /Oicf /error all /robust /protocol all |
Windows 8 | NT62 | /Oicf /error all /robust /protocol all |
Windows 10 | NT100 | /Oicf /error all /robust /protocol all |
/target スイッチで指定されたシステムでスタブが確実に実行されるようにするために、MIDL は、より新しいバージョンの Windows でのみ使用可能な機能が存在する場合にエラーを発行します。 次の表は、この機能を有効にするために必要な最小 /target レベルを示しています。 ターゲット レベルが高いほど、低いターゲット レベルのすべての機能が含まれます。
最低限必要な /target レベル | 特徴 |
---|---|
NT50 | /堅牢 [message] [async] [async_uuid] /Oicf モードの [notify] /Oicf モードの [encode] または [decode] |
NT51 | /protocol 64 ビットサポート [partial_ignore] [force_allocate] |
NT60 | 強制複合構造マーシャリング 配列または構造体のコンテキスト ハンドル [範囲] 未分割の文字列のサポート [type_strict_context_handle] |
NT61 | 32 未満のメソッドを使用するインターフェイスに対する直接 COM スタブ呼び出しでは、COM スタブを OLE32.DLLとリンクする必要があります。 |
NT62 | ARM サポート WinRT のサポート |
NT100 | [system_handle] のサポート |
midl /target NT50