WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE マクロ
[KMDF と UMDF に適用]
WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE マクロは、ドライバーの WDF_OBJECT_ATTRIBUTES 構造体を初期化し、オブジェクトのドライバー定義コンテキスト情報を構造体に挿入します。
構文
void WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(
_attributes,
_contexttype
);
パラメーター
属性
WDF_OBJECT_ATTRIBUTES 構造体へのポインター。
_contexttype
オブジェクトのコンテキスト空間の内容を記述するドライバー定義構造体の構造体型名。
戻り値
このマクロは値を返しません。
解説
WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE を呼び出す前に、WDF_DECLARE_CONTEXT_TYPE または WDF_DECLARE_CONTEXT_TYPE_WITH_NAME を、(関数内ではなく) グローバルに呼び出す必要があります。
WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE マクロは、WDF_OBJECT_ATTRIBUTES_INIT 関数と WDF_OBJECT_ATTRIBUTES_SET_CONTEXT_TYPE マクロを組み合わせたものになります。
例
次のコード例では、WDM_NDIS_REQUEST コンテキスト構造を定義します。 それから、この例は、WDF_DECLARE_CONTEXT_TYPE_WITH_NAME マクロを呼び出して構造体を登録し、コンテキスト アクセサ メソッド名を RequestGetMyContext に指定します。 次に、関数で、 WDF_OBJECT_ATTRIBUTES 構造体を割り当て、WDF_OBJECT_ATTRIBUTES 構造体を初期化します。
typedef struct _WDM_NDIS_REQUEST
{
PMP_ADAPTER Adapter;
NDIS_OID Oid;
NDIS_REQUEST_TYPE RequestType;
PVOID InformationBuffer;
ULONG InformationBufferLength;
PULONG BytesReadOrWritten;
PULONG BytesNeeded;
} WDM_NDIS_REQUEST, *PWDM_NDIS_REQUEST;
WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(WDM_NDIS_REQUEST, RequestGetMyContext);
// above are in global space
...
WDF_OBJECT_ATTRIBUTES attributes;
WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE( &attributes, WDM_NDIS_REQUEST );
要件
対象プラットフォーム |
ユニバーサル |
KMDF の最小バージョン |
1.0 |
UMDF の最小バージョン |
2.0 |
ヘッダー |
Wdfobject.h (Wdf.h を含む) |