TARGET_DEVICE_CUSTOM_NOTIFICATION 構造体 (wdm.h)
TARGET_DEVICE_CUSTOM_NOTIFICATION構造体では、カスタム デバイス イベントについて説明します。
構文
typedef struct _TARGET_DEVICE_CUSTOM_NOTIFICATION {
USHORT Version;
USHORT Size;
GUID Event;
PFILE_OBJECT FileObject;
LONG NameBufferOffset;
UCHAR CustomDataBuffer[1];
} TARGET_DEVICE_CUSTOM_NOTIFICATION, *PTARGET_DEVICE_CUSTOM_NOTIFICATION;
メンバー
Version
データ構造のバージョン (現在は 1) を指定します。
Size
構造体のサイズ (最初の 3 つの標準メンバーとイベント固有のデータを含む) をバイト単位で指定します。
Event
イベントを識別する GUID を指定します。 カスタム イベント通知の GUID は、このメカニズムを使用するコンポーネントによって定義されます。
FileObject
デバイスのファイル オブジェクトへのポインター。
NameBufferOffset
テキストが始まる CustomDataBuffer の先頭からのオフセットをバイト単位で指定します。 値 -1 は、テキストがないことを示します。
CustomDataBuffer[1]
可変長バッファー。必要に応じて、バッファーの先頭にバイナリ データが格納され、その後にオプションのテキスト バッファー (ワードアライン) が続きます。
注釈
カーネル モード コンポーネントは、カスタム イベント通知にこの構造を使用します。カスタム イベント (IoReportTargetDeviceChange[非同期]) を通知し、カスタム イベントを処理する場合 (通知コールバック ルーチン内)。
この構造体は、可変長バイナリ データ バッファーと可変長 Unicode テキスト バッファーの両方に対応します。 NameBufferOffset はテキスト バッファーの開始位置を示す必要があります。これにより、RegisterDeviceNotification でハンドルベースの通知に登録されたユーザー モード アプリケーションに適切な形式 (ANSI または Unicode) でデータを配信できます。 RegisterDeviceNotification も参照してください。
要件
要件 | 値 |
---|---|
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
こちらもご覧ください
IoRegisterPlugPlayNotification