次の方法で共有


INF DelReg ディレクティブ

注意事項

ユニバーサル または Windows ドライバー パッケージをビルドする場合、このディレクティブは無効です。 「ユニバーサル INF ファイルを使用する」および「Windows ドライバーの開発の概要」を参照してください。

DelReg ディレクティブは、レジストリから削除するキーや値エントリを記述する 1 つ以上の INF ライター定義セクションを参照します。

[DDInstall] | 
[DDInstall.CoInstallers] | 
[ClassInstall32] | 
[ClassInstall32.ntx86] | 
[ClassInstall32.ntia64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntamd64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntarm] | (Windows 8 and later versions of Windows)
[ClassInstall32.ntarm64] (Windows 10 version 1709 and later versions of Windows)
 
DelReg=del-registry-section[,del-registry-section]...

DelReg ディレクティブによって参照される各 del-registry セクション の形式は次のとおりです。

[del-registry-section]
reg-root-string,subkey[,value-entry-name][,flags][,value]
reg-root-string,subkey[,value-entry-name][,flags][,value]
...

del-registry-section には、それぞれ個別の行に任意の数のエントリを含めることができます。

Entries

reg-root-string
このエントリで指定された他の値のレジストリ ツリーのルートを識別します。 値は次のいずれかになります。

HKCR
HKEY_CLASSES_ROOTの省略形。

HKCU
HKEY_CURRENT_USERの省略形。

HKLM
HKEY_LOCAL_MACHINEの省略形。

HKU
HKEY_USERS の省略形。

HKR
次の表に示すように、この省略形を使用して指定されたキーが、この DelReg ディレクティブが表示される INF セクションに関連付けられているレジストリ キーを基準とする相対的なものです。

AddReg ディレクティブを含む INF セクション HKR によって参照されるレジストリ キー
INF DDInstall セクション デバイスの ソフトウェア キー
INF DDInstall.HW セクション デバイスの ハードウェア キー
INF DDInstall.Services セクション サービス キー

Note

HKRINF DefaultInstall セクション から参照される del-registry-section では使用できません。

HKEY_LOCAL_MACHINE ルート下に格納されるドライバー情報の詳細については、 デバイスとドライバーのレジストリツリーとキーを参照してください。

subkey
このオプション値は、INFの Strings セクションで定義された%strkey%トークンか、与えられた reg-root の下のレジストリパス(key1\key2\key3...)として形成され、以下のいずれかを指定する:

  • 指定されたレジストリ パスの末尾にあるレジストリから削除するサブキー

  • 指定された value-entry-name の削除元となる既存のサブキー

value-entry-name
この値は、指定されたサブキーから削除される名前付き値エントリを識別します。 サブキー自体がレジストリから削除される場合は、この値とその前のコンマを省略する必要があります。

flags (Windows XP 以降のバージョンの Windows)
この省略可能な 16 進数の値は、システム定義の低ワードおよび高ワード フラグ値の ORed ビットマスクとして表され、値エントリのデータ型を定義したり、削除レジストリ操作を制御したりします。 フラグ が指定されていない場合は、 value-entry-name (指定されている場合) または サブキー が削除されます。

これらの各フラグのビットマスク値は次のとおりです。

0x00002000 (FLG_DELREG_KEYONLY_COMMON)
サブキー全体を削除します。

0x00004000 (FLG_DELREG_32BITKEY)
32 ビット レジストリで指定した変更を行います。 指定しない場合、ネイティブ レジストリが変更されます。

0x00018002 (FLG_DELREG_MULTI_SZ_DELSTRING)
複数文字列レジストリ エントリ内で、値で指定された文字列値に一致するすべての文字列を削除します。 大文字と小文字は無視されます。

value (Windows XP 以降のバージョンの Windows)
フラグ がレジストリ値が必要であることを示す場合は、レジストリ値を指定します。

解説

DelReg ディレクティブは、上記の正式な構文ステートメントに示されているセクションのいずれかで指定できます。 このディレクティブは、次の INF ライター定義セクションのいずれかで指定することもできます。

一般に、INF は、システム コンポーネントまたは他のデバイスの INF ファイルによって設定された既存のサブキー内のサブキーまたは値エントリを削除しないでください。 del-registry セクションの目的は、同じプロバイダーによって提供される新しい INF ファイルを使用して、以前のインストールから古いレジストリ情報をクリーンすることです。

del-registry セクション 名は INF ファイルに対して一意である必要がありますが、同じ INF の他のセクションで DelReg によって参照できます。 各セクション名は、セクション名を定義するための一般的な規則に従う必要があります。 これらの規則の詳細については、「INF ファイルの一般的な構文規則」を参照してください。

Windows XP より前のバージョンのオペレーティング システムでは、キーを削除する唯一の方法は、次を指定することです。

reg-root-string, subkey

Windows XP 以降のバージョンの Windows では、以下も許可されます (32 ビット レジストリを指定するため)。

reg-root-string, subkey,,0x4000

この例では、システム提供の COM/LPT ポート クラス インストーラーの INF によって、COM ポートに関する古い NT 固有のレジストリ情報がレジストリから削除される方法を示します。

[ComPort.NT]
AddReg=ComPort.NT.AddReg
 ... ; more directives omitted here

[ComPort.NT.HW]
DelReg=ComPort.NT.HW.DelReg

[Comport.NT.AddReg]
HKR,,EnumPropPages32,,"MSPorts.dll,SerialPortPropPageProvider"

[ComPort.NT.HW.DelReg]
HKR,,UpperFilters

関連項目

AddReg

AddInterface

AddService

ClassInstall32

DDInstall

DDInstall.HW

DDInstall.Services

InterfaceInstall32

文字列