IoSetDeviceInterfacePropertyData 関数 (wdm.h)

IoSetDeviceInterfacePropertyData ルーチンは、デバイス インターフェイス プロパティの現在の値を変更します。

構文

NTSTATUS IoSetDeviceInterfacePropertyData(
  [in]           PUNICODE_STRING  SymbolicLinkName,
  [in]           const DEVPROPKEY *PropertyKey,
  [in]           LCID             Lcid,
  [in]           ULONG            Flags,
  [in]           DEVPROPTYPE      Type,
  [in]           ULONG            Size,
  [in, optional] PVOID            Data
);

パラメーター

[in] SymbolicLinkName

デバイス インターフェイス インスタンスを識別する文字列へのポインター。 この文字列は、IoGetDeviceInterfaces、IoGetDeviceInterfaceAlias、または IoRegisterDeviceInterface ルーチンの以前の呼び出しから取得されました。

[in] PropertyKey

デバイス インターフェイス プロパティ キーを含む DEVPROPKEY 構造体へのポインター。

[in] Lcid

ロケール識別子を指定します。 このパラメーターは、言語固有の LCID 値または LOCALE_NEUTRALに設定します。 LOCALE_NEUTRAL LCID は、プロパティが言語に依存しないことを指定します (つまり、どの言語にも固有ではありません)。 このパラメーターは 、LOCALE_SYSTEM_DEFAULT または LOCALE_USER_DEFAULTに設定しないでください。 言語固有の LCID 値の詳細については、「 LCID 構造体」を参照してください。

[in] Flags

このルーチンによって設定されたプロパティ値がコンピューターの再起動間で保持される場合は、このパラメーターを PLUGPLAY_PROPERTY_PERSISTENT に設定します。 それ以外の場合は、 フラグ を 0 に設定します。

[in] Type

このパラメーターを、データ バッファーに指定されたデータの種類を指定する DEVPROPTYPE 値に設定します。

[in] Size

Data が指すバッファーのサイズをバイト単位で指定します。

[in, optional] Data

デバイス インターフェイスのプロパティ データへのポインター。 指定したプロパティを削除するには、このパラメーターを NULL に設定します。 DataNULL 以外の場合、ルーチンはプロパティ値の内部コピーを格納します。 Data が指すバッファーは、呼び出しが返された後も有効なままである必要はありません。

戻り値

呼び出しが成功した場合、IoSetDeviceInterfacePropertyData はSTATUS_SUCCESSを返します。 エラーの戻り値として考えられるのは、次の状態コードです。

リターン コード 説明
STATUS_UNSUCCESSFUL 指定された LCID 値が無効です。
STATUS_NOT_IMPLEMENTED 指定されたプロパティはサポートされていません。

注釈

カーネル モード ドライバーは 、IoSetDeviceInterfacePropertyData ルーチンを使用して、統合デバイス プロパティ モデルの一部として定義されている デバイス インターフェイス プロパティを変更します。 デバイス インターフェイスのプロパティの詳細については、「 デバイスのプロパティ」を参照してください。

ドライバーは、 IoGetDeviceInterfacePropertyData ルーチンを使用して、デバイス インターフェイス プロパティの現在の値を取得できます。

IoSetDeviceInterfacePropertyData の呼び出し元は、システム スレッドのコンテキストで IRQL <= APC_LEVELで実行されている必要があります。

要件

要件
サポートされている最小のクライアント Windows 8以降のバージョンの Windows で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= APC_LEVEL

こちらもご覧ください

DEVPROPKEY

DEVPROPTYPE

IoGetDeviceInterfacePropertyData