SetupDiChangeState 関数 (setupapi.h)

SetupDiChangeState 関数は、DIF_PROPERTYCHANGEインストール要求の既定のハンドラーです。

構文

WINSETUPAPI BOOL SetupDiChangeState(
  [in]      HDEVINFO         DeviceInfoSet,
  [in, out] PSP_DEVINFO_DATA DeviceInfoData
);

パラメーター

[in] DeviceInfoSet

ローカル コンピューターの デバイス情報セット へのハンドル。 このセットには、状態が変更されるデバイスを表すデバイス情報要素が含まれています。

[in, out] DeviceInfoData

DeviceInfoSet のデバイス情報要素を指定するSP_DEVINFO_DATA構造体へのポインター。 DeviceInfoData のため、これは IN-OUT パラメーターです。DevInst は、戻り時に新しいハンドル値で更新される場合があります。

戻り値

成功した場合、関数は TRUE を 返します。 それ以外の場合は FALSE を 返し、 GetLastError を呼び出すことでログに記録されたエラーを取得できます。

注釈

SetupDiChangeState は、インストールされているデバイスの状態を変更します。

SetupDiChangeState の呼び出し元は、Administrators グループのメンバーである必要があります。

メモSetupDiChangeState が既定のプロパティ変更操作を完了した後で、クラス インストーラーがプロパティ変更操作を実行する必要がある状況でのみ、クラス インストーラーのみが SetupDiChangeState を呼び出す必要があります。 このような状況では、インストーラーがDIF_PROPERTYCHANGE要求を処理するときに、クラス インストーラーが SetupDiChangeState を直接呼び出す必要があります。 既定のハンドラーの呼び出しの詳細については、「 既定の DIF コード ハンドラーの呼び出し」を参照してください。
 
SetupDiChangeState の呼び出し元は、デバイスで実行する状態変更の種類を示すデバイス要素のSP_PROPCHANGE_PARAMSで、DICS_XXX フラグを指定する必要があります。 この関数の呼び出し元は、この関数を呼び出す前に、SP_PROPCHANGE_PARAMSで適切なフィールドを設定し 、SetupDiSetClassInstallParams を 呼び出す必要があります。

SP_PROPCHANGE_PARAMSでDICS_FLAG_CONFIGSPECIFIC フラグを指定する場合は、 HwProfile フィールドに入力する必要があります。 HwProfile の値が 0 の場合は、現在のプロファイルを示します。

現在のハードウェア プロファイルでデバイスを有効または無効にするには、SP_PROPCHANGE_PARAMSで DICS_FLAG_CONFIGSPECIFIC フラグを設定します。 ドッキングされたハードウェア プロファイルとドッキングされていないハードウェア プロファイルの両方など、デバイスをグローバルに有効または無効にするには、DICS_FLAG_GLOBAL フラグを設定します。

この関数は、次の処理を行います。

この関数の呼び出し元は、SP_PROPCHANGE_PARAMSでDICS_STOPまたはDICS_STARTを指定しないでください。 DICS_PROPCHANGEを使用してデバイスを停止および再起動し、デバイスの構成の変更を有効にします。

DI_DONOTCALLCONFIGMGがデバイスに対して設定されている場合は、デバイスの SetupDiChangeState を呼び出さないでくださいが、代わりに DI_NEEDREBOOT フラグを設定する必要があります。

要件

要件
サポートされている最小のクライアント Microsoft Windows 2000 以降のバージョンの Windows で使用できます。
対象プラットフォーム デスクトップ
Header setupapi.h (Setupapi.h を含む)
Library Setupapi.lib
[DLL] Setupapi.dll
API セット ext-ms-win-setupapi-classinstallers-l1-1-2 (Windows 10 バージョン 10.0.14393 で導入)

こちらもご覧ください

DIF_PROPERTYCHANGE

SP_PROPCHANGE_PARAMS

SetupDiCallClassInstaller