ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

audit.c
Go to the documentation of this file.
00001 /* $Id: audit.c 53225 2011-08-14 11:31:23Z akhaldi $
00002  *
00003  * COPYRIGHT:       See COPYING in the top level directory
00004  * PROJECT:         ReactOS system libraries
00005  * FILE:            lib/advapi32/sec/audit.c
00006  * PURPOSE:         Audit functions
00007  * PROGRAMMER:      Eric Kohl
00008  * UPDATE HISTORY:
00009  *                  Created 07/19/2003
00010  */
00011 
00012 /* INCLUDES *****************************************************************/
00013 
00014 #include <advapi32.h>
00015 WINE_DEFAULT_DEBUG_CHANNEL(advapi);
00016 
00017 /* FUNCTIONS ****************************************************************/
00018 
00019 /*
00020  * @implemented
00021  */
00022 BOOL WINAPI
00023 AccessCheckAndAuditAlarmA(LPCSTR SubsystemName,
00024                           LPVOID HandleId,
00025                           LPSTR ObjectTypeName,
00026                           LPSTR ObjectName,
00027                           PSECURITY_DESCRIPTOR SecurityDescriptor,
00028                           DWORD DesiredAccess,
00029                           PGENERIC_MAPPING GenericMapping,
00030                           BOOL ObjectCreation,
00031                           LPDWORD GrantedAccess,
00032                           LPBOOL AccessStatus,
00033                           LPBOOL pfGenerateOnClose)
00034 {
00035     UNICODE_STRING SubsystemNameU;
00036     UNICODE_STRING ObjectTypeNameU;
00037     UNICODE_STRING ObjectNameU;
00038     NTSTATUS LocalAccessStatus;
00039     BOOLEAN GenerateOnClose;
00040     NTSTATUS Status;
00041 
00042     RtlCreateUnicodeStringFromAsciiz(&SubsystemNameU,
00043                                      (PCHAR)SubsystemName);
00044     RtlCreateUnicodeStringFromAsciiz(&ObjectTypeNameU,
00045                                      (PCHAR)ObjectTypeName);
00046     RtlCreateUnicodeStringFromAsciiz(&ObjectNameU,
00047                                      (PCHAR)ObjectName);
00048 
00049     Status = NtAccessCheckAndAuditAlarm(&SubsystemNameU,
00050                                         HandleId,
00051                                         &ObjectTypeNameU,
00052                                         &ObjectNameU,
00053                                         SecurityDescriptor,
00054                                         DesiredAccess,
00055                                         GenericMapping,
00056                                         ObjectCreation,
00057                                         GrantedAccess,
00058                                         &LocalAccessStatus,
00059                                         &GenerateOnClose);
00060     RtlFreeUnicodeString(&SubsystemNameU);
00061     RtlFreeUnicodeString(&ObjectTypeNameU);
00062     RtlFreeUnicodeString(&ObjectNameU);
00063 
00064     *pfGenerateOnClose = (BOOL)GenerateOnClose;
00065 
00066     if (!NT_SUCCESS(Status))
00067     {
00068         SetLastError(RtlNtStatusToDosError(Status));
00069         return FALSE;
00070     }
00071 
00072     if (!NT_SUCCESS (LocalAccessStatus))
00073     {
00074         *AccessStatus = FALSE;
00075         SetLastError(RtlNtStatusToDosError(Status));
00076         return FALSE;
00077     }
00078 
00079     *AccessStatus = TRUE;
00080 
00081     return TRUE;
00082 }
00083 
00084 
00085 /*
00086  * @implemented
00087  */
00088 BOOL WINAPI
00089 AccessCheckAndAuditAlarmW(LPCWSTR SubsystemName,
00090                           LPVOID HandleId,
00091                           LPWSTR ObjectTypeName,
00092                           LPWSTR ObjectName,
00093                           PSECURITY_DESCRIPTOR SecurityDescriptor,
00094                           DWORD DesiredAccess,
00095                           PGENERIC_MAPPING GenericMapping,
00096                           BOOL ObjectCreation,
00097                           LPDWORD GrantedAccess,
00098                           LPBOOL AccessStatus,
00099                           LPBOOL pfGenerateOnClose)
00100 {
00101     UNICODE_STRING SubsystemNameU;
00102     UNICODE_STRING ObjectTypeNameU;
00103     UNICODE_STRING ObjectNameU;
00104     NTSTATUS LocalAccessStatus;
00105     BOOLEAN GenerateOnClose;
00106     NTSTATUS Status;
00107 
00108     RtlInitUnicodeString(&SubsystemNameU,
00109                          (PWSTR)SubsystemName);
00110     RtlInitUnicodeString(&ObjectTypeNameU,
00111                          (PWSTR)ObjectTypeName);
00112     RtlInitUnicodeString(&ObjectNameU,
00113                          (PWSTR)ObjectName);
00114 
00115     Status = NtAccessCheckAndAuditAlarm(&SubsystemNameU,
00116                                         HandleId,
00117                                         &ObjectTypeNameU,
00118                                         &ObjectNameU,
00119                                         SecurityDescriptor,
00120                                         DesiredAccess,
00121                                         GenericMapping,
00122                                         ObjectCreation,
00123                                         GrantedAccess,
00124                                         &LocalAccessStatus,
00125                                         &GenerateOnClose);
00126 
00127     *pfGenerateOnClose = (BOOL)GenerateOnClose;
00128 
00129     if (!NT_SUCCESS(Status))
00130     {
00131         SetLastError(RtlNtStatusToDosError(Status));
00132         return FALSE;
00133     }
00134 
00135     if (!NT_SUCCESS(LocalAccessStatus))
00136     {
00137         *AccessStatus = FALSE;
00138         SetLastError(RtlNtStatusToDosError(Status));
00139         return FALSE;
00140     }
00141 
00142     *AccessStatus = TRUE;
00143 
00144     return TRUE;
00145 }
00146 
00147 
00148 /*
00149  * @implemented
00150  */
00151 BOOL WINAPI
00152 ObjectCloseAuditAlarmA(LPCSTR SubsystemName,
00153                        LPVOID HandleId,
00154                        BOOL GenerateOnClose)
00155 {
00156     UNICODE_STRING Name;
00157     NTSTATUS Status;
00158 
00159     Status = RtlCreateUnicodeStringFromAsciiz(&Name,
00160                                               (PCHAR)SubsystemName);
00161     if (!NT_SUCCESS(Status))
00162     {
00163         SetLastError(RtlNtStatusToDosError(Status));
00164         return FALSE;
00165     }
00166 
00167     Status = NtCloseObjectAuditAlarm(&Name,
00168                                      HandleId,
00169                                      GenerateOnClose);
00170     RtlFreeUnicodeString(&Name);
00171     if (!NT_SUCCESS (Status))
00172     {
00173         SetLastError(RtlNtStatusToDosError(Status));
00174         return FALSE;
00175     }
00176 
00177     return TRUE;
00178 }
00179 
00180 
00181 /*
00182  * @implemented
00183  */
00184 BOOL WINAPI
00185 ObjectCloseAuditAlarmW(LPCWSTR SubsystemName,
00186                        LPVOID HandleId,
00187                        BOOL GenerateOnClose)
00188 {
00189     UNICODE_STRING Name;
00190     NTSTATUS Status;
00191 
00192     RtlInitUnicodeString(&Name,
00193                          (PWSTR)SubsystemName);
00194 
00195     Status = NtCloseObjectAuditAlarm(&Name,
00196                                      HandleId,
00197                                      GenerateOnClose);
00198     if (!NT_SUCCESS(Status))
00199     {
00200         SetLastError(RtlNtStatusToDosError(Status));
00201         return FALSE;
00202     }
00203 
00204     return TRUE;
00205 }
00206 
00207 
00208 /*
00209  * @implemented
00210  */
00211 BOOL WINAPI
00212 ObjectDeleteAuditAlarmA(LPCSTR SubsystemName,
00213                         LPVOID HandleId,
00214                         BOOL GenerateOnClose)
00215 {
00216     UNICODE_STRING Name;
00217     NTSTATUS Status;
00218 
00219     Status = RtlCreateUnicodeStringFromAsciiz(&Name,
00220                                               (PCHAR)SubsystemName);
00221     if (!NT_SUCCESS(Status))
00222     {
00223         SetLastError(RtlNtStatusToDosError(Status));
00224         return FALSE;
00225     }
00226 
00227     Status = NtDeleteObjectAuditAlarm(&Name,
00228                                       HandleId,
00229                                       GenerateOnClose);
00230     RtlFreeUnicodeString(&Name);
00231     if (!NT_SUCCESS(Status))
00232     {
00233         SetLastError(RtlNtStatusToDosError(Status));
00234         return FALSE;
00235     }
00236 
00237     return TRUE;
00238 }
00239 
00240 
00241 /*
00242  * @implemented
00243  */
00244 BOOL WINAPI
00245 ObjectDeleteAuditAlarmW(LPCWSTR SubsystemName,
00246                         LPVOID HandleId,
00247                         BOOL GenerateOnClose)
00248 {
00249     UNICODE_STRING Name;
00250     NTSTATUS Status;
00251 
00252     RtlInitUnicodeString(&Name,
00253                          (PWSTR)SubsystemName);
00254 
00255     Status = NtDeleteObjectAuditAlarm(&Name,
00256                                       HandleId,
00257                                       GenerateOnClose);
00258     if (!NT_SUCCESS(Status))
00259     {
00260         SetLastError(RtlNtStatusToDosError(Status));
00261         return FALSE;
00262     }
00263 
00264     return TRUE;
00265 }
00266 
00267 
00268 /*
00269  * @implemented
00270  */
00271 BOOL WINAPI
00272 ObjectOpenAuditAlarmA(LPCSTR SubsystemName,
00273                       LPVOID HandleId,
00274                       LPSTR ObjectTypeName,
00275                       LPSTR ObjectName,
00276                       PSECURITY_DESCRIPTOR pSecurityDescriptor,
00277                       HANDLE ClientToken,
00278                       DWORD DesiredAccess,
00279                       DWORD GrantedAccess,
00280                       PPRIVILEGE_SET Privileges,
00281                       BOOL ObjectCreation,
00282                       BOOL AccessGranted,
00283                       LPBOOL GenerateOnClose)
00284 {
00285     UNICODE_STRING SubsystemNameU;
00286     UNICODE_STRING ObjectTypeNameU;
00287     UNICODE_STRING ObjectNameU;
00288     NTSTATUS Status;
00289 
00290     RtlCreateUnicodeStringFromAsciiz(&SubsystemNameU,
00291                                      (PCHAR)SubsystemName);
00292     RtlCreateUnicodeStringFromAsciiz(&ObjectTypeNameU,
00293                                      (PCHAR)ObjectTypeName);
00294     RtlCreateUnicodeStringFromAsciiz(&ObjectNameU,
00295                                      (PCHAR)ObjectName);
00296 
00297     Status = NtOpenObjectAuditAlarm(&SubsystemNameU,
00298                                     HandleId,
00299                                     &ObjectTypeNameU,
00300                                     &ObjectNameU,
00301                                     pSecurityDescriptor,
00302                                     ClientToken,
00303                                     DesiredAccess,
00304                                     GrantedAccess,
00305                                     Privileges,
00306                                     ObjectCreation,
00307                                     AccessGranted,
00308                                     (PBOOLEAN)GenerateOnClose);
00309     RtlFreeUnicodeString(&SubsystemNameU);
00310     RtlFreeUnicodeString(&ObjectTypeNameU);
00311     RtlFreeUnicodeString(&ObjectNameU);
00312     if (!NT_SUCCESS(Status))
00313     {
00314         SetLastError(RtlNtStatusToDosError(Status));
00315         return FALSE;
00316     }
00317 
00318     return TRUE;
00319 }
00320 
00321 
00322 /*
00323  * @implemented
00324  */
00325 BOOL WINAPI
00326 ObjectOpenAuditAlarmW(LPCWSTR SubsystemName,
00327                       LPVOID HandleId,
00328                       LPWSTR ObjectTypeName,
00329                       LPWSTR ObjectName,
00330                       PSECURITY_DESCRIPTOR pSecurityDescriptor,
00331                       HANDLE ClientToken,
00332                       DWORD DesiredAccess,
00333                       DWORD GrantedAccess,
00334                       PPRIVILEGE_SET Privileges,
00335                       BOOL ObjectCreation,
00336                       BOOL AccessGranted,
00337                       LPBOOL GenerateOnClose)
00338 {
00339     UNICODE_STRING SubsystemNameU;
00340     UNICODE_STRING ObjectTypeNameU;
00341     UNICODE_STRING ObjectNameU;
00342     NTSTATUS Status;
00343 
00344     RtlInitUnicodeString(&SubsystemNameU,
00345                          (PWSTR)SubsystemName);
00346     RtlInitUnicodeString(&ObjectTypeNameU,
00347                          (PWSTR)ObjectTypeName);
00348     RtlInitUnicodeString(&ObjectNameU,
00349                          (PWSTR)ObjectName);
00350 
00351     Status = NtOpenObjectAuditAlarm(&SubsystemNameU,
00352                                     HandleId,
00353                                     &ObjectTypeNameU,
00354                                     &ObjectNameU,
00355                                     pSecurityDescriptor,
00356                                     ClientToken,
00357                                     DesiredAccess,
00358                                     GrantedAccess,
00359                                     Privileges,
00360                                     ObjectCreation,
00361                                     AccessGranted,
00362                                     (PBOOLEAN)GenerateOnClose);
00363     if (!NT_SUCCESS(Status))
00364     {
00365         SetLastError(RtlNtStatusToDosError(Status));
00366         return FALSE;
00367     }
00368 
00369     return TRUE;
00370 }
00371 
00372 
00373 /*
00374  * @implemented
00375  */
00376 BOOL WINAPI
00377 ObjectPrivilegeAuditAlarmA(LPCSTR SubsystemName,
00378                            LPVOID HandleId,
00379                            HANDLE ClientToken,
00380                            DWORD DesiredAccess,
00381                            PPRIVILEGE_SET Privileges,
00382                            BOOL AccessGranted)
00383 {
00384     UNICODE_STRING SubsystemNameU;
00385     NTSTATUS Status;
00386 
00387     RtlCreateUnicodeStringFromAsciiz(&SubsystemNameU,
00388                                      (PCHAR)SubsystemName);
00389 
00390     Status = NtPrivilegeObjectAuditAlarm(&SubsystemNameU,
00391                                          HandleId,
00392                                          ClientToken,
00393                                          DesiredAccess,
00394                                          Privileges,
00395                                          AccessGranted);
00396     RtlFreeUnicodeString (&SubsystemNameU);
00397     if (!NT_SUCCESS(Status))
00398     {
00399         SetLastError(RtlNtStatusToDosError(Status));
00400         return FALSE;
00401     }
00402 
00403     return TRUE;
00404 }
00405 
00406 
00407 /*
00408  * @implemented
00409  */
00410 BOOL WINAPI
00411 ObjectPrivilegeAuditAlarmW(LPCWSTR SubsystemName,
00412                            LPVOID HandleId,
00413                            HANDLE ClientToken,
00414                            DWORD DesiredAccess,
00415                            PPRIVILEGE_SET Privileges,
00416                            BOOL AccessGranted)
00417 {
00418     UNICODE_STRING SubsystemNameU;
00419     NTSTATUS Status;
00420 
00421     RtlInitUnicodeString(&SubsystemNameU,
00422                          (PWSTR)SubsystemName);
00423 
00424     Status = NtPrivilegeObjectAuditAlarm(&SubsystemNameU,
00425                                          HandleId,
00426                                          ClientToken,
00427                                          DesiredAccess,
00428                                          Privileges,
00429                                          AccessGranted);
00430     if (!NT_SUCCESS(Status))
00431     {
00432         SetLastError(RtlNtStatusToDosError(Status));
00433         return FALSE;
00434     }
00435 
00436     return TRUE;
00437 }
00438 
00439 
00440 /*
00441  * @implemented
00442  */
00443 BOOL WINAPI
00444 PrivilegedServiceAuditAlarmA(LPCSTR SubsystemName,
00445                              LPCSTR ServiceName,
00446                              HANDLE ClientToken,
00447                              PPRIVILEGE_SET Privileges,
00448                              BOOL AccessGranted)
00449 {
00450     UNICODE_STRING SubsystemNameU;
00451     UNICODE_STRING ServiceNameU;
00452     NTSTATUS Status;
00453 
00454     RtlCreateUnicodeStringFromAsciiz(&SubsystemNameU,
00455                                      (PCHAR)SubsystemName);
00456     RtlCreateUnicodeStringFromAsciiz(&ServiceNameU,
00457                                      (PCHAR)ServiceName);
00458 
00459     Status = NtPrivilegedServiceAuditAlarm(&SubsystemNameU,
00460                                            &ServiceNameU,
00461                                            ClientToken,
00462                                            Privileges,
00463                                            AccessGranted);
00464     RtlFreeUnicodeString(&SubsystemNameU);
00465     RtlFreeUnicodeString(&ServiceNameU);
00466     if (!NT_SUCCESS(Status))
00467     {
00468         SetLastError(RtlNtStatusToDosError(Status));
00469         return FALSE;
00470     }
00471 
00472     return TRUE;
00473 }
00474 
00475 
00476 /*
00477  * @implemented
00478  */
00479 BOOL WINAPI
00480 PrivilegedServiceAuditAlarmW(LPCWSTR SubsystemName,
00481                              LPCWSTR ServiceName,
00482                              HANDLE ClientToken,
00483                              PPRIVILEGE_SET Privileges,
00484                              BOOL AccessGranted)
00485 {
00486     UNICODE_STRING SubsystemNameU;
00487     UNICODE_STRING ServiceNameU;
00488     NTSTATUS Status;
00489 
00490     RtlInitUnicodeString(&SubsystemNameU,
00491                          (PWSTR)SubsystemName);
00492     RtlInitUnicodeString(&ServiceNameU,
00493                          (PWSTR)ServiceName);
00494 
00495     Status = NtPrivilegedServiceAuditAlarm(&SubsystemNameU,
00496                                            &ServiceNameU,
00497                                            ClientToken,
00498                                            Privileges,
00499                                            AccessGranted);
00500     if (!NT_SUCCESS(Status))
00501     {
00502         SetLastError(RtlNtStatusToDosError(Status));
00503         return FALSE;
00504     }
00505 
00506     return TRUE;
00507 }
00508 
00509 
00510 /*
00511  * @unimplemented
00512  */
00513 BOOL WINAPI
00514 AccessCheckByTypeResultListAndAuditAlarmByHandleW(IN LPCWSTR SubsystemName,
00515                                                   IN LPVOID HandleId,
00516                                                   IN HANDLE ClientToken,
00517                                                   IN LPCWSTR ObjectTypeName,
00518                                                   IN LPCWSTR ObjectName,
00519                                                   IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
00520                                                   IN PSID PrincipalSelfSid,
00521                                                   IN DWORD DesiredAccess,
00522                                                   IN AUDIT_EVENT_TYPE AuditType,
00523                                                   IN DWORD Flags,
00524                                                   IN POBJECT_TYPE_LIST ObjectTypeList,
00525                                                   IN DWORD ObjectTypeListLength,
00526                                                   IN PGENERIC_MAPPING GenericMapping,
00527                                                   IN BOOL ObjectCreation,
00528                                                   OUT LPDWORD GrantedAccess,
00529                                                   OUT LPDWORD AccessStatusList,
00530                                                   OUT LPBOOL pfGenerateOnClose)
00531 {
00532     FIXME("%s() not implemented!\n", __FUNCTION__);
00533     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
00534     return FALSE;
00535 }
00536 
00537 
00538 /*
00539  * @unimplemented
00540  */
00541 BOOL WINAPI
00542 AccessCheckByTypeResultListAndAuditAlarmByHandleA(IN LPCSTR SubsystemName,
00543                                                   IN LPVOID HandleId,
00544                                                   IN HANDLE ClientToken,
00545                                                   IN LPCSTR ObjectTypeName,
00546                                                   IN LPCSTR ObjectName,
00547                                                   IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
00548                                                   IN PSID PrincipalSelfSid,
00549                                                   IN DWORD DesiredAccess,
00550                                                   IN AUDIT_EVENT_TYPE AuditType,
00551                                                   IN DWORD Flags,
00552                                                   IN POBJECT_TYPE_LIST ObjectTypeList,
00553                                                   IN DWORD ObjectTypeListLength,
00554                                                   IN PGENERIC_MAPPING GenericMapping,
00555                                                   IN BOOL ObjectCreation,
00556                                                   OUT LPDWORD GrantedAccess,
00557                                                   OUT LPDWORD AccessStatusList,
00558                                                   OUT LPBOOL pfGenerateOnClose)
00559 {
00560     FIXME("%s() not implemented!\n", __FUNCTION__);
00561     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
00562     return FALSE;
00563 }
00564 
00565 
00566 /*
00567  * @unimplemented
00568  */
00569 BOOL WINAPI
00570 AccessCheckByTypeResultListAndAuditAlarmW(IN LPCWSTR SubsystemName,
00571                                           IN LPVOID HandleId,
00572                                           IN LPCWSTR ObjectTypeName,
00573                                           IN LPCWSTR ObjectName,
00574                                           IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
00575                                           IN PSID PrincipalSelfSid,
00576                                           IN DWORD DesiredAccess,
00577                                           IN AUDIT_EVENT_TYPE AuditType,
00578                                           IN DWORD Flags,
00579                                           IN POBJECT_TYPE_LIST ObjectTypeList,
00580                                           IN DWORD ObjectTypeListLength,
00581                                           IN PGENERIC_MAPPING GenericMapping,
00582                                           IN BOOL ObjectCreation,
00583                                           OUT LPDWORD GrantedAccess,
00584                                           OUT LPDWORD AccessStatusList,
00585                                           OUT LPBOOL pfGenerateOnClose)
00586 {
00587     FIXME("%s() not implemented!\n", __FUNCTION__);
00588     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
00589     return FALSE;
00590 }
00591 
00592 
00593 /*
00594  * @unimplemented
00595  */
00596 BOOL WINAPI
00597 AccessCheckByTypeResultListAndAuditAlarmA(IN LPCSTR SubsystemName,
00598                                           IN LPVOID HandleId,
00599                                           IN LPCSTR ObjectTypeName,
00600                                           IN LPCSTR ObjectName,
00601                                           IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
00602                                           IN PSID PrincipalSelfSid,
00603                                           IN DWORD DesiredAccess,
00604                                           IN AUDIT_EVENT_TYPE AuditType,
00605                                           IN DWORD Flags,
00606                                           IN POBJECT_TYPE_LIST ObjectTypeList,
00607                                           IN DWORD ObjectTypeListLength,
00608                                           IN PGENERIC_MAPPING GenericMapping,
00609                                           IN BOOL ObjectCreation,
00610                                           OUT LPDWORD GrantedAccess,
00611                                           OUT LPDWORD AccessStatusList,
00612                                           OUT LPBOOL pfGenerateOnClose)
00613 {
00614     FIXME("%s() not implemented!\n", __FUNCTION__);
00615     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
00616     return FALSE;
00617 }
00618 
00619 
00620 /*
00621  * @unimplemented
00622  */
00623 BOOL WINAPI
00624 AccessCheckByTypeAndAuditAlarmW(IN LPCWSTR SubsystemName,
00625                                 IN LPVOID HandleId,
00626                                 IN LPCWSTR ObjectTypeName,
00627                                 IN LPCWSTR ObjectName,
00628                                 IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
00629                                 IN PSID PrincipalSelfSid,
00630                                 IN DWORD DesiredAccess,
00631                                 IN AUDIT_EVENT_TYPE AuditType,
00632                                 IN DWORD Flags,
00633                                 IN POBJECT_TYPE_LIST ObjectTypeList,
00634                                 IN DWORD ObjectTypeListLength,
00635                                 IN PGENERIC_MAPPING GenericMapping,
00636                                 IN BOOL ObjectCreation,
00637                                 OUT LPDWORD GrantedAccess,
00638                                 OUT LPBOOL AccessStatus,
00639                                 OUT LPBOOL pfGenerateOnClose)
00640 {
00641     FIXME("%s() not implemented!\n", __FUNCTION__);
00642     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
00643     return FALSE;
00644 }
00645 
00646 
00647 /*
00648  * @unimplemented
00649  */
00650 BOOL WINAPI
00651 AccessCheckByTypeAndAuditAlarmA(IN LPCSTR SubsystemName,
00652                                 IN LPVOID HandleId,
00653                                 IN LPCSTR ObjectTypeName,
00654                                 IN LPCSTR ObjectName,
00655                                 IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
00656                                 IN PSID PrincipalSelfSid,
00657                                 IN DWORD DesiredAccess,
00658                                 IN AUDIT_EVENT_TYPE AuditType,
00659                                 IN DWORD Flags,
00660                                 IN POBJECT_TYPE_LIST ObjectTypeList,
00661                                 IN DWORD ObjectTypeListLength,
00662                                 IN PGENERIC_MAPPING GenericMapping,
00663                                 IN BOOL ObjectCreation,
00664                                 OUT LPDWORD GrantedAccess,
00665                                 OUT LPBOOL AccessStatus,
00666                                 OUT LPBOOL pfGenerateOnClose)
00667 {
00668     FIXME("%s() not implemented!\n", __FUNCTION__);
00669     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
00670     return FALSE;
00671 }
00672 
00673 /* EOF */

Generated on Sun May 27 2012 04:22:41 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.