IopSetDeviceSecurityDescriptors

INT64 __stdcall IopSetDeviceSecurityDescriptors(
        DEVICE_OBJECT *OriginalDeviceObject,
        DEVICE_OBJECT *DeviceObject,
        UINT64 *SecurityInformation,
        PVOID SecurityDescriptor,
        POOL_TYPE PoolType,
        GENERIC_MAPPING *GenericMapping){
  unsigned int v7; 
  DEVICE_OBJECT *v10; 
  NTSTATUS v11; 
  DEVICE_OBJECT *v12; 
  v7 = 0;
  v10 = DeviceObject;
  ObfReferenceObject(DeviceObject);
  do
  {
    v11 = IopSetDeviceSecurityDescriptor(v10, SecurityInformation, SecurityDescriptor, PoolType, GenericMapping);
    v12 = (DEVICE_OBJECT *)*((_QWORD *)v10 + 3);
    if( v10 == OriginalDeviceObject )
      v7 = v11;
    if( v12 )
      ObfReferenceObject(*((PVOID *)v10 + 3));
    HalPutDmaAdapter((PADAPTER_OBJECT)v10);
    v10 = v12;
  }
  while( v12 );
  return v7;
}

Referenced by:

IopGetSetSecurityObject