Ignore:
Timestamp:
Dec 18, 1999, 9:01:14 PM (26 years ago)
Author:
sandervl
Message:

Partially implemented some Token & SID apis

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/NTDLL/nt.cpp

    r97 r2122  
    1 /* $Id: nt.cpp,v 1.2 1999-06-10 17:06:45 phaller Exp $ */
     1/* $Id: nt.cpp,v 1.3 1999-12-18 20:01:13 sandervl Exp $ */
    22
    33
     
    331331  {
    332332    case TokenGroups:                    /* 2 */
    333       *ReturnLength = sizeof (TOKEN_GROUPS);
     333        *ReturnLength = sizeof (TOKEN_GROUPS);
     334        if(TokenInformationLength < sizeof (TOKEN_GROUPS)) {
     335                return STATUS_BUFFER_TOO_SMALL;
     336        }
     337        memset(TokenInformation, 0, sizeof(TOKEN_GROUPS));
     338        break;
     339    case TokenUser:                     /* 1 */
     340        *ReturnLength = sizeof (TOKEN_USER);
     341        if(TokenInformationLength < sizeof (TOKEN_USER)) {
     342                return STATUS_BUFFER_TOO_SMALL;
     343        }
     344        memset(TokenInformation, 0, sizeof(TOKEN_USER));
     345        break;
     346    case TokenPrivileges:
     347        *ReturnLength = sizeof (TOKEN_PRIVILEGES);
     348        if(TokenInformationLength < sizeof (TOKEN_PRIVILEGES)) {
     349                return STATUS_BUFFER_TOO_SMALL;
     350        }
     351        memset(TokenInformation, 0, sizeof(TOKEN_PRIVILEGES));
     352        break;
     353    case TokenOwner:
     354        *ReturnLength = sizeof (TOKEN_OWNER);
     355        if(TokenInformationLength < sizeof (TOKEN_OWNER)) {
     356                return STATUS_BUFFER_TOO_SMALL;
     357        }
     358        memset(TokenInformation, 0, sizeof(TOKEN_OWNER));
     359        break;
     360    case TokenPrimaryGroup:
     361        *ReturnLength = sizeof (TOKEN_PRIMARY_GROUP);
     362        if(TokenInformationLength < sizeof (TOKEN_PRIMARY_GROUP)) {
     363                return STATUS_BUFFER_TOO_SMALL;
     364        }
     365        memset(TokenInformation, 0, sizeof(TOKEN_PRIMARY_GROUP));
     366        break;
     367    case TokenDefaultDacl:
     368        *ReturnLength = sizeof (TOKEN_DEFAULT_DACL);
     369        if(TokenInformationLength < sizeof (TOKEN_DEFAULT_DACL)) {
     370                return STATUS_BUFFER_TOO_SMALL;
     371        }
     372        memset(TokenInformation, 0, sizeof(TOKEN_DEFAULT_DACL));
     373        break;
     374    case TokenSource:
     375        *ReturnLength = sizeof (TOKEN_SOURCE);
     376        if(TokenInformationLength < sizeof (TOKEN_SOURCE)) {
     377                return STATUS_BUFFER_TOO_SMALL;
     378        }
     379        memset(TokenInformation, 0, sizeof(TOKEN_SOURCE));
     380        break;
     381    case TokenType:
     382        *ReturnLength = sizeof (TOKEN_TYPE);
     383        if(TokenInformationLength < sizeof (TOKEN_TYPE)) {
     384                return STATUS_BUFFER_TOO_SMALL;
     385        }
     386        memset(TokenInformation, 0, sizeof(TOKEN_TYPE));
     387        break;
    334388#if 0
    335     case TokenUser:                     /* 1 */
    336     case TokenPrivileges:
    337     case TokenOwner:
    338     case TokenPrimaryGroup:
    339     case TokenDefaultDacl:
    340     case TokenSource:
    341     case TokenType:
    342389    case TokenImpersonationLevel:
    343390    case TokenStatistics:
     
    345392  }
    346393
    347   return 0;
     394  return STATUS_SUCCESS;
    348395}
    349396
Note: See TracChangeset for help on using the changeset viewer.