NtSubscribeWnfStateChange

NTSTATUS __stdcall NtSubscribeWnfStateChange(
        _WNF_STATE_NAME *StateName,
        UINT64 ChangeStamp,
        UINT64 EventMask,
        UINT64 *SubscriptionId){
  int v5; 
  int v6; 
  _ETHREAD *CurrentThread; 
  NTSTATUS v9; 
  UINT64 v11; 

  v5 = EventMask;
  v6 = ChangeStamp;
  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  --CurrentThread->Tcb.KernelApcDisable;
  v11 = 0i64;
  if( SubscriptionId )
  {
    ProbeForWrite((UINT64)SubscriptionId, 8i64, 1i64);
    *SubscriptionId = 0i64;
  }
  v9 = ExpWnfSubscribeWnfStateChange(
         (UINT64 *)((unsigned __int64)&v11 & -(__int64)(SubscriptionId != 0i64)),
         0i64,
         StateName,
         v6,
         0i64,
         0i64,
         v5,
         1);
  if( v9 >= 0 && SubscriptionId )
    *SubscriptionId = v11;
  KeLeaveCriticalRegionThread(KeGetCurrentThread());
  return v9;
}

Referenced by:

No references.