KSOBJECT_CREATE_ITEM 结构 (ks.h)

KSOBJECT_CREATE_ITEM 结构用于查找传递给创建请求的字符串。

语法

typedef struct {
  PDRIVER_DISPATCH     Create;
  PVOID                Context;
  UNICODE_STRING       ObjectClass;
  PSECURITY_DESCRIPTOR SecurityDescriptor;
  ULONG                Flags;
} KSOBJECT_CREATE_ITEM, *PKSOBJECT_CREATE_ITEM;

成员

Create

包含此特定基对象类的 create dispatch 函数。 有关此函数类型的签名,请参阅 DRIVER_OBJECT

Context

指向可用于存储对象类型特定的上下文信息的缓冲区。 其他信息请参阅下面的“备注”部分。

ObjectClass

指向标识对象类的 Unicode 字符串。 这是用于为此设备支持的特定对象类向 PnP 注册的字符串。

SecurityDescriptor

包含指向此类型对象的 SECURITY_DESCRIPTOR 的指针,否则为 NULL。 如果使用安全性,则必须在不再使用对象类型时释放此值。 这必须使用池内存,并且不能共享,因为它可能会被替换。 如果对此进行了修改,则会更新 Flags 元素。 可选。

Flags

指定请求类型。 标志可以具有下表中列出的值。

标志 描述
KSCREATE_ITEM_SECURITYCHANGED 指示此对象类型上的安全描述符已更改且应保留。
KSCREATE_ITEM_WILDCARD 指示此创建项表示用于与任何其他创建项不匹配的任何创建请求的野生卡。 创建项列表中野生卡条目的顺序无关紧要。 只有单个野生卡项在任何创建项列表中有效。
KSCREATE_ITEM_NOPARAMETERS 指示此创建项不允许传递任何参数,如果找到任何参数,则失败。 通常,创建参数将传递给创建处理程序。 这不能与野生卡标志一起使用。

注解

创建对象之前,指向 KSOBJECT_CREATE_ITEM 结构的指针放置在 Irp-Tail.Overlay>DriverContext 成员中。 可以使用 KSCREATE_ITEM_IRP_STORAGE 宏访问此指针。 此宏和相关宏包含在 ks.h 中。

微型驱动程序可能会在创建新对象以检查 Context 字段时检索此指针。

要求

要求
Header ks.h (包括 Ks.h)

另请参阅

KsAllocateDeviceHeader

KsAllocateObjectHeader

KsFilterFactoryAddCreateItem