WdfChildListUpdateChildDescriptionAsMissing 関数 (wdfchildlist.h)
[KMDF にのみ適用]
WdfChildListUpdateChildDescriptionAsMissing メソッドは、指定された子デバイスが現在取り外されているか、それ以外の場合は使用できないことをフレームワークに通知します。
構文
NTSTATUS WdfChildListUpdateChildDescriptionAsMissing(
[in] WDFCHILDLIST ChildList,
[in] PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription
);
パラメーター
[in] ChildList
子リスト オブジェクトへのハンドル。
[in] IdentificationDescription
ドライバーが提供する子識別の説明を識別する呼び出し元によって割り当てられたWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER構造体へのポインター。
戻り値
WdfChildListUpdateChildDescriptionAsMissing は、STATUS_SUCCESS、または操作が成功した場合 、NT_SUCCESS(status) が TRUE に等しい別の状態値を返します。 それ以外の場合、このメソッドは次のいずれかの値を返す可能性があります。
リターン コード | 説明 |
---|---|
|
入力パラメーターが無効です。 |
|
IdentificationDescription が指す構造体のサイズが正しくありません。 |
|
指定したデバイスが子リストに見つかりませんでした。 |
このメソッドは、他の NTSTATUS 値も返す場合があります。
ドライバーが無効なオブジェクト ハンドルを提供すると、システム バグ チェックが発生します。
注釈
ドライバーは、デバイスが存在したことを報告するために WdfChildListAddOrUpdateChildDescriptionAsPresent を呼び出したことがない場合でも、デバイスが使用できないことを報告できます。 この場合、 WdfChildListUpdateChildDescriptionAsMissing メソッドはSTATUS_NO_SUCH_DEVICEを返すだけです。
子リスト内のすべてのデバイスが使用できないことを報告する場合、ドライバーは、各デバイスに対して WdfChildListUpdateChildDescriptionAsMissing を呼び出す代わりに、WdfChildListBeginScan を呼び出し、その直後に WdfChildListEndScan を呼び出すことができます。
子デバイスと子リストの詳細については、「 動的列挙」を参照してください。
例
次のコード例では、指定したシリアル番号を持つ子デバイスが使用できないことをフレームワークに通知します。
PDO_IDENTIFICATION_DESCRIPTION description;
NTSTATUS status;
WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_INIT(
&description.Header,
sizeof(description)
);
description.SerialNo = SerialNo;
status = WdfChildListUpdateChildDescriptionAsMissing(
list,
&description.Header
);
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
Header | wdfchildlist.h (Wdf.h を含む) |
Library | Wdf01000.sys (「Framework ライブラリのバージョン管理」を参照)。 |
IRQL | <= DISPATCH_LEVEL |
DDI コンプライアンス規則 | DriverCreate(kmdf)、 KmdfIrql(kmdf)、 KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf) |
こちらもご覧ください
WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER