Udostępnij za pośrednictwem


Funkcja DismEnableFeature

Włącza funkcję na obrazie. Funkcje są identyfikowane przez nazwę i opcjonalnie mogą być powiązane z pakietem.

Składnia

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

Parametry

sesji [in]
Prawidłowa DismSession. DismSession musi być skojarzony z obrazem. Sesję można skojarzyć z obrazem przy użyciu DismOpenSession.

FeatureName [in]
Nazwa funkcji, która jest włączona. Aby włączyć więcej niż jedną funkcję, należy oddzielić każdą nazwę funkcji średnikiem.

identyfikator [wejściowy, opcjonalny]
Fakultatywny. Ścieżka bezwzględna do pliku .cab lub nazwa pakietu nadrzędnego funkcji do włączenia.

PackageIdentifier [in, opcjonalnie]
Fakultatywny. Prawidłowa wartość wyliczenia DismPackageIdentifier. DismPackageName należy użyć, gdy parametr Identifier wskazuje nazwę pakietu, a dismPackagePath należy użyć, gdy Identifier wskazuje ścieżkę bezwzględną pliku .cab. Jeśli pole identyfikatora nie jest NULL, należy określić prawidłowy parametr PackageIdentifier. Jeśli pole identyfikatora ma wartość null, parametr PackageIdentifier jest ignorowany.

LimitAccess [in]
Ten parametr jest ignorowany, począwszy od systemów Windows 8.1 i Windows Server 2012 R2.

Windows 8 i Windows Server 2012:

Wartość logiczna wskazująca, czy usługa Windows Update (WU) powinna być używana jako źródło do pobierania plików, jeżeli nie zostaną one znalezione w innych określonych lokalizacjach. Przed sprawdzeniem usługi WU program DISM sprawdzi, czy w podanych SourcePaths i dowolnych lokalizacjach określonych w rejestrze zgodnie z zasadami grupy znajdują się pliki. Jeśli pliki wymagane do włączenia funkcji są nadal obecne na komputerze, ta flaga jest ignorowana.

Wartość Opis
PRAWDZIWY Nie sprawdzaj Windows Update pod kątem plików naprawy.
FAŁSZYWY Domyślny. Sprawdź Windows Update, aby znaleźć pliki naprawcze.

SourcePaths [in, opcjonalnie]
Ten parametr jest ignorowany, począwszy od systemów Windows 8.1 i Windows Server 2012 R2.

Windows 8 i Windows Server 2012:

Lista lokalizacji źródłowych do sprawdzania plików wymaganych do włączenia funkcji.

SourcePathCount [in, opcjonalnie]
Ten parametr jest ignorowany, począwszy od systemów Windows 8.1 i Windows Server 2012 R2.

Windows 8 i Windows Server 2012:

Określona liczba lokalizacji źródłowych.

EnableAll [in]
Włącz wszystkie zależności funkcji. Jeśli nie można włączyć określonej funkcji ani żadnej z jej zależności, żadna z nich nie zostanie zmieniona z istniejącego stanu.

Wartość Opis
PRAWDZIWY Włącz wszystkie zależności funkcji.
FAŁSZYWY Włącz tylko określoną funkcję.

CancelEvent [in, opcjonalny]
Fakultatywny. Można ustawić zdarzenie CancelEvent dla tej funkcji, aby anulować operację w toku po sygnale od klienta. Jeśli CancelEvent zostanie odebrana na etapie, gdy nie można anulować operacji, operacja będzie kontynuowana i zwraca kod powodzenia. Gdy zostanie odebrany sygnał CancelEvent i operacja zostanie anulowana, stan obrazu będzie nieznany. Przed kontynuowaniem lub odrzuceniem zmian należy zweryfikować stan obrazu i rozpocząć ponownie.

Postęp [w, opcjonalnie]
Fakultatywny. Wskaźnik na funkcję DismProgressCallbackzdefiniowaną przez klienta.

UserData [in, opcjonalnie]
Fakultatywny. Dane niestandardowe zdefiniowane przez użytkownika.

Wartość zwracana

Jeśli funkcja powiedzie się, zwracana wartość jest S_OK. Funkcja może również zwrócić jedną z następujących wartości po pomyślnym wykonaniu następujących czynności:

Kod powrotny Opis
(HRESULT)SUCCESS_POTRZEBNE_PONOWNE_URUCHOMIENIE
Jeśli sesja jest online, należy ponownie uruchomić komputer.
DISMAPI_S_POTRZEBNE_PONOWNE_ŁADOWANIE_SESJI_OBRAZKA
Sesja musi zostać ponownie załadowana.

Jeśli funkcja zakończy się niepowodzeniem, zwracana wartość jest wartością błędu HRESULT.

Uwagi

Jeśli funkcja jest obecna w pakiecie podstawowym, nie trzeba określać żadnych informacji o pakiecie. Jeśli funkcja znajduje się w opcjonalnym pakiecie lub pakiecie funkcji, który został już zainstalowany na obrazie, określ nazwę pakietu w parametrze Identifier i określ DismPackageName jako PackageIdentifier. Jeśli nie można włączyć funkcji z powodu braku włączenia funkcji nadrzędnej, zostanie zwrócony specjalny kod błędu. Możesz użyć EnableAll, aby włączyć funkcje nadrzędne po włączeniu określonych funkcji lub użyć DismGetFeatureParent, aby wyliczyć funkcje nadrzędne i włączyć je najpierw.

Ważny

Jeśli funkcja, którą chcesz włączyć, nie jest składnikiem pakietu podstawowego, przed jej włączeniem należy dodać opcjonalny pakiet nadrzędny przy użyciu DismAddPackage. Nie określaj ścieżki do pliku .cab opcjonalnego pakietu, którego nie dodano do obrazu w parametrze Identifier. Jeśli określisz pakiet, który nie został dodany i określisz DismPackagePath jako PackageIdentifier, funkcja zostanie ukończona pomyślnie, ale funkcja nie zostanie włączona.

Notatka

LimitAccess, SourcePaths, SourcePathCounti EnableAll są obsługiwane tylko w systemach Windows 8 i Windows Server 2012.

Przykład

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

Wymagania

Wymaganie Opis
Obsługiwane platformy hostów Interfejs API DISM może być używany w dowolnym systemie operacyjnym obsługiwanym przez zestaw Windows Assessment and Deployment Kit (Windows ADK). Aby uzyskać więcej informacji, zobacz Windows ADK Technical Reference.
Obsługiwane platformy obrazów Windows 7, Windows Server 2008 R2, Windows PE 3.0, Windows 8, Windows Server 2012, Windows Preinstallation Environment (Windows PE) 4.0, Windows 8.1, Windows Server 2012 R2, Windows 10, Windows Server 2016
Minimalny obsługiwany klient Windows 7 [tylko aplikacje klasyczne]
Minimalny obsługiwany serwer Windows Server 2008 R2 [tylko aplikacje pulpitowe]
Nagłówek DismAPI.h
Biblioteka DismAPI.lib
DLL DismAPI.dll

Zobacz też

DismAddPackage

DismDisableFeature

DismGetFeatures

DismGetFeatureInfo