次の方法で共有


IWDFIoRequest3::RetrieveActivityId メソッド (wudfddi.h)

[警告: UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、Windows 10 の新しいバージョンでは UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは、UMDF 2 を使用する必要があります。 詳細については、「UMDFの概要」を参照してください。

RetrieveActivityId メソッドは、I/O 要求に関連付けられている現在のアクティビティ識別子を取得します。

構文

HRESULT RetrieveActivityId(
  [out] LPGUID ActivityId
);

パラメーター

[out] ActivityId

取得した GUID を格納する場所へのポインター。

戻り値

RetrieveActivityId は、呼び出しが成功した場合にS_OKを返します。 それ以外の場合、このメソッドは次のいずれかの値を返す可能性があります。

リターン コード 形容
HRESULT_FROM_WIN32 (ERROR_NOT_FOUND)
要求に関連付けられているアクティビティ ID はありません。

備考

カーネル モードから反映される要求には、カーネル トレース プロバイダーが有効になっている場合、または要求の受信後に IWDFIoRequest3::SetActivityId 呼び出された UMDF ドライバーが 場合にのみ、アクティビティ識別子を使用できます。 Windows イベント トレーシング (ETW) の詳細については、「イベント トレース」を参照してください。

UMDF ドライバーによって開始された要求には、以前に UMDF ドライバーが IWDFIoRequest3::SetActivityId 呼び出された場合にのみ、アクティビティ識別子を使用できます。

ドライバーが IWdfIoRequest2::Reuse 呼び出すとき、フレームワークは要求のアクティビティ識別子をクリアしません。

アクティビティ識別子の詳細については、「アクティビティ識別子の使用」を参照してください。

このメソッドに相当する UMDF 2 は、WdfRequestRetrieveActivityId です。

次のコード例は、ドライバーが 1 つの要求からアクティビティ識別子を取得し、それを使用して別の要求のアクティビティ識別子を設定できることを示しています。

hrQI = pWdfRequest->QueryInterface(IID_PPV_ARGS(&pOriginalRequest3));
ASSERT(SUCCEEDED(hrQI));

hrQI = pNewRequest->QueryInterface(IID_PPV_ARGS(&pNewRequest3));
ASSERT(SUCCEEDED(hrQI));

//
// Obtain activity id from original request and set in the new one
//

pOriginalRequest3->RetrieveActivityId(&activityId);
pNewRequest3->SetActivityId(&activityId);

pOriginalRequest3->Release();
pNewRequest3->Release();


必要条件

要件 価値
サポートされる最小クライアント Windows 8
サポート終了 UMDF 2.0 以降では使用できません。
ターゲット プラットフォーム デスクトップ
UMDF の最小バージョン する 1.11
ヘッダー wudfddi.h (Wudfddi.h を含む)
DLL WUDFx.dll

関連項目

IWDFIoRequest3

IWDFIoRequest3::SetActivityId