CM_NOTIFY_EVENT_DATA 構造体 (cfgmgr32.h)

これは、デバイス通知イベントのデータ構造です。

構文

typedef struct _CM_NOTIFY_EVENT_DATA {
  CM_NOTIFY_FILTER_TYPE FilterType;
  DWORD                 Reserved;
  union {
    struct {
      GUID  ClassGuid;
      WCHAR SymbolicLink[ANYSIZE_ARRAY];
    } DeviceInterface;
    struct {
      GUID  EventGuid;
      LONG  NameOffset;
      DWORD DataSize;
      BYTE  Data[ANYSIZE_ARRAY];
    } DeviceHandle;
    struct {
      WCHAR InstanceId[ANYSIZE_ARRAY];
    } DeviceInstance;
  } u;
} CM_NOTIFY_EVENT_DATA, *PCM_NOTIFY_EVENT_DATA;

メンバー

FilterType

この通知イベント データを生成した登録で使用されたCM_NOTIFY_FILTER構造体からのCM_NOTIFY_FILTER_TYPE

Reserved

予約済み。 0 を指定する必要があります。

u

通知イベント データに関する情報を含む共用体。 調べる共用体のメンバーを特定するには、イベント データの FilterType をチェックします。

u.DeviceInterface

FilterTypeCM_NOTIFY_FILTER_TYPE_DEVICEINTERFACEされている場合は、共用体のこの部分を調べます。

u.DeviceInterface.ClassGuid

通知イベント データが関連するデバイス インターフェイスのデバイス インターフェイス クラスの GUID。

u.DeviceInterface.SymbolicLink[ANYSIZE_ARRAY]

通知イベント データが関連するデバイス インターフェイスのシンボリック リンク パス。

u.DeviceHandle

FilterTypeCM_NOTIFY_FILTER_TYPE_DEVICEHANDLEされ、通知アクションがCM_NOTIFY_ACTION_DEVICECUSTOMEVENTされている場合は、共用体のこの部分を調べます。

u.DeviceHandle.EventGuid

カスタム イベントの GUID。

u.DeviceHandle.NameOffset

省略可能な文字列バッファーのオフセット。 使用方法は、 EventGuid のコントラクトによって異なります。

u.DeviceHandle.DataSize

Data メンバーから読み取ることができるバイト数。

u.DeviceHandle.Data[ANYSIZE_ARRAY]

オプションのバイナリ データ。 使用方法は、 EventGuid のコントラクトによって異なります。

u.DeviceInstance

FilterTypeCM_NOTIFY_FILTER_TYPE_DEVICEINSTANCEされている場合は、共用体のこの部分を調べます。

u.DeviceInstance.InstanceId[ANYSIZE_ARRAY]

通知イベント データが関連するデバイスのデバイス インスタンス ID。

解説

CM_Register_Notificationに指定された通知コールバックは、コールバックの EventData パラメーターでCM_NOTIFY_EVENT_DATA型の構造体へのポインターを受け取ります。

必要条件

   
Header cfgmgr32.h

関連項目

CM_Register_Notification