WdfObjectGetTypedContext 매크로

[KMDF 및 UMDF에 적용]

WdfObjectGetTypedContext 매크로는 개체의 컨텍스트 공간에 대한 포인터를 반환합니다.

구문

PVOID WdfObjectGetTypedContext(
    Handle,
    Type
);

매개 변수

Handle
프레임워크 개체에 대한 핸들입니다.

형식
개체의 컨텍스트 공간을 설명하는 드라이버 정의 구조체의 기호 이름입니다.

반환 값

WdfObjectGetTypedContext 는 지정된 개체의 컨텍스트 공간에 대한 포인터를 반환합니다.

설명

WdfObjectGetTypedContext 매크로를 사용하여 프레임워크 개체의 컨텍스트 공간에 대한 포인터를 가져올 수 있습니다. WDF_DECLARE_CONTEXT_TYPE 매크로 또는 WDF_DECLARE_CONTEXT_TYPE_WITH_NAME 매크로에서 만든 개체별 컨텍스트 접근자 메서드를 호출하는 대신 이 매크로를 사용합니다 . WdfObjectGetTypedContext를 사용하는 경우에도 WDF_DECLARE_CONTEXT_TYPE 또는 WDF_DECLARE_CONTEXT_TYPE_WITH_NAME 사용하여 개체 컨텍스트를 선언해야 합니다.

이러한 매크로에 대한 자세한 내용은 Framework 개체 컨텍스트 공간을 참조하세요.

예제

다음 코드 예제에서는 요청 개체에 대한 컨텍스트 구조(MY_REQUEST_CONTEXT)를 정의한 다음 구조를 등록합니다.

typedef struct _MY_REQUEST_CONTEXT {
  LIST_ENTRY ListEntry;
  WDFMEMORY Memory;
} MY_REQUEST_CONTEXT, *PMY_REQUEST_CONTEXT;

WDF_DECLARE_CONTEXT_TYPE(MY_REQUEST_CONTEXT)

다음 코드 예제에서는 요청 개체를 만들고 컨텍스트 공간에 대한 포인터를 가져옵니다.

WDFREQUEST Request;
WDF_OBJECT_ATTRIBUTES MyRequestObjectAttributes;
PMY_REQUEST_CONTEXT pMyContext;

WDF_OBJECT_ATTRIBUTES_INIT(&MyRequestObjectAttributes);
WDF_OBJECT_ATTRIBUTES_SET_CONTEXT_TYPE(
                                       &MyRequestObjectAttributes,
                                       MY_REQUEST_CONTEXT
                                       );
status = WdfRequestCreate(
                          &MyRequestObjectAttributes,
                          NULL,
                          &Request
                          );

if (!NT_SUCCESS(status)) {
    return status;
}
pMyContext = WdfObjectGetTypedContext(
                                      Request,
                                      MY_REQUEST_CONTEXT
                                      );

요구 사항

대상 플랫폼

유니버설

최소 KMDF 버전

1.0

최소 UMDF 버전

2.0

헤더

Wdfobject.h(Wdf.h 포함)

라이브러리

Wdf01000.sys(KMDF); WUDFx02000.dll(UMDF)

Irql

모든 수준

추가 정보

WDF_DECLARE_CONTEXT_TYPE

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME