Merge freeldr from amd64 branch:
[reactos.git] / reactos / drivers / ksfilter / ks / bag.c
1 #include "priv.h"
2
3
4 #if 0
5 typedef struct
6 {
7 LIST_ENTRY Entry;
8 PVOID Item;
9 PFNKSFREE Free;
10 LONG ReferenceCount;
11 }KSOBJECT_BAG_ENTRY;
12
13 typedef struct
14 {
15 LIST_ENTRY ListHead;
16 KMUTEX Lock;
17 }KSOBJECT_BAG_IMPL;
18
19 /*
20 @implemented
21 */
22 KSDDKAPI
23 NTSTATUS
24 NTAPI
25 KsAddItemToObjectBag(
26 IN KSOBJECT_BAG ObjectBag,
27 IN PVOID Item,
28 IN PFNKSFREE Free OPTIONAL)
29 {
30 KSOBJECT_BAG_ENTRY * Entry;
31 KSOBJECT_BAG_IMPL * Bag = (KSOBJECT_BAG_IMPL)ObjectBag;
32
33 Entry = ExAllocatePool(NonPagedPool, sizeof(KSOBJECT_BAG_ENTRY));
34 if (!Entry)
35 return STATUS_INSUFFICIENT_RESOURCES;
36
37 Entry->Free = Free;
38 Entry->Item = Item;
39
40 InsertTailList(&Bag->ListHead, &Entry->Entry);
41 return STATUS_SUCCESS;
42 }
43
44 KSDDKAPI
45 ULONG
46 NTAPI
47 KsRemoveItemFromObjectBag(
48 IN KSOBJECT_BAG ObjectBag,
49 IN PVOID Item,
50 IN BOOLEAN Free)
51 {
52 KSOBJECT_BAG_IMPL * Bag = (KSOBJECT_BAG_IMPL)ObjectBag;
53
54
55
56
57 }
58 #endif