デバイスへのアクセスを制限する主な方法は、デバイスにセキュリティ記述子を設定することです。そのため、特定のユーザー グループにアクセス許可を付与することが、あなたがすべき方法です。
Windows XP の正確な実装は、それ以降のバージョンの Windows とは異なる場合があります。Windows 8 にも新しい可能性があります。オーディオ ミキサー APIは、Windows XP で使用できます。Vista 以降では、Windows マルチメディア デバイス (MMDevice) APIを使用できます。プロパティ ストアの MMDevice API の実装。とを使用IPropertyStore::SetValue
しIPropertyStore::Commit
てプロパティを変更できます。統合デバイス プロパティモデルは、Windows Vista 以降で導入されています。内部で SetupAPI を使用してデバイスにアクセスし、そのプロパティを設定するさまざまな Windows API があります (こちらを参照)。PKEY_Device_SecuritySDS
デバイスを保護するにはプロパティを設定する必要があると思います。SetupDiSetDeviceRegistryPropertyのような古い API を使用できますSetupDiSetClassRegistryPropertyを使用して、Windows XP でプロパティを設定します (こちらを参照)。
コンピューターを起動してdevmgmt.msc
マイク デバイスの既定のプロパティを調べると、セキュリティ記述子が表示されます。

必要なのは、特定のユーザー グループ (またはユーザー) のみがアクセスできるように変更することです。
SetupDiSetDevicePropertyおよびまたは(こちらを参照)によって変更できるPKEY_Device_SecuritySDS
およびプロパティがあります。読み取り可能なセキュリティ記述子定義言語 (SDDL)が使用されているため、SDS パラメーター (または) の使用がより簡単になる可能性があります。PKEY_Device_Security
SPDRP_SECURITY_SDS
SPDRP_SECURITY
PKEY_Device_SecuritySDS
SPDRP_SECURITY_SDS
デバイスのセキュリティ記述子を変更した後、SetupDiSetClassInstallParamsとSetupDiCallClassInstallerを使用DIF_PROPERTYCHANGE
しDICS_PROPCHANGE
て、デバイスをリセットする必要があります。コード例は、WinDDK の devcon ユーティリティのソース コードにあります。または、 CM_Disable_DevNodeとCM_Enable_DevNodeを使用して、新しいプロパティで再起動することもできます。