次の方法で共有


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