KSOBJECT_CREATE_ITEM structure (ks.h)
The KSOBJECT_CREATE_ITEM structure is used to look up the string passed to a create request.
Syntax
typedef struct {
PDRIVER_DISPATCH Create;
PVOID Context;
UNICODE_STRING ObjectClass;
PSECURITY_DESCRIPTOR SecurityDescriptor;
ULONG Flags;
} KSOBJECT_CREATE_ITEM, *PKSOBJECT_CREATE_ITEM;
Members
Create
Contains the create dispatch function for this particular base object class. See DRIVER_OBJECT for the signature of this function type.
Context
Points to a buffer that can be used to store object type-specific context information. Additional information is in the Remarks section below.
ObjectClass
Points to a Unicode string that identifies the object class. This is the string that was used to register with PnP for a particular class of object supported by this device.
SecurityDescriptor
Contains a pointer to a SECURITY_DESCRIPTOR for this type of object, otherwise NULL. If security is used, this must be freed when the object type is no longer used. This must use pool memory, and cannot be shared, as it may be replaced. If this is modified, the Flags element is updated. Optional.
Flags
Specifies the request type. Flags can have the values listed in the following table.
Flag | Description |
---|---|
KSCREATE_ITEM_SECURITYCHANGED | Indicates that the security descriptor on this object type has been changed and should be persisted. |
KSCREATE_ITEM_WILDCARD | Indicates that this create item represents a wild card that is used for any create requests that do not match any other create items. The ordering of the wild card entry in the list of create items is irrelevant. Only a single wild card entry is valid on any list of create items. |
KSCREATE_ITEM_NOPARAMETERS | Indicates that this create item does not allow any parameters to be passed, and fails if any are found. Normally, create parameters are passed on to the create handler. This cannot be used with a wild card flag. |
Remarks
A pointer to the KSOBJECT_CREATE_ITEM structure is placed in the DriverContext member of Irp->Tail.Overlay before the object is created. You can access this pointer by using the KSCREATE_ITEM_IRP_STORAGE macro. This macro and related macros are included in ks.h.
The minidriver might retrieve this pointer when creating a new object to examine the Context field.
Requirements
Requirement | Value |
---|---|
Header | ks.h (include Ks.h) |