* 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
* 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;