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 檔案。 這是傳統的 AutoRun 行為。

ARCONTENT_AUDIOCD (0x00000004)

自動執行音訊 CD。

ARCONTENT_DVDMOVIE (0x00000008)

自動執行 DVD。

ARCONTENT_BLANKCD (0x00000010)

自動播放空白 CD-Rs 和 CD-RW。

ARCONTENT_BLANKDVD (0x00000020)

自動播放空白 DVD-Rs 和 DVD-RAM。

ARCONTENT_UNKNOWNCONTENT (0x00000040)

如果媒體已格式化,且內容不屬於其中一個其他旗標所涵蓋的類型,則自動執行。

ARCONTENT_AUTOPLAYPIX (0x00000080)

如果內容包含定義為圖片的檔案類型,例如 .bmp 和 .jpg 檔案,則自動播放。

ARCONTENT_AUTOPLAYMUSIC (0x00000100)

如果內容包含定義為音樂的檔案類型,例如 MP3 檔案,則自動播放。

ARCONTENT_AUTOPLAYVIDEO (0x00000200)

如果內容是由定義為視訊檔案的檔案類型所組成,則自動播放。

ARCONTENT_VCD (0x00000400)

在 Windows Vista 中引進。 自動播放視訊 CD (VCD) 。

ARCONTENT_SVCD (0x00000800)

在 Windows Vista 中引進。 自動播放超級視訊 CD (SVCD) 媒體。

ARCONTENT_DVDAUDIO (0x00001000)

在 Windows Vista 中引進。 自動播放 DVD-Audio 媒體。

ARCONTENT_BLANKBD (0x00002000)

在 BD-R 或 BD-RW) (模糊光片™格式中自動播放可錄製的高畫質 DVD 媒體。 注意:在 Windows 7 之前,此值已定義為以HD DVD格式指定不可錄製的媒體。

ARCONTENT_BLURAY (0x00004000)

在 Windows Vista 中引進。 以模糊光片™格式自動播放高畫質 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 中引進。 AutoPlay 正在搜尋媒體。 搜尋 (預先差異、探查或最終) 的階段不明。

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_OK,以允許 AutoRun 或S_FALSE取消自動執行。

備註

應用程式會在執行中的物件資料表中註冊 IQueryCancelAutoPlay 介面的實例, (ROT) 。 在 Shell 啟動 AutoRun 或 AutoPlay 之前,當使用者插入新媒體時,它會檢查 ROT 是否有實作 IQueryCancelAutoPlay的元件。 如果找到它,Shell 會呼叫該實作的 IQueryCancelAutoPlay::AllowAutoPlay 方法,以判斷它是否應該繼續,以及使用哪些限制。

媒體呈現時,Shell 會搜尋 ROT 以尋找實作 IQueryCancelAutoPlay的元件。 如果找到其中一個,則會擷取該元件的 Moniker (CLSID) 類別識別碼。 ROT 註冊的存在會通知殼層,元件可能想要取消 AutoRun 或 AutoPlay。 若要確認,Shell 也必須在下列位置找到相同 CLSID 的登錄機碼:

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Windows
            Current Version
               Explorer
                  AutoplayHandlers
                     CancelAutoplay
                        CLSID
                           The component's CLSID
應用程式或硬體通常會在安裝時間新增此值。 它未指派資料值。
注意 在此機碼下輸入為值的 CLSID 不應以大括弧括住。
 

規格需求

   
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 shobjidl.h
Dll Shell32.dll