AlpcReserveDestroyProcedure

NTSTATUS __stdcall AlpcReserveDestroyProcedure(PVOID Param){
  ULONG_PTR v1; 
  _ALPC_HANDLE_TABLE *v3; 
  v1 = *((_QWORD *)Param + 3);
  if( v1 )
  {
    AlpcpLockForCachedReferenceBlob(*((PVOID *)Param + 3));
    *(_QWORD *)(v1 + 96) = 0i64;
    *((_QWORD *)Param + 3) = 0i64;
    AlpcpUnlockMessage(v1);
  }
  v3 = (_ALPC_HANDLE_TABLE *)*((_QWORD *)Param + 1);
  if( v3 )
    AlpcDeleteBlobByHandle(v3, *((VOID **)Param + 2), Param);
  if( *(_QWORD *)Param )
  {
    AlpcpRemoveResourcePort(*(_QWORD *)Param, (INT64)Param);
    HalPutDmaAdapter(*(PADAPTER_OBJECT *)Param);
  }
  return 0;
}

Referenced by:

No references.