IQueryCancelAutoPlay::AllowAutoPlay メソッド (shobjidl.h)
ユーザーが挿入したメディアを再生するかどうかを決定し、その場合はどのような制限を使用するかを決定します。
構文
HRESULT AllowAutoPlay(
[in] LPCWSTR pszPath,
[in] DWORD dwContentType,
[in] LPCWSTR pszLabel,
[in] DWORD dwSerialNumber
);
パラメーター
[in] pszPath
種類: LPCWSTR
D:\ 形式のドライブ文字
[in] dwContentType
型: DWORD
次のフラグで指定されたコンテンツの種類。
ARCONTENT_AUTORUNINF (0x00000002)
Autorun.inf ファイルを使用します。 これは従来の自動実行動作です。
ARCONTENT_AUDIOCD (0x00000004)
オーディオCDを自動実行します。
ARCONTENT_DVDMOVIE (0x00000008)
DVD の自動実行。
ARCONTENT_BLANKCD (0x00000010)
空の CD-Rs と CD-RU を自動再生します。
ARCONTENT_BLANKDVD (0x00000020)
空の DVD-Rs と DVD-RAM を自動再生します。
ARCONTENT_UNKNOWNCONTENT (0x00000040)
メディアが書式設定されていて、コンテンツが他のフラグの 1 つでカバーされる型に該当しない場合は、自動実行します。
ARCONTENT_AUTOPLAYPIX (0x00000080)
コンテンツが画像として定義されたファイルの種類 (.bmp ファイルや .jpg ファイルなど) で構成されている場合は、自動再生します。
ARCONTENT_AUTOPLAYMUSIC (0x00000100)
コンテンツが音楽として定義されたファイルの種類 (MP3 ファイルなど) で構成されている場合は、自動再生します。
ARCONTENT_AUTOPLAYVIDEO (0x00000200)
コンテンツがビデオ ファイルとして定義されたファイルの種類で構成されている場合は、自動再生します。
ARCONTENT_VCD (0x00000400)
Windows Vista で導入されました。 ビデオ ID (VCD) を自動再生します。
ARCONTENT_SVCD (0x00000800)
Windows Vista で導入されました。 スーパー ビデオ CD (SVCD) メディアの自動再生。
ARCONTENT_DVDAUDIO (0x00001000)
Windows Vista で導入されました。 メディア DVD-Audio 自動再生。
ARCONTENT_BLANKBD (0x00002000)
Blu-ray Disc™ 形式 (BD-R または BD-RW) の空の記録可能な高解像度 DVD メディアを自動再生します。 注: Windows 7 より前のバージョンでは、この値はHD DVD形式で記録できないメディアを指定するように定義されていました。
ARCONTENT_BLURAY (0x00004000)
Windows Vista で導入されました。 Blu-ray ディスク™形式の高解像度 DVD メディアを自動再生します。
ARCONTENT_CAMERASTORAGE (0x00008000)
Windows 8 で導入されました。
ARCONTENT_CUSTOMEVENT (0x00010000)
Windows 8 で導入されました。
ARCONTENT_NONE (0x00000000)
Windows Vista で導入されました。 空のメディアが書式設定されたメディアを自動再生します。
ARCONTENT_MASK (0x0001FFFE)
Windows Vista で導入されました。 メディア・タイプの有効な ARCONTENT フラグ値を示すマスク。 このマスクには、ARCONTENT_PHASE値は含まれません。
ARCONTENT_PHASE_UNKNOWN (0x00000000)
Windows Vista で導入されました。 自動再生でメディアが検索されています。 検索のフェーズ (presniff、スニッフィング、または最終段階) は不明です。
ARCONTENT_PHASE_PRESNIFF (0x10000000)
Windows Vista で導入されました。 メディアの種類により、メディアが検索される前にメディアの内容がわかっています。たとえば、オーディオ CD や DVD ムービーなどです。
ARCONTENT_PHASE_SNIFFING (0x20000000)
Windows Vista で導入されました。 AutoPlay は現在メディアを検索しています。 このフェーズ中に報告された結果は、さらに多くのコンテンツ タイプが見つかる可能性があるため、部分的なリストと見なす必要があります。
ARCONTENT_PHASE_FINAL (0x40000000)
Windows Vista で導入されました。 自動再生はメディアの検索を終了しました。 報告された結果は最終的です。
ARCONTENT_PHASE_MASK (0x70000000)
Windows Vista で導入されました。 有効なARCONTENT_PHASE値を表すマスク。
[in] pszLabel
種類: LPCWSTR
メディア ラベル。
[in] dwSerialNumber
型: DWORD
メディアのシリアル番号。
戻り値
型: HRESULT
自動実行またはS_FALSEが自動実行を取り消せるようにするS_OKを返します。
解説
アプリケーションは、実行中のオブジェクト テーブル (ROT) に IQueryCancelAutoPlay インターフェイスのインスタンスを登録します。 シェルが AutoRun または AutoPlay を開始する前に、ユーザーが新しいメディアを挿入すると、 IQueryCancelAutoPlay を実装するコンポーネントの ROT がチェックされます。 これが見つかると、シェルはその実装の IQueryCancelAutoPlay::AllowAutoPlay メソッドを呼び出して、続行する必要があるかどうかを判断し、どのような制限を使用するかを決定します。
メディアが表示されると、シェルは ROT で IQueryCancelAutoPlay を実装するコンポーネントを検索します。 見つかった場合は、そのコンポーネントのモニカーのクラス識別子 (CLSID) が抽出されます。 ROT 登録が存在すると、コンポーネントが AutoRun または AutoPlay を取り消す可能性があることをシェルに通知します。 確認のために、シェルは同じ CLSID のレジストリ キーも次の場所で見つける必要があります。
HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows Current Version Explorer AutoplayHandlers CancelAutoplay CLSID The component's CLSIDこの値は、通常はインストール時にアプリケーションまたはハードウェアによって追加されます。 データ値は割り当てられません。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | shobjidl.h |
[DLL] | Shell32.dll |