WDF_DECLARE_CONTEXT_TYPE_WITH_NAME 매크로
[KMDF 및 UMDF에 적용]
WDF_DECLARE_CONTEXT_TYPE_WITH_NAME 매크로는 드라이버의 개체별 컨텍스트 공간에 대해 지정된 이름의 접근자 메서드를 만듭니다.
구문
void WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(
_contexttype,
_castingfunction
);
매개 변수
_contexttype
개체의 컨텍스트 공간 내용을 설명하는 드라이버 정의 구조체의 구조체 형식 이름입니다.
_castingfunction
C 언어 루틴 이름입니다. 매크로는 이 이름을 개체의 컨텍스트 공간에 대해 만드는 접근자 메서드의 이름으로 사용합니다.
반환 값
이 매크로는 값을 반환하지 않습니다.
설명
이 매크로 사용에 대한 자세한 내용은 Framework 개체 컨텍스트 공간을 참조하세요.
예제
다음 코드 예제에서는 요청 개체에 대한 컨텍스트 구조(MY_REQUEST_CONTEXT)를 정의합니다. 그런 다음, 예제에서는 WDF_DECLARE_CONTEXT_TYPE_WITH_NAME 매크로를 호출하여 구조를 등록하고 컨텍스트 접근자 메서드의 이름을 RequestGetMyContext로 지정합니다.
typedef struct _MY_REQUEST_CONTEXT {
LIST_ENTRY ListEntry;
WDFMEMORY Memory;
} MY_REQUEST_CONTEXT, *PMY_REQUEST_CONTEXT;
WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(MY_REQUEST_CONTEXT, RequestGetMyContext)
다음 코드 예제에서는 요청 개체를 만든 다음 RequestGetMyContext 접근자 메서드를 사용하여 개체의 컨텍스트 공간에 대한 포인터를 가져옵니다.
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 = RequestGetMyContext(Request);
요구 사항
대상 플랫폼 |
유니버설 |
최소 KMDF 버전 |
1.0 |
최소 UMDF 버전 |
2.0 |
헤더 |
Wdfobject.h(Wdf.h 포함) |