다음을 통해 공유


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 메서드가 반환할 수 있는 다른 반환 값 목록은 프레임워크 개체 만들기 오류를 참조하세요.

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

설명

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

드라이버가 프레임워크 문자열 개체 에 대해 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