다음을 통해 공유


WdfStringCreate 함수(wdfstring.h)

[KMDF 및 UMDF에 적용]

WdfStringCreate 메서드는 프레임워크 문자열 개체를 만들고 필요에 따라 지정된 유니코드 문자열을 개체에 할당합니다.

통사론

NTSTATUS WdfStringCreate(
  [in, optional] PCUNICODE_STRING       UnicodeString,
  [in, optional] PWDF_OBJECT_ATTRIBUTES StringAttributes,
  [out]          WDFSTRING              *String
);

매개 변수

[in, optional] UnicodeString

유니코드 문자열 상수가 포함된 UNICODE_STRING 구조체에 대한 포인터입니다. 프레임워크는 문자열을 새 프레임워크 문자열 개체에 복사합니다. 이 포인터는 선택 사항이며 NULL 수 있습니다.

[in, optional] StringAttributes

새 문자열 개체에 대한 드라이버 제공 특성을 포함하는 WDF_OBJECT_ATTRIBUTES 구조체에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 WDF_NO_OBJECT_ATTRIBUTES 수 있습니다.

[out] String

새 문자열 개체에 대한 핸들을 받는 위치에 대한 포인터입니다.

반환 값

WdfStringCreate 작업이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 메서드는 다음 값 중 하나를 반환할 수 있습니다.

반환 코드 묘사
STATUS_INVALID_DEVICE_REQUEST

WdfStringCreate IRQL = PASSIVE_LEVEL 호출되지 않았습니다.

STATUS_INVALID_PARAMETER
잘못된 매개 변수를 지정했습니다.
STATUS_INSUFFICIENT_RESOURCES
문자열 개체를 할당할 수 없습니다.
 

WdfStringCreate 메서드가 반환할 수 있는 다른 반환 값 목록은 Framework 개체 만들기 오류참조하세요.

이 메서드는 다른NTSTATUS 값을 반환할 수도 있습니다.

발언

프레임워크 문자열 개체의 기본 부모는 드라이버의 프레임워크 드라이버 개체입니다. 그러나 문자열이 드라이버와 연결되지 않는 한 드라이버는 WDF_OBJECT_ATTRIBUTES 구조체의 ParentObject 멤버를 문자열의 범위를 나타내는 개체로 설정해야 합니다. 일반적으로 문자열은 디바이스별 문자열이며 부모 개체는 프레임워크 디바이스 개체여야 합니다.

드라이버가 프레임워크 문자열 개체에 대한 EvtCleanupCallback 또는 EvtDestroyCallback 콜백 함수를 제공하는 경우 프레임워크는 IRQL = PASSIVE_LEVEL 이러한 콜백 함수를 호출합니다.

프레임워크 문자열 개체에 대한 자세한 내용은 문자열 개체 사용 참조하세요.

예제

다음 코드 예제에서는 WDF_OBJECT_ATTRIBUTES 구조를 초기화한 다음 프레임워크 문자열 개체를 만듭니다.

NTSTATUS  status;
WDFSTRING  stringHandle = NULL;
WDF_OBJECT_ATTRIBUTES  attributes;

WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
attributes.ParentObject = pDeviceContext->Device;
status = WdfStringCreate(
                         NULL,
                         &attributes,
                         &stringHandle
                         );
if (!NT_SUCCESS(status)){
    return status;
}

요구 사항

요구
대상 플랫폼 보편적
최소 KMDF 버전 1.0
최소 UMDF 버전 2.0
헤더 wdfstring.h(Wdf.h 포함)
라이브러리 Wdf01000.sys(KMDF); WUDFx02000.dll(UMDF)
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

참고 항목

UNICODE_STRING

WDF_OBJECT_ATTRIBUTES

WdfStringGetUnicodeString