次の方法で共有


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
);

パラメーター

Session [in]
有効な DismSession。 DismSession はイメージに関連付けられている必要があります。 DismOpenSessionを使用して、セッションをイメージに関連付けることができます。

FeatureName [in]
有効になっている機能の名前。 複数の機能を有効にするには、各機能名をセミコロンで区切ります。

識別子 [入力、省略可能]
随意。 .cab ファイルへの絶対パス、または有効にする機能の親パッケージのパッケージ名。

PackageIdentifier [in, optional]
随意。 有効な DismPackageIdentifier 列挙値です。 識別子 パラメーターがパッケージ名を指している場合は DismPackageName を使用し、.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 が受信され、操作が取り消された場合、イメージの状態は不明です。 変更を続行または破棄してもう一度開始する前に、イメージの状態を確認する必要があります。

Progress [in, optional]
随意。 クライアント定義の DismProgressCallback へのポインター。

UserData [in, optional]
随意。 ユーザー定義のカスタム データ。

戻り値

関数が成功した場合、戻り値は S_OK。 関数が成功すると、次のいずれかの値が返される場合もあります。

リターン コード 説明
(HRESULT)エラー_成功_再起動が必要です
セッション がオンラインの場合は、コンピューターを再起動する必要があります。
DISMAPI_S_RELOAD_IMAGE_SESSION_REQUIRED
セッション を再読み込みする必要があります。

関数が失敗した場合、戻り値は HRESULT エラー値です。

解説

この機能が基盤パッケージに存在する場合は、パッケージ情報を指定する必要はありません。 イメージに既にインストールされているオプションのパッケージまたは機能パックに機能がある場合は、識別子の パラメーターにパッケージ名を指定し、PackageIdentifierとして DismPackageName 指定します。親機能が有効になっていないために機能を有効にできない場合は、特別なエラー コードが返されます。 EnableAll を使用して、指定した機能を有効にするときに親機能を有効にすることも、DismGetFeatureParent を使用して親機能を列挙し、最初に有効にすることもできます。

重要

有効にする機能が基盤パッケージのコンポーネントでない場合は、機能を有効にする前に、親オプション パッケージを DismAddPackage と共に追加する必要があります。 Identifier パラメーターでイメージに追加されていない省略可能なパッケージの .cab ファイルへのパスを指定しないでください。 追加されていないパッケージを指定し、PackageIdentifierとして DismPackagePath 指定すると、関数は正常に完了しますが、機能は有効になりません。

手記

LimitAccessSourcePathsSourcePathCountEnableAll は、Windows 8 および Windows Server 2012 でのみサポートされます。

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

必要条件

要件 説明
サポートされているホスト プラットフォーム DISM API は、Windows Assessment and Deployment Kit (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