EVT_ACX_CIRCUIT_COMPOSITE_DEINITIALIZE コールバック関数 (acxcircuit.h)
EVT_ACX_CIRCUIT_COMPOSITE_CIRCUIT_DEINITIALIZE コールバックは、ACX マネージャーによって初期化解除されるときに、複合回線の初期化解除を行うためにドライバーによって使用されます。
構文
EVT_ACX_CIRCUIT_COMPOSITE_DEINITIALIZE EvtAcxCircuitCompositeDeinitialize;
void EvtAcxCircuitCompositeDeinitialize(
WDFDEVICE Device,
ACXCIRCUIT Circuit,
ACXOBJECTBAG CompositeProperties
)
{...}
パラメーター
Device
指定した ACXCIRCUIT に関連付けられている WDFDEVICE オブジェクト (「フレームワーク オブジェクトの概要」で説明)。
Circuit
初期化解除中の ACXCIRCUIT オブジェクト。 ACX オブジェクトの詳細については、「 ACX オブジェクトの概要」を参照してください。
CompositeProperties
CircuitProperties への省略可能なハンドル。 これは、ACXCIRCUIT のプロパティの省略可能な ACXOBJECTBAG オブジェクトです。
戻り値
なし
解説
ACX は、関連付けられた WDFDEVICE が存在する場合にのみ、複合 ACXCIRCUIT に対してこのコールバックを呼び出すことができます。 つまり、関連付けられている WDFDEVICE が突然削除された (SR) 場合、関連付けられている PnP インターフェイスがオフになっているため、ACX はコールバックを呼び出せなくなります。
例
このサンプル コードは、ドライバーが指定した回線プロパティ オブジェクト バッグから回線プロパティを取得する方法を示しています。
使用例を次に示します。
VOID
DspR_EvtCircuitCompositeDeinitialize(
_In_ WDFDEVICE Device,
_In_ ACXCIRCUIT Circuit,
_In_opt_ ACXOBJECTBAG CompositeProperties
)
{
DECLARE_CONST_ACXOBJECTBAG_SYSTEM_PROPERTY_NAME(UniqueID);
NTSTATUS status = STATUS_SUCCESS;
GUID uniqueId = {0};
PAGED_CODE();
UNREFERENCED_PARAMETER(Device);
UNREFERENCED_PARAMETER(Circuit);
if (CompositeProperties)
{
status = AcxObjectBagRetrieveGuid(CompositeProperties, &UniqueID, &uniqueId);
if (!NT_SUCCESS(status))
{
// Log error.
}
}
}
ACX の要件
最小 ACX バージョン: 1.0
ACX バージョンの詳細については、「 ACX バージョンの概要」を参照してください。
要件
要件 | 値 |
---|---|
Header | acxcircuit.h |
IRQL | PASSIVE_LEVEL |