Столкнулся с проблемой:
Имеется драйвер-минифильтр. При внесении изменений на диск необходимо определять SID исполнителя (инициатора) изменений.
При запросах IRP_MJ_CREATE:
accessToken = SeQuerySubjectContextToken(&Data->Iopb->Parameters.Create.SecurityContext->AccessState->SubjectSecurityContext);
SeQueryInformationToken(accessToken, TokenUser, &userToken);
для IRP_MJ_SET_INFORMATION:
accessToken = PsReferencePrimaryToken(PsGetCurrentProcess());
SeQueryInformationToken(accessToken, TokenUser, &userToken);
Собственно, проблема в том, что при удалении файлов/каталогов по сети, SID исполнителя всегда = System. А как узнать реального?