Windows 10 バージョン 1803 の新機能What's new in Windows 10, version 1803

このセクションでは、Windows 10 Version 1803 (Windows 10 April 2018 Update) でのドライバー開発に関する新機能と更新された機能について説明します。This section describes new features and updates for driver development in Windows 10, version 1803 (Windows 10 April 2018 Update).

ACPIACPI

Windows 10 Version 1803 では、プラットフォームの機能と物理デバイスの位置情報をサポートするために、ACPI の DDI が更新されています。Windows 10, version 1803 includes updates to ACPI DDIs to support platform capabilities and physical device location.

オーディオAudio

音声による有効化に関するトピックが更新され、APO 要件に関する情報が追加されました。The voice activation topic was updated to include additional information on APO requirements.

BluetoothBluetooth

Windows 10 Version 1803 では、クイック ペアリングのサポートが導入されます。Windows 10, version 1803 introduces support for Swift Pair. ユーザーが設定アプリに移動して、ペア設定する周辺機器を検索する必要がなくなりました。Users no longer need to navigate the Settings App and find their peripheral to pair. 使用可能な新しい周辺機器が近くで検出されると、Windows によって通知がポップアップ表示されます。Windows can now do this for them by popping a notification when a new peripheral is nearby and ready. お使いの周辺機器をクイック ペアリングに確実に対応させるには、2 つの要件セットがあります。There are two sets of requirements to ensure your peripheral works with Swift Pair. 1 つは周辺機器の動作に関するもので、もう 1 つは Microsoft が定義したベンダーのアドバタイズ セクションの構造と値に関するものです。One set is for the peripheral’s behavior, and another for the structure and values in a Microsoft defined vendor advertisement section. 詳細については、次のドキュメントを参照してください。For more information, see:

Windows 10 Version 1803 では Bluetooth バージョン 5.0 がサポートされます。Windows 10, version 1803 supports Bluetooth version 5.0. プロファイルのサポートについては、「Bluetooth Version and Profile Support in Windows 10 (Windows 10 での Bluetooth バージョンとプロファイルのサポート)」をご覧ください。For information about profile support, see Bluetooth Version and Profile Support in Windows 10.

カメラCamera

カメラ ドライバーの開発では、次の更新が行われました。Updates to Camera driver development include:

  • DShow Bridge implementation guidance for UVC devices (UVC デバイス向け DShow (DirectShow) ブリッジ実装ガイド) - USB ビデオ クラス (UVC) 仕様に準拠しているカメラとデバイス向けに DShow ブリッジを構成するための実装ガイド。DShow (DirectShow) Bridge implementation guidance for UVC devices - Implementation guidance for configuring DShow Bridge for cameras and devices that comply with the USB Video Class (UVC) specification. このプラットフォームは、USB バス標準から Microsoft OS 記述子を使って DShow ブリッジを構成します。The platform uses Microsoft OS Descriptors from the USB bus standard to configure DShow Bridge. 拡張プロパティ OS 記述子は USB の標準的な記述子の拡張機能です。標準仕様では有効にされない Windows 固有のデバイス プロパティを返すために、USB デバイスによって使用されます。The Extended Properties OS Descriptors are an extension of USB standard descriptors and are used by USB devices to return Windows specific device properties that are not enabled through standard specifications.
  • 360 カメラのビデオ キャプチャ - 既存の MediaCapture API を使い、360 カメラのプレビュー、キャプチャ、録画のサポートを提供します。360 camera video capture - Provides support for 360 camera preview, capture, and record with existing MediaCapture APIs. これにより、プラットフォームで球面のフレーム ソース (正距円筒図法のフレームなど) を公開することができ、アプリで 360 カメラのビデオ ストリームを検出して処理するだけでなく、360 キャプチャ エクスペリエンスを提供することが可能になります。This enables the platform to expose spherical frame sources (for example, equirectangular frames ), enabling apps to detect and handle 360 video camera streams as well as to provide a 360 capture experience.

デバッグDebugging

Windows 10 バージョン1803のデバッガーには、次のような変更が加えられています。Changes to the Debugger for Windows 10, version 1803 include the following:

WinDbg プレビューのタイム トラベル デバッグ (TTD) ハンズオン ラボ - このラボでは、コードにエラーのある短いサンプル プログラムを使ってタイム トラベル デバッグ (TTD) を紹介します。WinDbg Preview Time Travel Debugging (TTD) hands on lab - This lab introduces Time Travel Debugging (TTD), using a small sample program with a code flaw. TTD を使って問題をデバッグし、その根本原因を特定します。TTD is used to debug, identify and root cause the issue.

ディスプレイDisplay

Windows 10 Version 1803 では、ディスプレイ ドライバー開発に関する次の更新が行われました。The following are updates to Display driver development in Windows 10, version 1803:

  • 間接ディスプレイ UMDF クラス拡張機能 - 間接ディスプレイ ドライバーは、レンダリング GPU に SRM を渡すことができ、使用中の SRM バージョンを問い合わせるメカニズムを持つことができます。Indirect Display UMDF class extension - The Indirect Display driver can pass the SRM to the rendering GPU and have a mechanism to query the SRM version being used.

  • IOMMU ハードウェア ベースの GPU 分離のサポート - システム メモリへの GPU アクセスを制限することで、セキュリティを向上させます。IOMMU hardware-based GPU isolation support - Increases security by restricting GPU access to system memory.

  • GPU 準仮想化のサポート - ディスプレイ ドライバーが Hyper-V 仮想化環境にレンダリング機能を提供できるようにします。GPU paravirtualization support - Enables display drivers to provide rendering capabilities to Hyper-V virtualized environments.

  • 明るさ - マルチ ディスプレイをサポートする新しい明るさインターフェイスで、調整されたニット ベースの明るさレベルに設定することができます。Brightness - A new brightness interface to support multiple displays that can be set to calibrated nit-based brightness levels.

  • D3D11 ビットストリーム暗号化 - 8 バイトまたは 16 バイトの初期化ベクトルを使用する CENC、CENS、CBC1、および CBCS の公開をサポートするために D3D11 に追加された GUID とパラメーター。D3D11 bitstream encryption - Additional GUIDS and parameters to D3D11 to support exposing CENC, CENS, CBC1, and CBCS with 8 or 16 byte initialization vectors.

  • D3D11 と D3D12 のビデオ デコード ヒストグラム - 輝度ヒストグラムにより、メディア チームがヒストグラムの固定機能ハードウェアを活用して、HDR/EDR のシナリオにおけるトーン マッピングの品質を向上させることができます。D3D11 and D3D12 video decode histogram - A luminance histogram allows the media team to leverage fixed function hardware for histogram to improve tone mapping quality for HDR/EDR scenarios. 固定機能ハードウェアは、これらのシナリオで GPU が既に飽和状態にあり、並列処理を有効にする場合に便利です。Fixed function hardware is useful when GPU is already saturated in these scenarios and to enable parallel processing. この機能は省略可能です。固定機能ハードウェアが利用できる場合にのみ実装してください。This feature is optional and should only be implemented if fixed function hardware is available. この機能は 3D または計算を使って実装しないでください。This feature should not be implemented with 3D or Compute.

  • D3D12 ビデオ デコード でデコード階層 II がサポートされるようになりました。これは、ドライバーで "テクスチャの配列" がサポートされることにより、アプリケーションが割り当てコストを償却し、解像度の変更中にピーク時のメモリ使用量を削減できることを意味します。D3D12 video decode now supports Decode Tier II, indicating driver supports Array of Textures that enable applications to amortize allocation cost and reduce peak memory usage during resolution change.

  • タイル リソース階層と LDA アトミック - リンクされたアダプター (LDA) ノード間で機能するアトミック シェーダー命令のサポートを追加する新しいクロス ノード共有階層。Tiled resource tier and LDA atomics - A new cross node sharing tier to add support for atomic shader instructions working across linked adapter (LDA) nodes. これにより、ISV が分割フレーム レンダリング (SFR) などの GPU レンダリング手法を複数実装することができるため、D3D11 で実現可能な機能が明らかに向上します。This improves ISVs ability to implement multiple GPU rendering techniques like split frame rendering (SFR) and clearly advances the capabilities over what is possible in D3D11.

  • GPU ディザリングのサポート - ドライバーは、特定の時点のモードに対して有線信号でディザリングを実行できるかどうかを報告できます。GPU dithering support - Drivers can report the ability to perform dithering on the wire signal for a given timing mode. これにより、モニター リンクで物理的に使用可能なものよりも高い有効ビット深度が必要なシナリオ (HDMI 2.0 を介した HDR10 など) で、OS が明示的にディザリングを要求できます。This allows the OS to explicitly request dithering in scenarios where a higher effective bit depth is needed than is physically available on the monitor link, for example for HDR10 over HDMI 2.0.

  • 後処理による色調整のオーバーライド- ディスプレイの色を調整または変更するようなすべての後処理を一時的に無効にするよう、OS からドライバーに要求できるようにします。Post-processing color enhancement override - Adds the ability for the OS to request that the driver temporarily disable any post-processing that enhances or alters display colors. これは、特定のアプリケーションがディスプレイでの比色分析による正確な色動作を強制するシナリオをサポートし、OEM または IHV 独自のディスプレイの色調整と安全に共存します。This is to support scenarios where specific applications want to enforce colorimetrically accurate color behavior on the display, and safely coexist with OEM or IHV-proprietary display color enhancements.

  • Direct3D12 とビデオ - 次の機能へのアクセスを提供する新しい API と DDI:Direct3D12 and Video - New API and DDI to provide access to the following capabilities:

    • ハードウェア アクセラレータによるビデオのデコードHardware accelerated video decoding
    • コンテンツの保護Content Protection
    • ビデオの処理Video processing
  • DisplayID - グラフィックス アダプターによって制御されているディスプレイから VESA の DisplayID 記述子を問い合わせることができるように設計され、DisplayID v1.3 と DisplayID v2.0 をサポートする新しい DDI。DisplayID - A new DDI, designed to allow the VESA’s DisplayID descriptor to be queried from a display controlled by a graphics adapter and shall support DisplayID v1.3 and DisplayID v2.0. この DDI は既存の DxgkDdiQueryAdapterInfo DDI の拡張機能であり、カーネル モードのディスプレイ専用ドライバーや間接ディスプレイ ドライバーを含む、DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM2_3 のすべてのドライバーでサポートされます。The DDI is an extension of existing DxgkDdiQueryAdapterInfo DDI and shall be supported by all drivers with DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM2_3, including kernel mode display only drivers and indirect display drivers.

  • GPU パフォーマンス データ - DdiQueryAdapterInfo の拡張機能により、温度、ファン速度、エンジンおよびメモリのクロック速度、メモリ帯域幅、電力、電圧などの情報が公開されます。GPU performance data - Extensions to DdiQueryAdapterInfo will expose information such as temperature, fan speed, clock speeds for engines and memory, memory bandwidth, power draw, and voltages

  • その他 - IHV による新しいドライバーのオンボードに役立つ新しい SupportContextlessPresent ドライバー キャップ。Miscellaneous - A new SupportContextlessPresent driver cap to help IHV onboard new driver.

  • OS での外部/リムーバブル GPU サポートの強化。Improvements to External/Removable GPU support in the OS. 優れたサポートを追加する最初の手順として、Dxgkrnl では GPU が "切り離し可能" (ホットプラグ可能) かどうかを判断する必要があります。As a first step to add better support, Dxgkrnl needs to determine if a GPU is “detachable”, i.e. hot-pluggable. RS4 では、独自のインフラストラクチャを構築する代わりに、ドライバーのこの情報を活用します。For RS4 we would like to leverage the driver’s knowledge about this instead of building our own infrastructure. このため、DXGK_ DRIVERCAPS 構造体に "Detachable" ビットが追加されています。For this purpose, we are adding a “Detachable” bit to DXGK_ DRIVERCAPS struct. アダプターがホットプラグ可能な場合、アダプターの初期化中にドライバーによってこのビットが設定されます。Driver will set this bit during adapter initialization if the adapter is hot-pluggable.

  • ディスプレイ診断 - カーネル モードのデバイス ドライバー インターフェイス (DDI) が変更され、ディスプレイ コントローラーのドライバーから OS に診断イベントを報告できるようになりました。Display Diagnostics - Kernel mode device driver interface (DDI) changes to allow the driver for a display controller to report diagnostic events to the OS. ドライバーはこのチャネルを通じて、(OS の要求に対する応答でも、OS による対応が必要なものでもないため) 通常は OS で認識されないイベントのログを記録することができます。This provides a channel through which the driver can log events which would otherwise be invisible to the OS as the events are not a response to an OS request or something the OS needs to react to.

  • 共有グラフィックス電源コンポーネント - 非グラフィックス ドライバーでグラフィックス デバイスの電源管理を行えるようにします。Shared graphics power components - Allows non-graphics drivers to participate in the power management of a graphics device. 非グラフィックス ドライバーはグラフィックス ドライバーと連携し、ドライバー インターフェイスを介して 1 つ以上の共有電源コンポーネントを管理します。A non-graphics driver will use a driver interface to manage one or more of these shared power components in coordination with the graphics driver.

  • 共有テクスチャの機能強化 - プロセスや D3D デバイス間で共有可能なテクスチャの種類が増えました。Shared texture improvements - Includes increasing the types of textures that can be shared across processes and D3D devices. この設計により、最小限のメモリのコピーだけで、フレーム サーバーの OS コンポーネントでモノクロがサポートされるようになります。This design enables the frame server OS component to support monochrome with minimal memory copying.

ドライバーのセキュリティDriver security

Windows ドライバー セキュリティ ガイダンスと、ドライバー開発者向けにドライバー セキュリティのチェックリストを提供するドライバー セキュリティ チェックリストが更新されました。Updates to Windows Driver Security Guidance and the Driver security checklist, which provides a driver security checklist for driver developers.

Windows カーネルWindows kernel

このセクションでは、Windows 10 Version 1803 での Windows カーネル ドライバー開発に関する新機能と更新された機能について説明します。This section describes the new and updated features for Windows kernel driver development in Windows 10, version 1803.

サード パーティが独自の KDNET 拡張性モジュールや KdSerial トランスポート レイヤーを作成できるように、新しい API のセットがキットに追加されました。A set of new APIs has been added to the kit to enable third parties to create their own KDNET extensibility modules or KdSerial transport layers. サンプル コードについては、Debuggers フォルダーの "カーネル トランスポート サンプル" (ddk\samples\kdserial および ddk\samples\kdnet) をご覧ください。For sample code, see “Kernel Transport Samples” (ddk\samples\kdserial and ddk\samples\kdnet) in the Debuggers folder.

ファイルの状態を格納する場所として、(オペレーティング システムで認識されている) 承認された場所をドライバーに提供するためのサポートが追加されました。Support was added to provide drivers with a sanctioned location (that the operating system knows about) where they can store file state. この方法により、システムが格納場所にあるファイルをデバイスやドライバーと関連付けることができます。With this approach, the system can associate files in that location with a device or driver.

ファイルの状態が格納される場所は、ドライバーの内部構成ごと、およびデバイスごとにそれぞれ異なります。There are distinct locations to store file states specific to the internals of a driver and specific to a device. ファイルの状態を持つドライバーに対して、次のどちらの状態をディスクに書き込むかを指定できます。For drivers that have file state, you can decide if the state written to disk is:

  • ドライバーの状態 (IoGetDriverDirectory): 複数のデバイスを制御している可能性があるドライバーに対してグローバル、またはDriver state (IoGetDriverDirectory): global to the driver that might be controlling multiple devices), or

  • デバイスの状態 (IoGetDeviceDirectory): ドライバーによって制御される単一のデバイスに固有の値で、他のデバイスでは同様の状態であっても値が異なる場合があります。Device state (IoGetDeviceDirectory): specific to the driver-controlled single device and other devices might have different values for similar state.

機能ドライバー (FDO) で、それぞれの PCIe デバイスが D3Cold 状態にあるとき、追加の電力をネゴシエートできるようになりました。Function drivers (FDO) can now negotiate additional power when their respective PCIe devices are in a D3Cold state. たとえば、次のようなアニメーションや効果を作成できます。This includes:

  • 補助電源要件 D3COLD_REQUEST_AUX_POWERAuxiliary power requirement D3COLD_REQUEST_AUX_POWER.
  • コア電源レール D3COLD_REQUEST_CORE_POWER_RAILCore power rail D3COLD_REQUEST_CORE_POWER_RAIL.
  • システムが ACPI 動作状態にあり、対応するエンドポイントまたは PCI Express アップストリーム ポートが D3cold に遷移する間に、PCI Express ダウンストリーム ポートでメッセージを受信してからプラットフォームがスロットに PERST# をアサートするまでの固定遅延時間の要件。Requirement for a fixed delay time between the message is received at the PCI Express Downstream Port and the time the platform asserts PERST# to the slot during the corresponding endpoint’s or PCI Express Upstream Port’s transition to D3cold while the system is in an ACPI operational state. D3COLD_REQUEST_PERST_DELAY」を参照してください。See D3COLD_REQUEST_PERST_DELAY.

NT サービスおよびカーネル モードとユーザー モードのドライバーは、RtlRaiseCustomSystemEventTrigger 関数を使うことで、デバイスに対してカスタム トリガーを実行することができます。NT services and kernel-mode and user-mode drivers can raise a custom trigger for a device by using the RtlRaiseCustomSystemEventTrigger function. ドライバーの開発者が所有するカスタム トリガーは、カスタム トリガー ID によって識別される関連バック グラウンド タスクを開始するよう、システムのイベント ブローカーに通知します。A custom trigger, owned by the driver developer, notifies system event broker to start an associated background task with it, which is identified by a custom trigger identifier.

アクティブ セッションの変更通知に登録して、通知が発生したときにコールバックを取得できるようになりました。You can now register for active session change notification and get a callback when the notification is fired. この通知の一環として、一部のデータが呼び出し元で共有されます。As part of this notification, some data is also shared with the caller. この関連付けられているデータは、PO_SPR_ACTIVE_SESSION_DATA 構造体を介して配信されます。This associated data is delivered via the PO_SPR_ACTIVE_SESSION_DATA structure.

ネットワークNetworking

このセクションでは、Windows 10 Version 1803 での Windows ネットワーク ドライバー開発に関する新機能と強化された機能について簡単に説明します。This section outlines new features and improvements for Windows Networking driver development in Windows 10, version 1803.

NDIS および NetAdapterCxNDIS and NetAdapterCx

NDIS では次の更新が行われました。Updates to NDIS include:

ネットワーク アダプターの WDF クラス拡張機能 (NetAdapterCx) に関する次のトピックが新たに追加されました。The following topics are new for the Network Adapter WDF class extension (NetAdapterCx):

さらに、モバイル ブロードバンド クラス拡張機能 (MBBCx) に関する新しいトピックも追加されました。これは、モバイル ブロードバンド接続に NetAdapterCx モデルを使用するプレビュー専用の機能です。Additionally, new topics are available for a preview-only feature, the Mobile Broadband class extension (MBBCx), which uses the NetAdapterCx model for mobile broadband connectivity.

モバイル ブロードバンドMobile broadband

モバイル ブロードバンドについては、MB 低レベル UICC アクセスについて詳しく説明した新しいトピックが追加されました。In mobile broadband, a new topic detailing MB low level UICC access is available.

携帯電話会社Mobile operators

新しいホットスポットと AppID の設定がデスクトップ COSA の一部になりました。New Hotspot and AppID settings are now a part of desktop COSA. 通信事業者が Sysdev メタデータ パッケージを使ってブロードバンド アプリ エクスペリエンスのアプリを提供している場合は、MO UWP アプリCOSA データベースに移行することを強くお勧めします。Mobile operators are strongly encouraged to transition from broadband app experience apps with Sysdev metadata packages to MO UWP Apps and the COSA database.

PCIePCIe

次のモダン スタンバイと PCI ホット プラグのシナリオをサポートするために、新しい ACPI _DSD メソッドが追加されました。New ACPI _DSD methods have been added to support these Modern Standby and PCI hot plug scenarios:

  • PCIe ルート ポートでの DDRIPS (指示された最も深いランタイム アイドル電源状態) のサポートDirected Deepest Runtime Idle Power State (DDRIPS) support on PCIe Root Ports
  • D3 でのホット プラグをサポートする PCIe ルート ポートの識別Identifying PCIe Root Ports supporting hot plug in D3
  • 外部に公開されている PCIe ルート ポートの識別Identifying externally exposed PCIe Root Ports

詳しくは、「ACPI Interface:Device Specific Data (_DSD) for PCIe Root Ports (ACPI インターフェイス: PCIe ルート ポートのデバイス固有のデータ (_DSD))」をご覧ください。For information, see ACPI Interface: Device Specific Data (_DSD) for PCIe Root Ports.

センサーSensors

接続の種類のプロパティを明確にするために、SENSOR_CONNECTION_TYPES 列挙が追加されました。The SENSOR_CONNECTION_TYPES enumeration was added to clarify connection type properties.

USBUSB

共有コネクタのデタッチをシミュレートするための新しい API が追加されました。New APIs were added to simulate detach for shared connectors. USB デバイスがホストに接続されているか共有コネクタを持っている場合、スタックが削除されるときにデバイスがホストに接続されているか共有コネクタを持っていれば、デタッチ イベントをシミュレートできます。If a USB device is attached to a host or has shared connector while the stack is being removed while the device is attached to a host or has shared connectors, you can simulate a detach event. この時点ですべてのアタッチ/デタッチ通知メカニズムが無効になります。At this point all attach/detach notification mechanisms are disabled. 詳しくは、「UfxDeviceNotifyFinalExit 関数」をご覧ください。For more information, see UfxDeviceNotifyFinalExit function.

Wi-FiWi-fi

Wi-Fi ドライバーの開発では、高度な電源管理機能である Nic Auto Power Saver (NAPS) の TLV が新たに追加され、プラットフォーム レベルのデバイス回復サービス (PLDR) が更新されています。Updates to Wi-fi driver development include a new TLV for the Nic Auto Power Saver (NAPS) advanced power management feature and updates to the platform level device recovery service (PLDR).