次の方法で共有


SetupDiRemoveDeviceInterface 関数 (setupapi.h)

SetupDiRemoveDeviceInterface 関数は、登録済みのデバイス インターフェイスをシステムから削除します。

構文

WINSETUPAPI BOOL SetupDiRemoveDeviceInterface(
  [in]      HDEVINFO                  DeviceInfoSet,
  [in, out] PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
);

パラメーター

[in] DeviceInfoSet

削除するデバイス インターフェイスを含むデバイス 情報セット へのポインター。 このハンドルは通常、 SetupDiGetClassDevs によって返されます。

[in, out] DeviceInterfaceData

削除する DeviceInfoSet のデバイス インターフェイスを指定するSP_DEVICE_INTERFACE_DATA構造体へのポインター。 このポインターは通常、 SetupDiEnumDeviceInterfaces によって返されます。

インターフェイスが削除されると、この関数は DeviceInterfaceData で SPINT_REMOVED フラグを設定します。フラグ。 また、SPINT_ACTIVE フラグもクリアされますが、この関数が呼び出される前に、このフラグが既にクリアされている必要があることに注意してください。

戻り値

関数がエラーなしで完了した場合、SetupDiRemoveDeviceInterfaceTRUE を返します。 関数がエラーで完了した場合は FALSE 返され、 GetLastError を呼び出すことでエラーのエラー コードを取得できます。

解説

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

SetupDiRemoveDeviceInterface は、指定されたデバイス インターフェイスをシステムから削除します。 これには、関連付けられているレジストリ キーの削除が含まれます。

SetupDiDeleteDeviceInterfaceData を呼び出して、デバイス情報リストからインターフェイスを削除します。

削除するには、デバイス インターフェイスを無効にする必要があります。 インターフェイスが有効になっている場合、この関数は失敗し、 GetLastError は ERROR_DEVICE_INTERFACE_ACTIVEを返します。 インターフェイス固有のメカニズム (IOCTL など) を使用して、インターフェイスを無効にします。 呼び出し元がインターフェイスを無効にする方法がなく、インターフェイスを削除する必要がある場合、呼び出し元は SetupDiChangeState を使用して基になるデバイスを停止する必要があります。 デバイスを停止すると、デバイスによって公開されるすべてのインターフェイスが無効になります。

要件

   
サポートされている最小のクライアント Microsoft Windows 2000 以降のバージョンの Windows で使用できます。
対象プラットフォーム デスクトップ
Header setupapi.h (Setupapi.h を含む)
Library Setupapi.lib
[DLL] Setupapi.dll

関連項目

SetupDiChangeState

SetupDiCreateDeviceInterface

SetupDiDeleteDeviceInterfaceData

SetupDiEnumDeviceInterfaces

SetupDiGetClassDevs