SetupDiSetDevicePropertyW 関数 (setupapi.h)
SetupDiSetDeviceProperty 関数は、デバイス インスタンス プロパティを設定します。
構文
WINSETUPAPI BOOL SetupDiSetDevicePropertyW(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVINFO_DATA DeviceInfoData,
[in] const DEVPROPKEY *PropertyKey,
[in] DEVPROPTYPE PropertyType,
[in, optional] const PBYTE PropertyBuffer,
[in] DWORD PropertyBufferSize,
[in] DWORD Flags
);
パラメーター
[in] DeviceInfoSet
デバイス情報セットへのハンドル。 このデバイス情報セットには、デバイス インスタンス プロパティを設定するデバイス インスタンスを表すデバイス情報要素が含まれています。
[in] DeviceInfoData
デバイス インスタンス プロパティを設定するデバイス インスタンスを識別する SP_DEVINFO_DATA 構造体へのポインター。
[in] PropertyKey
設定するデバイス インスタンス プロパティのデバイス プロパティ キーを表す DEVPROPKEY 構造体へのポインター。
[in] PropertyType
デバイス インスタンス プロパティの property-data-type 識別子を表す DEVPROPTYPE 型の値。 詳細については、このトピックで後述する 「解説 」セクションを参照してください。
[in, optional] PropertyBuffer
デバイス インスタンスのプロパティ値を含むバッファーへのポインター。 プロパティが削除されている場合、または NULL 値に設定されている場合、このポインターは NULL、 PropertyBufferSize は 0 に設定する必要があります。
[in] PropertyBufferSize
PropertyBuffer バッファーのサイズ (バイト単位)。 PropertyBuffer が NULL の場合、PropertyBufferSize は 0 に設定する必要があります。
[in] Flags
このパラメーターは 0 に設定する必要があります。
戻り値
成功した場合、この関数は TRUE を 返します。 それ以外の場合は FALSE を返し、ログに記録されたエラーは GetLastError を呼び出すことによって取得できます。
次の表には、この関数がログに記録する可能性がある一般的なエラー コードの一部が含まれています。
リターン コード | 説明 |
---|---|
|
Flags の値は 0 ではありません。 |
|
DevInfoSet で指定されたデバイス情報セットが無効です。 |
|
指定されたパラメーターが無効です。 1 つの可能性は、デバイス情報要素が無効であることです。 |
|
PropertyKey によって提供されるプロパティ キーが無効であるか、プロパティが書き込み可能ではありません。 |
|
PropertyType によって提供されるプロパティ データ型識別子、または PropertyBuffer によって提供されるプロパティ値が無効です。 |
|
ユーザー バッファーが無効です。 1 つの可能性は、 PropertyBuffer が NULL で、 PropertyBufferSize が 0 ではないことです。 |
|
DevInfoData で指定されたデバイス インスタンスが存在しません。 |
|
システム呼び出しに渡された内部データ バッファーが小さすぎます。 |
|
操作を完了するのに十分なシステム メモリが不足していました。 |
|
指定されていない内部要素が見つかりませんでした。 1 つの可能性は、削除するプロパティが存在しないことです。 |
|
呼び出し元には管理者特権がありません。 |
解説
SetupDiSetDeviceProperty は、 統合デバイス プロパティ モデルの一部です。
SetupAPI では、Unicode バージョンの SetupDiSetDeviceProperty のみがサポートされます。
デバイス インスタンス プロパティを設定するには 、SetupDiSetDeviceProperty の呼び出し元が Administrators グループのメンバーである必要があります。
SetupDiSetDeviceProperty は、property-data-type 識別子とプロパティ値に要件を適用します。
デバイスに設定されているインスタンス デバイス プロパティのデバイス プロパティ キーを取得するには、 SetupDiGetDevicePropertyKeys を呼び出します。
デバイス インスタンス プロパティを取得するには、 SetupDiGetDeviceProperty を呼び出します。
要件
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows で使用できます。 |
対象プラットフォーム | Desktopユニバーサルの場合は、CM_Set_DevNode_Propertyを呼び出します |
Header | setupapi.h (Setupapi.h を含む) |
Library | Setupapi.lib |