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 は、テキスト バッファーの開始位置を示す必要があります。そのため、データを適切な形式 (ANSI または Unicode) で、RegisterDeviceNotificationを使用してハンドルベースの通知に登録したユーザー モード アプリケーションに配信できます。 RegisterDeviceNotificationのも参照してください。
必要条件
要件 | 価値 |
---|---|
ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
関連項目
IoRegisterPlugPlayNotification の
IoReportTargetDeviceChange の
IoReportTargetDeviceChangeAsynchronous の
RegisterDeviceNotificationの