NTSTATUS
SeCaptureObjectTypeList(
  IN  POBJECT_TYPE_LIST ObjectTypeList OPTIONAL,
  IN  ULONG ObjectTypeListLength,
  IN  KPROCESSOR_MODE RequestorMode,
  OUT PIOBJECT_TYPE_LIST *CapturedObjectTypeList
  );

Routine Description:

    This routine probes and captures a copy of any object type list
    that might have been provided via the ObjectTypeList argument.

    The object type list is converted to the internal form that explicitly
    specifies the hierarchical relationship between the entries.

    The object typs list is validated to ensure a valid hierarchical
    relationship is represented.

Arguments:

    ObjectTypeList - The object type list from which the type list
        information is to be retrieved.

    ObjectTypeListLength - Number of elements in ObjectTypeList

    RequestorMode - Indicates the processor mode by which the access
        is being requested.

    CapturedObjectTypeList - Receives the captured type list which
        must be freed using SeFreeCapturedObjectTypeList().

Return Value:

    STATUS_SUCCESS indicates no exceptions were encountered.

    Any access violations encountered will be returned.