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 フラグもクリアされますが、この関数が呼び出される前に、このフラグが既にクリアされている必要があることに注意してください。
戻り値
関数がエラーなしで完了した場合、SetupDiRemoveDeviceInterface は TRUE を返します。 関数がエラーで完了した場合は 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 |