update for HEAD-2003050101
[reactos.git] / include / ddk / obtypes.h
index bd55d80..623b4f7 100644 (file)
@@ -62,24 +62,24 @@ typedef struct _OBJECT_TYPE
    * PURPOSE: Dumps the object
    * NOTE: To be defined
    */
-  VOID STDCALL (*Dump)(VOID);
+  VOID STDCALL_FUNC (*Dump)(VOID);
   
   /*
    * PURPOSE: Opens the object
    * NOTE: To be defined
    */
-  VOID STDCALL (*Open)(VOID);
+  VOID STDCALL_FUNC (*Open)(VOID);
   
    /*
     * PURPOSE: Called to close an object if OkayToClose returns true
     */
-  VOID STDCALL (*Close)(PVOID ObjectBody,
+  VOID STDCALL_FUNC (*Close)(PVOID ObjectBody,
                        ULONG HandleCount);
   
   /*
    * PURPOSE: Called to delete an object when the last reference is removed
    */
-  VOID STDCALL (*Delete)(PVOID ObjectBody);
+  VOID STDCALL_FUNC (*Delete)(PVOID ObjectBody);
   
   /*
    * PURPOSE: Called when an open attempts to open a file apparently
@@ -89,34 +89,39 @@ typedef struct _OBJECT_TYPE
    *     STATUS_UNSUCCESSFUL  NextObject not found
    *     STATUS_REPARSE       Path changed, restart parsing the path
    */
-   NTSTATUS STDCALL (*Parse)(PVOID ParsedObject,
+   NTSTATUS STDCALL_FUNC (*Parse)(PVOID ParsedObject,
                             PVOID *NextObject,
                             PUNICODE_STRING FullPath,
                             PWSTR *Path,
                             ULONG Attributes);
-  
-   /*
-    */
-  NTSTATUS STDCALL (*Security)(PVOID Object,
-                              ULONG InfoClass,
-                              PVOID Info,
-                              PULONG InfoLength);
+
+  /*
+   * PURPOSE: Called to set, query, delete or assign a security-descriptor
+   * to the object
+   * RETURNS
+   *     STATUS_SUCCESS       NextObject was found
+   */
+  NTSTATUS STDCALL_FUNC (*Security)(PVOID ObjectBody,
+                                   SECURITY_OPERATION_CODE OperationCode,
+                                   SECURITY_INFORMATION SecurityInformation,
+                                   PSECURITY_DESCRIPTOR SecurityDescriptor,
+                                   PULONG BufferLength);
   
   /*
    */
-  VOID STDCALL (*QueryName)(VOID);
+  VOID STDCALL_FUNC (*QueryName)(VOID);
    
   /*
    * PURPOSE: Called when a process asks to close the object
    */
-  VOID STDCALL (*OkayToClose)(VOID);
+  VOID STDCALL_FUNC (*OkayToClose)(VOID);
   
-  NTSTATUS STDCALL (*Create)(PVOID ObjectBody,
+  NTSTATUS STDCALL_FUNC (*Create)(PVOID ObjectBody,
                             PVOID Parent,
                             PWSTR RemainingPath,
                             struct _OBJECT_ATTRIBUTES* ObjectAttributes);
 
-  VOID STDCALL (*DuplicationNotify)(PEPROCESS DuplicateTo,
+  VOID STDCALL_FUNC (*DuplicationNotify)(PEPROCESS DuplicateTo,
                                    PEPROCESS DuplicateFrom,
                                    PVOID Object);
 } OBJECT_TYPE, *POBJECT_TYPE;