CM_NOTIFY_FILTER構造体 (cfgmgr32.h)

デバイス通知フィルターの構造

構文

typedef struct _CM_NOTIFY_FILTER {
  DWORD                 cbSize;
  DWORD                 Flags;
  CM_NOTIFY_FILTER_TYPE FilterType;
  DWORD                 Reserved;
  union {
    struct {
      GUID ClassGuid;
    } DeviceInterface;
    struct {
      HANDLE hTarget;
    } DeviceHandle;
    struct {
      WCHAR InstanceId[MAX_DEVICE_ID_LEN];
    } DeviceInstance;
  } u;
} CM_NOTIFY_FILTER, *PCM_NOTIFY_FILTER;

メンバー

cbSize

構造体のサイズ。

Flags

次のフラグの 0 個以上の組み合わせ。

CM_NOTIFY_FILTER_FLAG_ALL_INTERFACE_CLASSES

登録して、すべてのデバイス インターフェイス クラスの PnP イベントの通知を受信します。 pFilter-u.DeviceInterface.ClassGuid> のメモリは 0 である必要があります。 このフラグは、CM_NOTIFY_FILTER_FLAG_ALL_DEVICE_INSTANCESと共に使用しないでください。 このフラグは、pFilter-FilterType> がCM_NOTIFY_FILTER_TYPE_DEVICEINTERFACEされている場合にのみ有効です。

CM_NOTIFY_FILTER_FLAG_ALL_DEVICE_INSTANCES

登録して、すべてのデバイスの PnP イベントの通知を受信します。 pFilter-u.DeviceInstance.InstanceId> は空の文字列である必要があります。 このフラグは、CM_NOTIFY_FILTER_FLAG_ALL_INTERFACE_CLASSESと共に使用しないでください。 このフラグは、pFilter-FilterType> がCM_NOTIFY_FILTER_TYPE_DEVICEINSTANCEされている場合にのみ有効です。

FilterType

次のいずれかの値を指定する必要があります。

CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE

デバイス インターフェイス イベントの通知に登録します。 通知を受信するには、pFilter-u.DeviceInterface.ClassGuid> にデバイス インターフェイス クラスの GUID を入力する必要があります。

CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE

デバイス ハンドル イベントの通知に登録します。 pFilter-u.DeviceHandle.hTarget> には、通知を受信するデバイスへのハンドルを入力する必要があります。 このハンドルは、 CM_Register_Notification 呼び出しの間、デバイスに対する有効なハンドルのままである必要があります。 ただし、CM_Register_Notificationが返された後、登録が通知を受信する機能に影響を与えることなく、ハンドルを閉じることができます。

CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE

デバイス インスタンス イベントの通知に登録します。 pFilter-u.DeviceInstance.InstanceId> には、通知を受信するデバイスのデバイス インスタンス ID を入力する必要があります。

Reserved

0 に設定されます。

u

通知を受信するデバイスに関する情報を含む共用体。

u.DeviceInterface

u.DeviceInterface.ClassGuid

通知を受信するデバイス インターフェイス クラスの GUID。

u.DeviceHandle

通知を受信するデバイスへのハンドル。

u.DeviceHandle.hTarget

u.DeviceInstance

通知を受信するデバイスのデバイス インスタンス ID。

u.DeviceInstance.InstanceId[MAX_DEVICE_ID_LEN]

注釈

ドライバーは、CM_Register_Notification関数を呼び出すときに、pFilter パラメーターのCM_NOTIFY_FILTER構造体へのポインターを提供します。

要件

要件
Header cfgmgr32.h

こちらもご覧ください

CM_NOTIFY_ACTION

CM_Register_Notification