次の方法で共有


SetupDiSetDeviceInterfacePropertyW 関数 (setupapi.h)

SetupDiSetDeviceInterfaceProperty 関数は、デバイス インターフェイスのデバイス プロパティを設定します。

構文

WINSETUPAPI BOOL SetupDiSetDeviceInterfacePropertyW(
  [in]           HDEVINFO                  DeviceInfoSet,
  [in]           PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
  [in]           const DEVPROPKEY          *PropertyKey,
  [in]           DEVPROPTYPE               PropertyType,
  [in, optional] const PBYTE               PropertyBuffer,
  [in]           DWORD                     PropertyBufferSize,
  [in]           DWORD                     Flags
);

パラメーター

[in] DeviceInfoSet

デバイス インターフェイス プロパティを設定するデバイス インターフェイスを含むデバイス 情報セット へのハンドル。

[in] DeviceInterfaceData

デバイス インターフェイス プロパティを設定するデバイス インターフェイスを表す SP_DEVICE_INTERFACE_DATA 構造体へのポインター。

[in] PropertyKey

設定するデバイス インターフェイス プロパティのデバイス プロパティ キーを表す DEVPROPKEY 構造体へのポインター。

[in] PropertyType

設定するデバイス インターフェイス プロパティのプロパティ データ型識別子を表す DEVPROPTYPE 型の値。 プロパティ データ型識別子の詳細については、このトピックで後述する 「解説 」セクションを参照してください。

[in, optional] PropertyBuffer

デバイス インターフェイスプロパティ値を含むバッファーへのポインター。 プロパティまたはインターフェイス値のいずれかを削除する場合は、このポインターを NULL に設定し、 PropertyBufferSize を 0 に設定する必要があります。 プロパティ値データの詳細については、このトピックで後述する 「解説 」セクションを参照してください。

[in] PropertyBufferSize

PropertyBuffer バッファーのサイズ (バイト単位)。 プロパティ バッファー のサイズは、 PropertyType によって提供される property-data-type 識別子と一致している必要があります。 PropertyBuffer NULL に設定されている場合は、PropertyBufferSize を 0 に設定する必要があります。

[in] Flags

0 に設定する必要があります。

戻り値

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

次の表には、この関数がログに記録する可能性がある一般的なエラー コードの一部が含まれています。

リターン コード 説明
ERROR_INVALID_FLAGS
Flags の値は 0 ではありません。
ERROR_INVALID_HANDLE
DevInfoSet で指定されたデバイス情報セットが無効です。
ERROR_INVALID_PARAMETER
指定されたパラメーターが無効です。 1 つの可能性として、 DeviceInterfaceData で指定されたデバイス インターフェイスが無効です。
ERROR_INVALID_REG_PROPERTY
PropertyKey によって提供されるプロパティ キーが無効です。
ERROR_INVALID_DATA
指定されていないデータ値が無効でした。 このエラーは、デバイス インターフェイスのシンボリック リンク名が無効であるか、プロパティ データ型識別子が無効な場合にログに記録される可能性があります。
ERROR_INVALID_USER_BUFFER
ユーザー バッファーが無効です。 1 つの可能性は、 PropertyBufferNULL で、 PropertBufferSize が 0 ではないことです。
ERROR_NO_SUCH_DEVICE_INTERFACE
DeviceInterfaceData で指定されたデバイス インターフェイスが存在しません。
ERROR_INSUFFICIENT_BUFFER
システム呼び出しに渡された内部データ バッファーが小さすぎます。
ERROR_NOT_ENOUGH_MEMORY
操作を完了するのに十分なシステム メモリが不足していました。
ERROR_NOT_FOUND
指定されていない内部要素が見つかりませんでした。 1 つの可能性は、削除するプロパティが存在しないことです。
ERROR_ACCESS_DENIED
呼び出し元には管理者特権がありません。

解説

SetupDiSetDeviceInterfaceProperty は、 統合デバイス プロパティ モデルの一部です。

SetupAPI では、 SetupDiSetDeviceInterfaceProperty の Unicode バージョンのみがサポートされます。

SetupDiSetDeviceInterfaceProperty の呼び出し元は、デバイス インターフェイス プロパティを設定するために Administrators グループのメンバーである必要があります。

SetupDiSetDeviceInterfaceProperty では、property-data-type 識別子とプロパティ値に要件が適用されます。

デバイス インターフェイスに設定されているデバイス プロパティを表すデバイス プロパティ キーを取得するには、 SetupDiGetDeviceInterfacePropertyKeys を呼び出します。

デバイス インターフェイス プロパティを取得するには、 SetupDiGetDeviceInterfaceProperty を呼び出します。

要件

   
サポートされている最小のクライアント Windows Vista 以降のバージョンの Windows で使用できます。
対象プラットフォーム Desktopユニバーサルの場合は、CM_Set_Device_Interface_Propertyを呼び出します
Header setupapi.h (Setupapi.h を含む)
Library Setupapi.lib

関連項目

SetupDiGetDeviceInterfaceProperty

SetupDiGetDeviceInterfacePropertyKeys