IoSetActivityIdIrp
NTSTATUS __stdcall IoSetActivityIdIrp(_IRP *Irp, _GUID *Guid){
int v4;
CHAR *IrpExtension;
v4 = 0;
IrpExtension = IopAllocateIrpExtension((INT64)Irp, 0i64);
if( !IrpExtension )
return -1073741670;
if( Guid )
{
*(_GUID *)(IrpExtension + 24) = *Guid;
}
else
{
if( KeGetCurrentThread() == *((struct _KTHREAD **)Irp + 19) )
v4 = EtwActivityIdControl(1u, (LPGUID)(IrpExtension + 24));
else
v4 = -1073741637;
if( v4 < 0 )
IopFreeIrpExtension((__int64)Irp, 0, 1);
}
return v4;
}Referenced by:
IoMakeAssociatedIrpPriv
IoReuseIrp
IopInitActivityIdIrp