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
FilterType がCM_NOTIFY_FILTER_TYPE_DEVICEINTERFACEされている場合は、共用体のこの部分を調べます。
u.DeviceInterface.ClassGuid
通知イベント データが関連するデバイス インターフェイスのデバイス インターフェイス クラスの GUID。
u.DeviceInterface.SymbolicLink[ANYSIZE_ARRAY]
通知イベント データが関連するデバイス インターフェイスのシンボリック リンク パス。
u.DeviceHandle
FilterType がCM_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
FilterType がCM_NOTIFY_FILTER_TYPE_DEVICEINSTANCEされている場合は、共用体のこの部分を調べます。
u.DeviceInstance.InstanceId[ANYSIZE_ARRAY]
通知イベント データが関連するデバイスのデバイス インスタンス ID。
解説
CM_Register_Notificationに指定された通知コールバックは、コールバックの EventData パラメーターでCM_NOTIFY_EVENT_DATA型の構造体へのポインターを受け取ります。
必要条件
Header | cfgmgr32.h |