IoSetActivityIdIrp
NTSTATUS __stdcall IoSetActivityIdIrp(_IRP *Irp, _GUID *Guid){
int v4;
_IOP_IRP_EXTENSION *IrpExtension;
v4 = 0;
IrpExtension = IopAllocateIrpExtension(Irp, IopActivityIdType);
if( !IrpExtension )
return -1073741670;
if( Guid )
{
IrpExtension->ActivityId = *Guid;
}
else
{
if( KeGetCurrentThread() == (struct _KTHREAD *)Irp->Tail.Thread )
v4 = EtwActivityIdControl(1ui64, &IrpExtension->ActivityId);
else
v4 = -1073741637;
if( v4 < 0 )
IopFreeIrpExtension(Irp, IopActivityIdType, 1u);
}
return v4;
}Referenced by:
IoMakeAssociatedIrpPriv
IoReuseIrp
IopInitActivityIdIrp