다음을 통해 공유


WdfCollectionCreate 함수(wdfcollection.h)

[KMDF 및 UMDF에 적용]

WdfCollectionCreate 메서드는 프레임워크 컬렉션 개체를 만듭니다.

구문

NTSTATUS WdfCollectionCreate(
  [in, optional] PWDF_OBJECT_ATTRIBUTES CollectionAttributes,
  [out]          WDFCOLLECTION          *Collection
);

매개 변수

[in, optional] CollectionAttributes

새 컬렉션 개체에 대한 특성을 포함하는 호출자가 할당한 WDF_OBJECT_ATTRIBUTES 구조체에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 WDF_NO_OBJECT_ATTRIBUTES 수 있습니다.

[out] Collection

새 컬렉션 개체에 대한 핸들을 받는 위치에 대한 포인터입니다.

반환 값

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

반환 코드 설명
STATUS_INVALID_PARAMETER
호출자가 잘못된 매개 변수 값을 제공했습니다.
STATUS_INSUFFICIENT_RESOURCES
컬렉션 개체를 할당할 수 없습니다.
 

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

설명

WdfCollectionCreate를 호출하여 프레임워크 컬렉션 개체를 만든 후 드라이버는 WdfCollectionAdd를 호출하여 컬렉션에 개체를 추가할 수 있습니다.

기본적으로 새 컬렉션 개체의 부모는 WdfDriverCreate 메서드가 만든 프레임워크 드라이버 개체입니다. WDF_OBJECT_ATTRIBUTES 구조체의 ParentObject 멤버를 사용하여 다른 부모를 지정할 수 있습니다. 프레임워크는 부모 개체를 삭제할 때 컬렉션 개체를 삭제합니다. 드라이버가 기본 부모를 변경하지 않으면 드라이버가 개체 사용을 마쳤을 때 컬렉션 개체를 삭제해야 합니다. 그렇지 않으면 I/O 관리자가 드라이버를 언로드할 때까지 개체가 유지됩니다.

개체 컬렉션에 대한 자세한 내용은 프레임워크 개체 컬렉션을 참조하세요.

예제

WdfCollectionCreate를 사용하는 코드 예제는 WdfCollectionAdd를 참조하세요.

요구 사항

요구 사항
대상 플랫폼 유니버설
최소 KMDF 버전 1.0
최소 UMDF 버전 2.0
머리글 wdfcollection.h(Wdf.h 포함)
라이브러리 Wdf01000.sys(KMDF); WUDFx02000.dll(UMDF)
IRQL <= DISPATCH_LEVEL
DDI 규정 준수 규칙 DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

추가 정보

WDF_OBJECT_ATTRIBUTES

WdfCollection추가

WdfCollectionRemove

WdfDriver만들기