다음을 통해 공유


KsAddItemToObjectBag 함수(ks.h)

KsAddItemToObjectBag 함수는 지정된 개체 모음에 개체 또는 메모리 블록을 추가합니다.

구문

KSDDKAPI NTSTATUS KsAddItemToObjectBag(
  [in]           KSOBJECT_BAG           ObjectBag,
  [in]           __drv_aliasesMem PVOID Item,
  [in, optional] PFNKSFREE              Free
);

매개 변수

[in] ObjectBag

요청된 항목을 추가할 KSOBJECT_BAG(PVOID 형식과 동일)입니다. 모든 AVStream 개체(예: KSFILTERKSPIN)에는 Bag이라는 멤버가 포함됩니다. 이 매개 변수에 해당 멤버를 전달합니다.

[in] Item

개체 모음에 추가할 항목에 대한 포인터입니다.

[in, optional] Free

개체 모음에서 항목을 제거하거나 개체 모음을 삭제할 때 호출되는 함수입니다. 이 함수는 일반적으로 Item과 연결된 동적 메모리를 해제하는 데 사용됩니다. 함수는 다음과 같이 프로토타입화되어야 합니다.

void Free (IN PVOID Data);

호출자가 이 선택적 매개 변수를 지정하지 않으면 개체 모음에서 제거되거나 개체 모음이 삭제될 때 Item이 ExFreePool 로 해제됩니다.

반환 값

추가가 정상적으로 진행되었음을 나타내는 STATUS_SUCCESS 반환하거나 작업을 진행할 시스템 리소스가 충분하지 않음을 나타내는 STATUS_INSUFFICIENT_RESOURCES 반환합니다.

설명

KsAddItemToObjectBag을 호출하기 전에 미니드라이버가 특정 개체 모음과 연결된 뮤텍스를 획득해야 합니다. ObjectBagKSDEVICE 또는 KSFILTERFACTORY의 멤버인 경우 디바이스 뮤텍스를 가져옵니다. 모음이 KSFILTER의 멤버인 경우 필터 컨트롤 뮤텍스를 가져옵니다. bag이 KSPIN 개체의 멤버인 경우 부모 KSFILTER의 필터 컨트롤 뮤텍스를 가져옵니다.

자세한 내용은 AVStream 의 개체 모음뮤텍스를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Microsoft Windows XP 이상 운영 체제 및 DirectX 8.0 이상 DirectX 버전에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 ks.h(Ks.h 포함)
라이브러리 Ks.lib
IRQL PASSIVE_LEVEL

추가 정보

ExFreePool

KsAllocateObjectBag

KsCopyObjectBagItems

KsDiscard

KsFreeObjectBag

KsRemoveItemFromObjectBag

_KsEdit