SpbControllerSetRequestAttributes 関数 (spbcx.h)
SpbControllerSetRequestAttributes メソッドは、SPB フレームワーク拡張機能 (SpbCx) が SPB コントローラー ドライバーに配信するすべての SPBREQUEST オブジェクトに使用されるオブジェクト属性を設定します。
構文
void SpbControllerSetRequestAttributes(
[in] WDFDEVICE FxDevice,
[in] PWDF_OBJECT_ATTRIBUTES RequestAttributes
);
パラメーター
[in] FxDevice
SPB コントローラーを表すデバイス オブジェクトへの WDFDEVICE ハンドル。
[in] RequestAttributes
SPB コントローラーの SPBREQUEST オブジェクトの属性を含む呼び出し元によって割り当てられた WDF_OBJECT_ATTRIBUTES 構造体へのポインター。
戻り値
なし
解説
デバイスの初期化中に、SPB コントローラー ドライバーはこのメソッドを呼び出して、SPBREQUEST オブジェクトの既定の属性を設定できます。 その後、SpbCx は、バス上のターゲット デバイスに配信 (または転送) するすべての I/O 要求にこれらの属性を割り当てます。
RequestAttributes は、WDF_OBJECT_ATTRIBUTES構造体を指します。 呼び出し元は、この構造体を初期化するために 、以前に WDF_OBJECT_ATTRIBUTES_INIT 関数を呼び出している必要があります。 この呼び出しの後、 SpbControllerSetRequestAttributes を呼び出す前に、呼び出し元はこの構造体の次のメンバーの値を変更できます。
- EvtCleanupCallback
- EvtDestroyCallback
- ContextSizeOverride
- ContextTypeInfo
WDF_OBJECT_ATTRIBUTES_INIT は 、EvtCleanupCallback メンバーと EvtDestroyCallback メンバーを NULL に初期化 します。 これらの既定値を変更して EvtCleanupCallback または EvtDestroyCallback コールバック関数を登録すると、この関数は、SPbCx によって管理される SPB コントローラー キューに I/O 要求が到着するたびに呼び出されます。 このような I/O 要求により、SpbCx が SPB コントローラー ドライバーに要求を提示しない場合でも、 EvtCleanupCallback 関数または EvtDestroyCallback 関数が呼び出されます (要求はキューに到着した後、ドライバーに渡される前に取り消されるため)。
SPB コントローラー ドライバーは、デバイス オブジェクトをコミットする前に SpbControllerSetRequestAttributes を呼び出す必要があります。つまり、EvtDriverDeviceAdd コールバックから戻るか、コントローラーの子リストに PDO を追加する前です。 子リストは、バスに接続されているデバイスを表します。 詳細については、「 バス上のデバイスの列挙」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | spbcx.h |
Library | Spbcxstubs.lib |
IRQL | PASSIVE_LEVEL |