|
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
|
2 // Use of this source code is governed by a BSD-style license that can be |
|
3 // found in the LICENSE file. |
|
4 |
|
5 #include "sandbox/win/src/sid.h" |
|
6 |
|
7 #include "base/logging.h" |
|
8 |
|
9 namespace sandbox { |
|
10 |
|
11 Sid::Sid(const SID *sid) { |
|
12 ::CopySid(SECURITY_MAX_SID_SIZE, sid_, const_cast<SID*>(sid)); |
|
13 }; |
|
14 |
|
15 Sid::Sid(WELL_KNOWN_SID_TYPE type) { |
|
16 DWORD size_sid = SECURITY_MAX_SID_SIZE; |
|
17 BOOL result = ::CreateWellKnownSid(type, NULL, sid_, &size_sid); |
|
18 DCHECK(result); |
|
19 DBG_UNREFERENCED_LOCAL_VARIABLE(result); |
|
20 } |
|
21 |
|
22 const SID *Sid::GetPSID() const { |
|
23 return reinterpret_cast<SID*>(const_cast<BYTE*>(sid_)); |
|
24 } |
|
25 |
|
26 } // namespace sandbox |