有効な DVD 操作の識別

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

いくつかの要因によって、特定の DVD 操作を実行できるかどうかが決まります。

  • 現在のドメイン。 一部のコマンドは、特定のドメインでのみ有効です。 ドメインが変更されると、ナビゲーターは EC_DVD_DOMAIN_CHANGE イベントを送信します。 IDvdInfo2::GetCurrentDomain を呼び出して、現在のドメインを取得することもできます。
  • UOPS フラグ。 これらは、許可される操作を示すディスクに書き込まれるフラグです。 フラグが変更されるたびに、ナビゲーターは新しいフラグを含むEC_DVD_VALID_UOPS_CHANGE イベントを送信します。 IDvdInfo2::GetCurrentUOPS を呼び出して、現在の UOPS フラグを取得することもできます。
  • DVD コンテンツ。 一部のコマンドは、DVD の内容に基づいて関連しない場合があります。 たとえば、現在のドメインと UOPS フラグに従って IDvdControl2::SelectAngle メソッドを使用できますが、ビデオの角度は 1 つだけである可能性があります。 その場合、 SelectAngle 呼び出しは許可されますが、意味のあるオプションではありません。

疑わしい場合は、アクションを許可します。 最悪の場合、 IDvdControl2 メソッドは失敗し、ユーザーにフィードバックを送信できます。 フィードバックは比較的目立たないはずです。 たとえば、小さな赤い X をフラッシュしてユーザーに警告することができます。 DVD ナビゲーターは、ドメインで操作が禁止されている場合はVFW_E_DVD_INVALIDDOMAINを返し、UOPS フラグで操作が禁止されている場合はVFW_E_DVD_OPERATION_INHIBITEDを返します。

DVD アプリケーション