FsRtlGetNextExtraCreateParameter
NTSTATUS __stdcall FsRtlGetNextExtraCreateParameter(
_ECP_LIST *EcpList,
VOID *CurrentEcpContext,
_GUID *NextEcpType,
VOID **NextEcpContext,
UINT64 *NextEcpContextSize){
_LIST_ENTRY *p_EcpList;
_LIST_ENTRY *Flink;
_LIST_ENTRY **p_Blink;
NTSTATUS v8;
p_EcpList = &EcpList->EcpList;
if( CurrentEcpContext )
Flink = (_LIST_ENTRY *)*((_QWORD *)CurrentEcpContext - 8);
else
Flink = p_EcpList->Flink;
if( Flink == p_EcpList || (p_Blink = &Flink[-1].Blink) == 0i64 )
{
v8 = -1073741275;
if( NextEcpContext )
*NextEcpContext = 0i64;
if( NextEcpContextSize )
*(_DWORD *)NextEcpContextSize = 0;
if( NextEcpType )
*NextEcpType = 0i64;
}
else
{
v8 = 0;
if( NextEcpContext )
*NextEcpContext = p_Blink + 9;
if( NextEcpContextSize )
*(_DWORD *)NextEcpContextSize = *((_DWORD *)p_Blink + 13) - 72;
if( NextEcpType )
*NextEcpType = *(_GUID *)(p_Blink + 3);
}
return v8;
}Referenced by:
No references.