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

IoReportTargetDeviceChange

IoReportTargetDeviceChangeAsynchronous

RegisterDeviceNotification