다음을 통해 공유


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 포함)

추가 정보

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT

WDF_OBJECT_ATTRIBUTES_SET_CONTEXT_TYPE