CcUnpinData
VOID __stdcall CcUnpinData(VOID *Bcb){
void *v1;
UINT8 v2;
VOID *v3;
char *i;
v1 = Bcb;
if( ((unsigned __int8)Bcb & 1) != 0 )
{
v2 = 1;
Bcb = (VOID *)((unsigned __int64)Bcb & 0xFFFFFFFFFFFFFFFEui64);
LABEL_3:
CcUnpinFileDataEx(Bcb, v2, UNPIN);
return;
}
if( *(_WORD *)Bcb != 762 )
{
v2 = 0;
goto LABEL_3;
}
v3 = (VOID *)*((_QWORD *)Bcb + 2);
for( i = (char *)Bcb + 16; v3; i += 8 )
{
CcUnpinData(v3);
v3 = (VOID *)*((_QWORD *)i + 1);
}
ExFreePoolWithTag(v1, 0);
}Referenced by:
CcPinMappedData
CcPinRead
CcPreparePinWrite
CcUnpinData
CcUnpinDataForThread