共用方式為


DismEnableFeature 函式

啟用影像中的功能。 功能是以名稱識別,而且可以選擇性地系結至套件。

語法

HRESULT WINAPI DismEnableFeature(
  _In_     DismSession            Session,
  _In_     PCWSTR                 FeatureName,
  _In_opt_ PCWSTR                 Identifier,
  _In_opt_ DismPackageIdentifier  PackageIdentifier,
  _In_     BOOL                   LimitAccess,
  _In_opt_ PCWSTR                 *SourcePaths,
  _In_opt_ UINT                   SourcePathCount,
  _In_     BOOL                   EnableAll,
  _In_opt_ HANDLE                 CancelEvent,
  _In_opt_ DISM_PROGRESS_CALLBACK Progress,
  _In_opt_ PVOID                  UserData
);

參數

會話 [in]
有效的 DismSession。 DismSession 必須與影像相關聯。 您可以使用 DismOpenSession將會話與映射產生關聯。

FeatureName [in]
正在啟用的功能名稱。 若要啟用多個功能,請以分號分隔每個功能名稱。

識別碼 [in, 選擇性]
選擇性。 .cab檔案的絕對路徑,或要啟用之功能父封裝的套件名稱。

PackageIdentifier [in, optional]
選擇性。 有效的 DismPackageIdentifier 列舉值。 當Identifier參數指向套件名稱時,應該使用DismPackageName,而當 Identifier指向.cab檔案的絕對路徑時,應該使用DismPackagePath。 如果 [識別碼 ] 欄位不是 Null,您必須指定有效的 PackageIdentifier 參數。 如果 [識別碼 ] 欄位為 Null則會忽略 PackageIdentifier 參數。

LimitAccess [in]
從 Windows 8.1 和 Windows Server 2012 R2 開始,會忽略此參數。

Windows 8和Windows Server 2012:

布林值,指出Windows Update (WU) 是否應該連絡為下載檔案的來源位置,如果其他指定位置中找不到任何檔案。 在檢查 WU 之前,DISM 會檢查 所提供 SourcePaths 中的檔案,以及群組原則在登錄中指定的任何位置。 如果啟用此功能所需的檔案仍存在於電腦上,則會忽略此旗標。

描述
true 請勿檢查 WU 是否有修復檔案。
FALSE 預設值。 檢查 WU 以取得修復檔案。

SourcePaths [in, optional]
從 Windows 8.1 和 Windows Server 2012 R2 開始,會忽略此參數。

Windows 8和Windows Server 2012:

用來檢查啟用此功能所需檔案的來源位置清單。

SourcePathCount [in, optional]
從 Windows 8.1 和 Windows Server 2012 R2 開始,會忽略此參數。

Windows 8和Windows Server 2012:

指定的來源位置數目。

EnableAll [in]
啟用功能的所有相依性。 如果無法啟用指定的功能或其任何相依性,則不會變更其現有狀態。

描述
true 啟用功能的所有相依性。
FALSE 只啟用指定的功能。

CancelEvent [in, optional]
選擇性。 您可以為此函式設定 CancelEvent ,以便在用戶端發出訊號時取消進行中的作業。 如果在無法取消作業的階段收到 CancelEvent ,作業將會繼續並傳回成功碼。 如果收到 CancelEvent 並取消作業,則映射狀態為未知。 您應該先確認映射狀態,再繼續或捨棄變更,然後再啟動一次。

進度 [in, 選擇性]
選擇性。 用戶端定義 DismProgressCallback的指標。

UserData [in, optional]
選擇性。 使用者定義的自訂資料。

傳回值

成功時會傳回 S_OK

備註

如果功能存在於基礎套件中,您就不需要指定任何套件資訊。 如果此功能位於映射中已安裝的選用套件或功能套件中,請在 Identifier 參數中指定套件名稱,並將 DismPackageName 指定為 PackageIdentifier。如果因為父功能未啟用而無法啟用此功能,則會傳回特殊的錯誤碼。 您可以在啟用指定的功能時使用 EnableAll 來啟用父功能,也可以使用 DismGetFeatureParent 列舉父功能,並先加以啟用。

重要

如果要啟用的功能不是基礎套件的元件,您必須先使用 DismAddPackage 新增父選用套件,才能啟用此功能。 請勿指定已新增至 Identifier 參數中映射之選用套件.cab檔案的路徑。 如果您指定尚未新增的套件,而且您指定 DismPackagePath 做為 PackageIdentifier,則函式將會順利完成,但不會啟用此功能。

注意

只有Windows 8和Windows Server 2012才支援LimitAccessSourcePaths、SourcePathCountEnableAll

範例

HRESULT hr = S_OK;
hr = DismEnableFeature(Session, “WindowsMediaPlayer”, NULL, PackageNone, TRUE, NULL, 0, FALSE, NULL, NULL, NULL);

規格需求

需求 描述
支援的主機平臺 DISM API 可用於 Windows 評定與部署套件所支援的任何作業系統, (Windows ADK) 。 如需詳細資訊,請參閱 Windows ADK 技術參考
支援的映射平臺 Windows 7、Windows Server 2008 R2、Windows PE 3.0、Windows 8、Windows Server 2012、Windows 預先安裝環境 (Windows PE) 4.0、Windows 8.1、Windows Server 2012 R2、Windows 10、Windows Server 2016
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限桌面應用程式]
標頭 DismAPI.h
程式庫 DismAPI.lib
DLL DismAPI.dll

另請參閱

DismAddPackage

DismDisableFeature

DismGetFeatures

DismGetFeatureInfo