mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-30 04:13:33 +00:00
- SVN maintenance (set eol-style to native)
svn path=/trunk/; revision=21808
This commit is contained in:
+484
-484
@@ -1,484 +1,484 @@
|
||||
/*++ NDK Version: 0095
|
||||
|
||||
Copyright (c) Alex Ionescu. All rights reserved.
|
||||
|
||||
Header Name:
|
||||
|
||||
cmfuncs.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Function definitions for the Configuration Manager.
|
||||
|
||||
Author:
|
||||
|
||||
Alex Ionescu ([email protected]) 06-Oct-2004
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _CMFUNCS_H
|
||||
#define _CMFUNCS_H
|
||||
|
||||
//
|
||||
// Dependencies
|
||||
//
|
||||
#include <umtypes.h>
|
||||
|
||||
//
|
||||
// Native calls
|
||||
//
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCreateKey(
|
||||
OUT PHANDLE KeyHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN ULONG TitleIndex,
|
||||
IN PUNICODE_STRING Class OPTIONAL,
|
||||
IN ULONG CreateOptions,
|
||||
IN PULONG Disposition OPTIONAL
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtDeleteKey(
|
||||
IN HANDLE KeyHandle
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtDeleteValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN PUNICODE_STRING ValueName
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtEnumerateKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN ULONG Index,
|
||||
IN KEY_INFORMATION_CLASS KeyInformationClass,
|
||||
OUT PVOID KeyInformation,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ResultLength
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtEnumerateValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN ULONG Index,
|
||||
IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
|
||||
OUT PVOID KeyValueInformation,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ResultLength
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtFlushKey(
|
||||
IN HANDLE KeyHandle
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtGetPlugPlayEvent(
|
||||
IN ULONG Reserved1,
|
||||
IN ULONG Reserved2,
|
||||
OUT PPLUGPLAY_EVENT_BLOCK Buffer,
|
||||
IN ULONG BufferSize
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtInitializeRegistry(
|
||||
BOOLEAN SetUpBoot
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtLoadKey(
|
||||
IN POBJECT_ATTRIBUTES KeyObjectAttributes,
|
||||
IN POBJECT_ATTRIBUTES FileObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtLoadKey2(
|
||||
IN POBJECT_ATTRIBUTES KeyObjectAttributes,
|
||||
IN POBJECT_ATTRIBUTES FileObjectAttributes,
|
||||
IN ULONG Flags
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtNotifyChangeKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE Event,
|
||||
IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
|
||||
IN PVOID ApcContext OPTIONAL,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN ULONG CompletionFilter,
|
||||
IN BOOLEAN Asynchroneous,
|
||||
OUT PVOID ChangeBuffer,
|
||||
IN ULONG Length,
|
||||
IN BOOLEAN WatchSubtree
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtOpenKey(
|
||||
OUT PHANDLE KeyHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtPlugPlayControl(
|
||||
IN PLUGPLAY_CONTROL_CLASS PlugPlayControlClass,
|
||||
IN OUT PVOID Buffer,
|
||||
IN ULONG BufferSize
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtQueryKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN KEY_INFORMATION_CLASS KeyInformationClass,
|
||||
OUT PVOID KeyInformation,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ResultLength
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtQueryMultipleValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN OUT PKEY_VALUE_ENTRY ValueList,
|
||||
IN ULONG NumberOfValues,
|
||||
OUT PVOID Buffer,
|
||||
IN OUT PULONG Length,
|
||||
OUT PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtQueryValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN PUNICODE_STRING ValueName,
|
||||
IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
|
||||
OUT PVOID KeyValueInformation,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ResultLength
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtReplaceKey(
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN HANDLE Key,
|
||||
IN POBJECT_ATTRIBUTES ReplacedObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtRestoreKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE FileHandle,
|
||||
IN ULONG RestoreFlags
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSaveKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE FileHandle
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSaveKeyEx(
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE FileHandle,
|
||||
IN ULONG Flags
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSetInformationKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN KEY_SET_INFORMATION_CLASS KeyInformationClass,
|
||||
IN PVOID KeyInformation,
|
||||
IN ULONG KeyInformationLength
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSetValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN PUNICODE_STRING ValueName,
|
||||
IN ULONG TitleIndex OPTIONAL,
|
||||
IN ULONG Type,
|
||||
IN PVOID Data,
|
||||
IN ULONG DataSize
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtUnloadKey(
|
||||
IN POBJECT_ATTRIBUTES KeyObjectAttributes
|
||||
);
|
||||
|
||||
#ifdef NTOS_MODE_USER
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCreateKey(
|
||||
OUT PHANDLE KeyHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN ULONG TitleIndex,
|
||||
IN PUNICODE_STRING Class OPTIONAL,
|
||||
IN ULONG CreateOptions,
|
||||
IN PULONG Disposition OPTIONAL
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwDeleteKey(
|
||||
IN HANDLE KeyHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwDeleteValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN PUNICODE_STRING ValueName
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwEnumerateKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN ULONG Index,
|
||||
IN KEY_INFORMATION_CLASS KeyInformationClass,
|
||||
OUT PVOID KeyInformation,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ResultLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwEnumerateValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN ULONG Index,
|
||||
IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
|
||||
OUT PVOID KeyValueInformation,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ResultLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwFlushKey(
|
||||
IN HANDLE KeyHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwGetPlugPlayEvent(
|
||||
IN ULONG Reserved1,
|
||||
IN ULONG Reserved2,
|
||||
OUT PPLUGPLAY_EVENT_BLOCK Buffer,
|
||||
IN ULONG BufferSize
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwInitializeRegistry(
|
||||
BOOLEAN SetUpBoot
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwLoadKey(
|
||||
IN POBJECT_ATTRIBUTES KeyObjectAttributes,
|
||||
IN POBJECT_ATTRIBUTES FileObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwLoadKey2(
|
||||
IN POBJECT_ATTRIBUTES KeyObjectAttributes,
|
||||
IN POBJECT_ATTRIBUTES FileObjectAttributes,
|
||||
IN ULONG Flags
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwNotifyChangeKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE Event,
|
||||
IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
|
||||
IN PVOID ApcContext OPTIONAL,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN ULONG CompletionFilter,
|
||||
IN BOOLEAN Asynchroneous,
|
||||
OUT PVOID ChangeBuffer,
|
||||
IN ULONG Length,
|
||||
IN BOOLEAN WatchSubtree
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwOpenKey(
|
||||
OUT PHANDLE KeyHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwPlugPlayControl(
|
||||
IN PLUGPLAY_CONTROL_CLASS PlugPlayControlClass,
|
||||
IN OUT PVOID Buffer,
|
||||
IN ULONG BufferSize
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN KEY_INFORMATION_CLASS KeyInformationClass,
|
||||
OUT PVOID KeyInformation,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ResultLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryMultipleValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN OUT PKEY_VALUE_ENTRY ValueList,
|
||||
IN ULONG NumberOfValues,
|
||||
OUT PVOID Buffer,
|
||||
IN OUT PULONG Length,
|
||||
OUT PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN PUNICODE_STRING ValueName,
|
||||
IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
|
||||
OUT PVOID KeyValueInformation,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ResultLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwReplaceKey(
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN HANDLE Key,
|
||||
IN POBJECT_ATTRIBUTES ReplacedObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwRestoreKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE FileHandle,
|
||||
IN ULONG RestoreFlags
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSaveKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE FileHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSaveKeyEx(
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE FileHandle,
|
||||
IN ULONG Flags
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetInformationKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN KEY_SET_INFORMATION_CLASS KeyInformationClass,
|
||||
IN PVOID KeyInformation,
|
||||
IN ULONG KeyInformationLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN PUNICODE_STRING ValueName,
|
||||
IN ULONG TitleIndex OPTIONAL,
|
||||
IN ULONG Type,
|
||||
IN PVOID Data,
|
||||
IN ULONG DataSize
|
||||
);
|
||||
#endif
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwUnloadKey(
|
||||
IN POBJECT_ATTRIBUTES KeyObjectAttributes
|
||||
);
|
||||
|
||||
#endif
|
||||
/*++ NDK Version: 0095
|
||||
|
||||
Copyright (c) Alex Ionescu. All rights reserved.
|
||||
|
||||
Header Name:
|
||||
|
||||
cmfuncs.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Function definitions for the Configuration Manager.
|
||||
|
||||
Author:
|
||||
|
||||
Alex Ionescu ([email protected]) 06-Oct-2004
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _CMFUNCS_H
|
||||
#define _CMFUNCS_H
|
||||
|
||||
//
|
||||
// Dependencies
|
||||
//
|
||||
#include <umtypes.h>
|
||||
|
||||
//
|
||||
// Native calls
|
||||
//
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCreateKey(
|
||||
OUT PHANDLE KeyHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN ULONG TitleIndex,
|
||||
IN PUNICODE_STRING Class OPTIONAL,
|
||||
IN ULONG CreateOptions,
|
||||
IN PULONG Disposition OPTIONAL
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtDeleteKey(
|
||||
IN HANDLE KeyHandle
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtDeleteValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN PUNICODE_STRING ValueName
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtEnumerateKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN ULONG Index,
|
||||
IN KEY_INFORMATION_CLASS KeyInformationClass,
|
||||
OUT PVOID KeyInformation,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ResultLength
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtEnumerateValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN ULONG Index,
|
||||
IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
|
||||
OUT PVOID KeyValueInformation,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ResultLength
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtFlushKey(
|
||||
IN HANDLE KeyHandle
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtGetPlugPlayEvent(
|
||||
IN ULONG Reserved1,
|
||||
IN ULONG Reserved2,
|
||||
OUT PPLUGPLAY_EVENT_BLOCK Buffer,
|
||||
IN ULONG BufferSize
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtInitializeRegistry(
|
||||
BOOLEAN SetUpBoot
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtLoadKey(
|
||||
IN POBJECT_ATTRIBUTES KeyObjectAttributes,
|
||||
IN POBJECT_ATTRIBUTES FileObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtLoadKey2(
|
||||
IN POBJECT_ATTRIBUTES KeyObjectAttributes,
|
||||
IN POBJECT_ATTRIBUTES FileObjectAttributes,
|
||||
IN ULONG Flags
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtNotifyChangeKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE Event,
|
||||
IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
|
||||
IN PVOID ApcContext OPTIONAL,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN ULONG CompletionFilter,
|
||||
IN BOOLEAN Asynchroneous,
|
||||
OUT PVOID ChangeBuffer,
|
||||
IN ULONG Length,
|
||||
IN BOOLEAN WatchSubtree
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtOpenKey(
|
||||
OUT PHANDLE KeyHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtPlugPlayControl(
|
||||
IN PLUGPLAY_CONTROL_CLASS PlugPlayControlClass,
|
||||
IN OUT PVOID Buffer,
|
||||
IN ULONG BufferSize
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtQueryKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN KEY_INFORMATION_CLASS KeyInformationClass,
|
||||
OUT PVOID KeyInformation,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ResultLength
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtQueryMultipleValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN OUT PKEY_VALUE_ENTRY ValueList,
|
||||
IN ULONG NumberOfValues,
|
||||
OUT PVOID Buffer,
|
||||
IN OUT PULONG Length,
|
||||
OUT PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtQueryValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN PUNICODE_STRING ValueName,
|
||||
IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
|
||||
OUT PVOID KeyValueInformation,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ResultLength
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtReplaceKey(
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN HANDLE Key,
|
||||
IN POBJECT_ATTRIBUTES ReplacedObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtRestoreKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE FileHandle,
|
||||
IN ULONG RestoreFlags
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSaveKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE FileHandle
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSaveKeyEx(
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE FileHandle,
|
||||
IN ULONG Flags
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSetInformationKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN KEY_SET_INFORMATION_CLASS KeyInformationClass,
|
||||
IN PVOID KeyInformation,
|
||||
IN ULONG KeyInformationLength
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSetValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN PUNICODE_STRING ValueName,
|
||||
IN ULONG TitleIndex OPTIONAL,
|
||||
IN ULONG Type,
|
||||
IN PVOID Data,
|
||||
IN ULONG DataSize
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtUnloadKey(
|
||||
IN POBJECT_ATTRIBUTES KeyObjectAttributes
|
||||
);
|
||||
|
||||
#ifdef NTOS_MODE_USER
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCreateKey(
|
||||
OUT PHANDLE KeyHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN ULONG TitleIndex,
|
||||
IN PUNICODE_STRING Class OPTIONAL,
|
||||
IN ULONG CreateOptions,
|
||||
IN PULONG Disposition OPTIONAL
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwDeleteKey(
|
||||
IN HANDLE KeyHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwDeleteValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN PUNICODE_STRING ValueName
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwEnumerateKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN ULONG Index,
|
||||
IN KEY_INFORMATION_CLASS KeyInformationClass,
|
||||
OUT PVOID KeyInformation,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ResultLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwEnumerateValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN ULONG Index,
|
||||
IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
|
||||
OUT PVOID KeyValueInformation,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ResultLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwFlushKey(
|
||||
IN HANDLE KeyHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwGetPlugPlayEvent(
|
||||
IN ULONG Reserved1,
|
||||
IN ULONG Reserved2,
|
||||
OUT PPLUGPLAY_EVENT_BLOCK Buffer,
|
||||
IN ULONG BufferSize
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwInitializeRegistry(
|
||||
BOOLEAN SetUpBoot
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwLoadKey(
|
||||
IN POBJECT_ATTRIBUTES KeyObjectAttributes,
|
||||
IN POBJECT_ATTRIBUTES FileObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwLoadKey2(
|
||||
IN POBJECT_ATTRIBUTES KeyObjectAttributes,
|
||||
IN POBJECT_ATTRIBUTES FileObjectAttributes,
|
||||
IN ULONG Flags
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwNotifyChangeKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE Event,
|
||||
IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
|
||||
IN PVOID ApcContext OPTIONAL,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN ULONG CompletionFilter,
|
||||
IN BOOLEAN Asynchroneous,
|
||||
OUT PVOID ChangeBuffer,
|
||||
IN ULONG Length,
|
||||
IN BOOLEAN WatchSubtree
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwOpenKey(
|
||||
OUT PHANDLE KeyHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwPlugPlayControl(
|
||||
IN PLUGPLAY_CONTROL_CLASS PlugPlayControlClass,
|
||||
IN OUT PVOID Buffer,
|
||||
IN ULONG BufferSize
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN KEY_INFORMATION_CLASS KeyInformationClass,
|
||||
OUT PVOID KeyInformation,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ResultLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryMultipleValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN OUT PKEY_VALUE_ENTRY ValueList,
|
||||
IN ULONG NumberOfValues,
|
||||
OUT PVOID Buffer,
|
||||
IN OUT PULONG Length,
|
||||
OUT PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN PUNICODE_STRING ValueName,
|
||||
IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
|
||||
OUT PVOID KeyValueInformation,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ResultLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwReplaceKey(
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN HANDLE Key,
|
||||
IN POBJECT_ATTRIBUTES ReplacedObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwRestoreKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE FileHandle,
|
||||
IN ULONG RestoreFlags
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSaveKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE FileHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSaveKeyEx(
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE FileHandle,
|
||||
IN ULONG Flags
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetInformationKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN KEY_SET_INFORMATION_CLASS KeyInformationClass,
|
||||
IN PVOID KeyInformation,
|
||||
IN ULONG KeyInformationLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN PUNICODE_STRING ValueName,
|
||||
IN ULONG TitleIndex OPTIONAL,
|
||||
IN ULONG Type,
|
||||
IN PVOID Data,
|
||||
IN ULONG DataSize
|
||||
);
|
||||
#endif
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwUnloadKey(
|
||||
IN POBJECT_ATTRIBUTES KeyObjectAttributes
|
||||
);
|
||||
|
||||
#endif
|
||||
|
||||
+501
-501
File diff suppressed because it is too large
Load Diff
@@ -1,87 +1,87 @@
|
||||
/*++ NDK Version: 0095
|
||||
|
||||
Copyright (c) Alex Ionescu. All rights reserved.
|
||||
|
||||
Header Name:
|
||||
|
||||
dbgkfuncs.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Function definitions for the User Mode Debugging Facility.
|
||||
|
||||
Author:
|
||||
|
||||
Alex Ionescu ([email protected]) 06-Oct-2004
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _DBGKFUNCS_H
|
||||
#define _DBGKFUNCS_H
|
||||
|
||||
//
|
||||
// Dependencies
|
||||
//
|
||||
#include <umtypes.h>
|
||||
|
||||
//
|
||||
// Native calls
|
||||
//
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCreateDebugObject(
|
||||
OUT PHANDLE DebugHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN BOOLEAN KillProcessOnExit
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtDebugContinue(
|
||||
IN HANDLE DebugObject,
|
||||
IN PCLIENT_ID AppClientId,
|
||||
IN NTSTATUS ContinueStatus
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtWaitForDebugEvent(
|
||||
IN HANDLE DebugObject,
|
||||
IN BOOLEAN Alertable,
|
||||
IN PLARGE_INTEGER Timeout OPTIONAL,
|
||||
OUT PDBGUI_WAIT_STATE_CHANGE StateChange
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCreateDebugObject(
|
||||
OUT PHANDLE DebugHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN BOOLEAN KillProcessOnExit
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwDebugContinue(
|
||||
IN HANDLE DebugObject,
|
||||
IN PCLIENT_ID AppClientId,
|
||||
IN NTSTATUS ContinueStatus
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwWaitForDebugEvent(
|
||||
IN HANDLE DebugObject,
|
||||
IN BOOLEAN Alertable,
|
||||
IN PLARGE_INTEGER Timeout OPTIONAL,
|
||||
OUT PDBGUI_WAIT_STATE_CHANGE StateChange
|
||||
);
|
||||
#endif
|
||||
/*++ NDK Version: 0095
|
||||
|
||||
Copyright (c) Alex Ionescu. All rights reserved.
|
||||
|
||||
Header Name:
|
||||
|
||||
dbgkfuncs.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Function definitions for the User Mode Debugging Facility.
|
||||
|
||||
Author:
|
||||
|
||||
Alex Ionescu ([email protected]) 06-Oct-2004
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _DBGKFUNCS_H
|
||||
#define _DBGKFUNCS_H
|
||||
|
||||
//
|
||||
// Dependencies
|
||||
//
|
||||
#include <umtypes.h>
|
||||
|
||||
//
|
||||
// Native calls
|
||||
//
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCreateDebugObject(
|
||||
OUT PHANDLE DebugHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN BOOLEAN KillProcessOnExit
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtDebugContinue(
|
||||
IN HANDLE DebugObject,
|
||||
IN PCLIENT_ID AppClientId,
|
||||
IN NTSTATUS ContinueStatus
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtWaitForDebugEvent(
|
||||
IN HANDLE DebugObject,
|
||||
IN BOOLEAN Alertable,
|
||||
IN PLARGE_INTEGER Timeout OPTIONAL,
|
||||
OUT PDBGUI_WAIT_STATE_CHANGE StateChange
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCreateDebugObject(
|
||||
OUT PHANDLE DebugHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN BOOLEAN KillProcessOnExit
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwDebugContinue(
|
||||
IN HANDLE DebugObject,
|
||||
IN PCLIENT_ID AppClientId,
|
||||
IN NTSTATUS ContinueStatus
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwWaitForDebugEvent(
|
||||
IN HANDLE DebugObject,
|
||||
IN BOOLEAN Alertable,
|
||||
IN PLARGE_INTEGER Timeout OPTIONAL,
|
||||
OUT PDBGUI_WAIT_STATE_CHANGE StateChange
|
||||
);
|
||||
#endif
|
||||
|
||||
+931
-931
File diff suppressed because it is too large
Load Diff
@@ -1,88 +1,88 @@
|
||||
List of ReactOS Applications compiling with the NDK
|
||||
(verify, fix, and optimize their usage)
|
||||
--------------------------------------------------------------
|
||||
|
||||
apps\utils\ps\ps.c: #include <ndk/ntndk.h>
|
||||
drivers\dd\blue\blue.c: #include <ndk/halfuncs.h>
|
||||
drivers\dd\bootvid\bootvid.c: #include <ndk/ldrfuncs.h>
|
||||
drivers\storage\diskdump\diskdump.c: #include <ndk/extypes.h>
|
||||
drivers\storage\diskdump\diskdump.c: #include <ndk/rtlfuncs.h>
|
||||
hal\hal\hal.c: #include <ndk/halfuncs.h>
|
||||
hal\hal\hal.c: #include <ndk/kdfuncs.h>
|
||||
lib\crt\except\unwind.c: #include <ndk/umtypes.h>
|
||||
lib\crt\except\unwind.c: #include <ndk/extypes.h>
|
||||
lib\crt\except\unwind.c: #include <ndk/rtlfuncs.h>
|
||||
lib\dnsapi\dnsapi\stubs.c: #include <ndk/ntndk.h>
|
||||
lib\epsapi\enum\drivers.c: #include <ndk/ntndk.h>
|
||||
lib\epsapi\enum\modules.c: #include <ndk/ntndk.h>
|
||||
lib\epsapi\enum\processes.c: #include <ndk/ntndk.h>
|
||||
lib\lsasrv\lsaport.c: #include <ndk/ntndk.h>
|
||||
lib\lsasrv\lsasrv.c: #include <ndk/ntndk.h>
|
||||
lib\nt\entry_point.c: #include <ndk/ntndk.h>
|
||||
lib\samlib\samlib.c: #include <ndk/ntndk.h>
|
||||
lib\samsrv\samsrv.c: #include <ndk/ntndk.h>
|
||||
lib\smdll\query.c: #include <ndk/ntndk.h>
|
||||
lib\string\mbstowcs.c: #include <ndk/umtypes.h>
|
||||
lib\string\mbstowcs.c: #include <ndk/rtlfuncs.h>
|
||||
lib\string\sscanf.c: #include <ndk/umtypes.h>
|
||||
lib\string\sscanf.c: #include <ndk/rtlfuncs.h>
|
||||
lib\string\wcstombs.c: #include <ndk/umtypes.h>
|
||||
lib\string\wcstombs.c: #include <ndk/rtlfuncs.h>
|
||||
lib\syssetup\install.c: #include <ndk/ntndk.h>
|
||||
lib\syssetup\logfile.c: #include <ndk/ntndk.h>
|
||||
lib\wdmguid\wdmguid.c: #include <ndk/sysguid.h>
|
||||
regtests\shared\regtests.c: #include <ndk/ntndk.h>
|
||||
services\umpnpmgr\umpnpmgr.c: #include <ndk/ntndk.h>
|
||||
subsys\ntvdm\ntvdm.c: #include <ndk/ntndk.h>
|
||||
subsys\system\autochk\autochk.c: #include <ndk/ntndk.h>
|
||||
subsys\system\lsass\lsass.c: #include <ndk/ntndk.h>
|
||||
subsys\system\setup\setup.c: #include <ndk/ntndk.h>
|
||||
subsys\system\sm\sm.c: #include <ndk/ntndk.h>
|
||||
boot\freeldr\freeldr\include\freeldr.h: #include <ndk/ntndk.h>
|
||||
drivers\fs\ms\msfs.h: #include <ndk/ntndk.h>
|
||||
drivers\fs\np\npfs.h: #include <ndk/iotypes.h>
|
||||
drivers\fs\vfat\vfat.h: #include <ndk/ntndk.h>
|
||||
drivers\net\ndis\include\ndissys.h: #include <ndk/ntndk.h>
|
||||
drivers\net\tcpip\include\precomp.h: #include <ndk/ntndk.h>
|
||||
drivers\video\miniport\xboxvmp\xboxvmp.h: #include <ndk/ntndk.h>
|
||||
drivers\video\videoprt\videoprt.h: #include <ndk/ntndk.h>
|
||||
hal\halx86\include\hal.h: #include <ndk/ntndk.h>
|
||||
include\drivers\diskdump\diskdump.h: #include <ndk/ntndk.h>
|
||||
lib\advapi32\advapi32.h: #include <ndk/ntndk.h>
|
||||
lib\crt\precomp.h: #include <ndk/ntndk.h>
|
||||
lib\dbghelp\stackframe.h: #include <ndk/umtypes.h>
|
||||
lib\dbghelp\stackframe.h: #include <ndk/extypes.h>
|
||||
lib\dbghelp\stackframe.h: #include <ndk/rtlfuncs.h>
|
||||
lib\dnsapi\dnsapi\precomp.h: #include <ndk/ntndk.h>
|
||||
lib\fmifs\precomp.h: #include <ndk/ntndk.h>
|
||||
lib\fslib\vfatlib\vfatlib.h: #include <ndk/ntndk.h>
|
||||
lib\fslib\vfatxlib\vfatxlib.h: #include <ndk/ntndk.h>
|
||||
lib\gdi32\include\precomp.h: #include <ndk/ntndk.h>
|
||||
lib\imagehlp\precomp.h: #include <ndk/umtypes.h>
|
||||
lib\imagehlp\precomp.h: #include <ndk/rtlfuncs.h>
|
||||
lib\iphlpapi\iphlpapi_private.h: #include <ndk/ntndk.h>
|
||||
lib\kernel32\k32.h: #include <ndk/ntndk.h>
|
||||
lib\msafd\msafd.h: #include <ndk/ntndk.h>
|
||||
lib\ntdll\inc\ntdll.h: #include <ndk/ntndk.h>
|
||||
lib\opengl32\teb.h: #include <ndk/ntndk.h>
|
||||
lib\psapi\precomp.h: #include <ndk/ntndk.h>
|
||||
lib\rtl\rtl.h: #include <ndk/ntndk.h>
|
||||
lib\secur32\precomp.h: #include <ndk/ntndk.h>
|
||||
lib\setupapi\setupapi_private.h: #include <ndk/ntndk.h>
|
||||
lib\smlib\precomp.h: #include <ndk/ntndk.h>
|
||||
lib\user32\include\user32.h: #include <ndk/ntndk.h>
|
||||
lib\userenv\precomp.h: #include <ndk/ntndk.h>
|
||||
lib\wshirda\wshirda.h: #include <ndk/ntndk.h>
|
||||
ntoskrnl\include\ntoskrnl.h: #include <ndk/ntndk.h>
|
||||
ntoskrnl\include\internal\napi.h: #include <ndk/asm.h>
|
||||
services\dhcp\include\rosdhcp.h: #include <ndk/ntndk.h>
|
||||
services\eventlog\eventlog.h: #include <ndk/ntndk.h>
|
||||
services\rpcss\rpcss.h: #include <ndk/ntndk.h>
|
||||
subsys\csrss\csrss.h: #include <ndk/ntndk.h>
|
||||
subsys\csrss\include\api.h: #include <ndk/ntndk.h>
|
||||
subsys\csrss\win32csr\w32csr.h: #include <ndk/ntndk.h>
|
||||
subsys\smss\smss.h: #include <ndk/ntndk.h>
|
||||
subsys\system\cmd\precomp.h: #include <ndk/ntndk.h>
|
||||
subsys\system\services\services.h: #include <ndk/ntndk.h>
|
||||
subsys\system\taskmgr\precomp.h: #include <ndk/ntndk.h>
|
||||
subsys\system\usetup\usetup.h: #include <ndk/ntndk.h>
|
||||
List of ReactOS Applications compiling with the NDK
|
||||
(verify, fix, and optimize their usage)
|
||||
--------------------------------------------------------------
|
||||
|
||||
apps\utils\ps\ps.c: #include <ndk/ntndk.h>
|
||||
drivers\dd\blue\blue.c: #include <ndk/halfuncs.h>
|
||||
drivers\dd\bootvid\bootvid.c: #include <ndk/ldrfuncs.h>
|
||||
drivers\storage\diskdump\diskdump.c: #include <ndk/extypes.h>
|
||||
drivers\storage\diskdump\diskdump.c: #include <ndk/rtlfuncs.h>
|
||||
hal\hal\hal.c: #include <ndk/halfuncs.h>
|
||||
hal\hal\hal.c: #include <ndk/kdfuncs.h>
|
||||
lib\crt\except\unwind.c: #include <ndk/umtypes.h>
|
||||
lib\crt\except\unwind.c: #include <ndk/extypes.h>
|
||||
lib\crt\except\unwind.c: #include <ndk/rtlfuncs.h>
|
||||
lib\dnsapi\dnsapi\stubs.c: #include <ndk/ntndk.h>
|
||||
lib\epsapi\enum\drivers.c: #include <ndk/ntndk.h>
|
||||
lib\epsapi\enum\modules.c: #include <ndk/ntndk.h>
|
||||
lib\epsapi\enum\processes.c: #include <ndk/ntndk.h>
|
||||
lib\lsasrv\lsaport.c: #include <ndk/ntndk.h>
|
||||
lib\lsasrv\lsasrv.c: #include <ndk/ntndk.h>
|
||||
lib\nt\entry_point.c: #include <ndk/ntndk.h>
|
||||
lib\samlib\samlib.c: #include <ndk/ntndk.h>
|
||||
lib\samsrv\samsrv.c: #include <ndk/ntndk.h>
|
||||
lib\smdll\query.c: #include <ndk/ntndk.h>
|
||||
lib\string\mbstowcs.c: #include <ndk/umtypes.h>
|
||||
lib\string\mbstowcs.c: #include <ndk/rtlfuncs.h>
|
||||
lib\string\sscanf.c: #include <ndk/umtypes.h>
|
||||
lib\string\sscanf.c: #include <ndk/rtlfuncs.h>
|
||||
lib\string\wcstombs.c: #include <ndk/umtypes.h>
|
||||
lib\string\wcstombs.c: #include <ndk/rtlfuncs.h>
|
||||
lib\syssetup\install.c: #include <ndk/ntndk.h>
|
||||
lib\syssetup\logfile.c: #include <ndk/ntndk.h>
|
||||
lib\wdmguid\wdmguid.c: #include <ndk/sysguid.h>
|
||||
regtests\shared\regtests.c: #include <ndk/ntndk.h>
|
||||
services\umpnpmgr\umpnpmgr.c: #include <ndk/ntndk.h>
|
||||
subsys\ntvdm\ntvdm.c: #include <ndk/ntndk.h>
|
||||
subsys\system\autochk\autochk.c: #include <ndk/ntndk.h>
|
||||
subsys\system\lsass\lsass.c: #include <ndk/ntndk.h>
|
||||
subsys\system\setup\setup.c: #include <ndk/ntndk.h>
|
||||
subsys\system\sm\sm.c: #include <ndk/ntndk.h>
|
||||
boot\freeldr\freeldr\include\freeldr.h: #include <ndk/ntndk.h>
|
||||
drivers\fs\ms\msfs.h: #include <ndk/ntndk.h>
|
||||
drivers\fs\np\npfs.h: #include <ndk/iotypes.h>
|
||||
drivers\fs\vfat\vfat.h: #include <ndk/ntndk.h>
|
||||
drivers\net\ndis\include\ndissys.h: #include <ndk/ntndk.h>
|
||||
drivers\net\tcpip\include\precomp.h: #include <ndk/ntndk.h>
|
||||
drivers\video\miniport\xboxvmp\xboxvmp.h: #include <ndk/ntndk.h>
|
||||
drivers\video\videoprt\videoprt.h: #include <ndk/ntndk.h>
|
||||
hal\halx86\include\hal.h: #include <ndk/ntndk.h>
|
||||
include\drivers\diskdump\diskdump.h: #include <ndk/ntndk.h>
|
||||
lib\advapi32\advapi32.h: #include <ndk/ntndk.h>
|
||||
lib\crt\precomp.h: #include <ndk/ntndk.h>
|
||||
lib\dbghelp\stackframe.h: #include <ndk/umtypes.h>
|
||||
lib\dbghelp\stackframe.h: #include <ndk/extypes.h>
|
||||
lib\dbghelp\stackframe.h: #include <ndk/rtlfuncs.h>
|
||||
lib\dnsapi\dnsapi\precomp.h: #include <ndk/ntndk.h>
|
||||
lib\fmifs\precomp.h: #include <ndk/ntndk.h>
|
||||
lib\fslib\vfatlib\vfatlib.h: #include <ndk/ntndk.h>
|
||||
lib\fslib\vfatxlib\vfatxlib.h: #include <ndk/ntndk.h>
|
||||
lib\gdi32\include\precomp.h: #include <ndk/ntndk.h>
|
||||
lib\imagehlp\precomp.h: #include <ndk/umtypes.h>
|
||||
lib\imagehlp\precomp.h: #include <ndk/rtlfuncs.h>
|
||||
lib\iphlpapi\iphlpapi_private.h: #include <ndk/ntndk.h>
|
||||
lib\kernel32\k32.h: #include <ndk/ntndk.h>
|
||||
lib\msafd\msafd.h: #include <ndk/ntndk.h>
|
||||
lib\ntdll\inc\ntdll.h: #include <ndk/ntndk.h>
|
||||
lib\opengl32\teb.h: #include <ndk/ntndk.h>
|
||||
lib\psapi\precomp.h: #include <ndk/ntndk.h>
|
||||
lib\rtl\rtl.h: #include <ndk/ntndk.h>
|
||||
lib\secur32\precomp.h: #include <ndk/ntndk.h>
|
||||
lib\setupapi\setupapi_private.h: #include <ndk/ntndk.h>
|
||||
lib\smlib\precomp.h: #include <ndk/ntndk.h>
|
||||
lib\user32\include\user32.h: #include <ndk/ntndk.h>
|
||||
lib\userenv\precomp.h: #include <ndk/ntndk.h>
|
||||
lib\wshirda\wshirda.h: #include <ndk/ntndk.h>
|
||||
ntoskrnl\include\ntoskrnl.h: #include <ndk/ntndk.h>
|
||||
ntoskrnl\include\internal\napi.h: #include <ndk/asm.h>
|
||||
services\dhcp\include\rosdhcp.h: #include <ndk/ntndk.h>
|
||||
services\eventlog\eventlog.h: #include <ndk/ntndk.h>
|
||||
services\rpcss\rpcss.h: #include <ndk/ntndk.h>
|
||||
subsys\csrss\csrss.h: #include <ndk/ntndk.h>
|
||||
subsys\csrss\include\api.h: #include <ndk/ntndk.h>
|
||||
subsys\csrss\win32csr\w32csr.h: #include <ndk/ntndk.h>
|
||||
subsys\smss\smss.h: #include <ndk/ntndk.h>
|
||||
subsys\system\cmd\precomp.h: #include <ndk/ntndk.h>
|
||||
subsys\system\services\services.h: #include <ndk/ntndk.h>
|
||||
subsys\system\taskmgr\precomp.h: #include <ndk/ntndk.h>
|
||||
subsys\system\usetup\usetup.h: #include <ndk/ntndk.h>
|
||||
|
||||
+244
-244
@@ -1,244 +1,244 @@
|
||||
/*++ NDK Version: 0095
|
||||
|
||||
Copyright (c) Alex Ionescu. All rights reserved.
|
||||
|
||||
Header Name:
|
||||
|
||||
ifssupp.h
|
||||
|
||||
Abstract:
|
||||
|
||||
NDK Support for usage without the IFS. Will be deprecated at WDK Release.
|
||||
|
||||
Author:
|
||||
|
||||
Alex Ionescu ([email protected]) 06-Oct-2004
|
||||
|
||||
--*/
|
||||
#ifndef _NTIFS_
|
||||
#ifndef NTOS_MODE_USER
|
||||
#define _NTIFS_
|
||||
|
||||
#define TOKEN_SOURCE_LENGTH 8
|
||||
|
||||
typedef enum _TOKEN_TYPE
|
||||
{
|
||||
TokenPrimary = 1,
|
||||
TokenImpersonation
|
||||
} TOKEN_TYPE, *PTOKEN_TYPE;
|
||||
|
||||
typedef PVOID PRTL_HEAP_PARAMETERS;
|
||||
typedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
|
||||
|
||||
typedef struct _RTL_SPLAY_LINKS
|
||||
{
|
||||
struct _RTL_SPLAY_LINKS *Parent;
|
||||
struct _RTL_SPLAY_LINKS *LeftChild;
|
||||
struct _RTL_SPLAY_LINKS *RightChild;
|
||||
} RTL_SPLAY_LINKS, *PRTL_SPLAY_LINKS;
|
||||
|
||||
#if defined(USE_LPC6432)
|
||||
#define LPC_CLIENT_ID CLIENT_ID64
|
||||
#define LPC_SIZE_T ULONGLONG
|
||||
#define LPC_PVOID ULONGLONG
|
||||
#define LPC_HANDLE ULONGLONG
|
||||
#else
|
||||
#define LPC_CLIENT_ID CLIENT_ID
|
||||
#define LPC_SIZE_T SIZE_T
|
||||
#define LPC_PVOID PVOID
|
||||
#define LPC_HANDLE HANDLE
|
||||
#endif
|
||||
|
||||
typedef struct _PORT_MESSAGE
|
||||
{
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
CSHORT DataLength;
|
||||
CSHORT TotalLength;
|
||||
} s1;
|
||||
ULONG Length;
|
||||
} u1;
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
CSHORT Type;
|
||||
CSHORT DataInfoOffset;
|
||||
} s2;
|
||||
ULONG ZeroInit;
|
||||
} u2;
|
||||
union
|
||||
{
|
||||
LPC_CLIENT_ID ClientId;
|
||||
double DoNotUseThisField;
|
||||
};
|
||||
ULONG MessageId;
|
||||
union
|
||||
{
|
||||
LPC_SIZE_T ClientViewSize;
|
||||
ULONG CallbackId;
|
||||
};
|
||||
} PORT_MESSAGE, *PPORT_MESSAGE;
|
||||
|
||||
typedef struct _PORT_VIEW
|
||||
{
|
||||
ULONG Length;
|
||||
LPC_HANDLE SectionHandle;
|
||||
ULONG SectionOffset;
|
||||
LPC_SIZE_T ViewSize;
|
||||
LPC_PVOID ViewBase;
|
||||
LPC_PVOID ViewRemoteBase;
|
||||
} PORT_VIEW, *PPORT_VIEW;
|
||||
|
||||
typedef struct _REMOTE_PORT_VIEW
|
||||
{
|
||||
ULONG Length;
|
||||
LPC_SIZE_T ViewSize;
|
||||
LPC_PVOID ViewBase;
|
||||
} REMOTE_PORT_VIEW, *PREMOTE_PORT_VIEW;
|
||||
|
||||
typedef struct _KAPC_STATE
|
||||
{
|
||||
LIST_ENTRY ApcListHead[2];
|
||||
struct _KPROCESS *Process;
|
||||
BOOLEAN KernelApcInProgress;
|
||||
BOOLEAN KernelApcPending;
|
||||
BOOLEAN UserApcPending;
|
||||
} KAPC_STATE, *PKAPC_STATE, *RESTRICTED_POINTER PRKAPC_STATE;
|
||||
|
||||
typedef struct _KQUEUE
|
||||
{
|
||||
DISPATCHER_HEADER Header;
|
||||
LIST_ENTRY EntryListHead;
|
||||
ULONG CurrentCount;
|
||||
ULONG MaximumCount;
|
||||
LIST_ENTRY ThreadListHead;
|
||||
} KQUEUE, *PKQUEUE, *RESTRICTED_POINTER PRKQUEUE;
|
||||
|
||||
typedef struct _ACE_HEADER
|
||||
{
|
||||
UCHAR AceType;
|
||||
UCHAR AceFlags;
|
||||
USHORT AceSize;
|
||||
} ACE_HEADER, *PACE_HEADER;
|
||||
|
||||
typedef enum _RTL_GENERIC_COMPARE_RESULTS
|
||||
{
|
||||
GenericLessThan,
|
||||
GenericGreaterThan,
|
||||
GenericEqual
|
||||
} RTL_GENERIC_COMPARE_RESULTS;
|
||||
|
||||
typedef struct _SID_IDENTIFIER_AUTHORITY
|
||||
{
|
||||
UCHAR Value[6];
|
||||
} SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY;
|
||||
|
||||
typedef struct _SID_AND_ATTRIBUTES
|
||||
{
|
||||
PSID Sid;
|
||||
ULONG Attributes;
|
||||
} SID_AND_ATTRIBUTES, * PSID_AND_ATTRIBUTES;
|
||||
|
||||
typedef struct _TOKEN_SOURCE
|
||||
{
|
||||
CHAR SourceName[TOKEN_SOURCE_LENGTH];
|
||||
LUID SourceIdentifier;
|
||||
} TOKEN_SOURCE, *PTOKEN_SOURCE;
|
||||
|
||||
typedef struct _TOKEN_CONTROL
|
||||
{
|
||||
LUID TokenId;
|
||||
LUID AuthenticationId;
|
||||
LUID ModifiedId;
|
||||
TOKEN_SOURCE TokenSource;
|
||||
} TOKEN_CONTROL, *PTOKEN_CONTROL;
|
||||
|
||||
typedef struct _SECURITY_CLIENT_CONTEXT
|
||||
{
|
||||
SECURITY_QUALITY_OF_SERVICE SecurityQos;
|
||||
PACCESS_TOKEN ClientToken;
|
||||
BOOLEAN DirectlyAccessClientToken;
|
||||
BOOLEAN DirectAccessEffectiveOnly;
|
||||
BOOLEAN ServerIsRemote;
|
||||
TOKEN_CONTROL ClientTokenControl;
|
||||
} SECURITY_CLIENT_CONTEXT, *PSECURITY_CLIENT_CONTEXT;
|
||||
|
||||
typedef struct _SECURITY_DESCRIPTOR_RELATIVE
|
||||
{
|
||||
UCHAR Revision;
|
||||
UCHAR Sbz1;
|
||||
SECURITY_DESCRIPTOR_CONTROL Control;
|
||||
ULONG Owner;
|
||||
ULONG Group;
|
||||
ULONG Sacl;
|
||||
ULONG Dacl;
|
||||
} SECURITY_DESCRIPTOR_RELATIVE, *PISECURITY_DESCRIPTOR_RELATIVE;
|
||||
|
||||
typedef struct _TOKEN_GROUPS
|
||||
{
|
||||
ULONG GroupCount;
|
||||
SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY];
|
||||
} TOKEN_GROUPS, *PTOKEN_GROUPS;
|
||||
|
||||
typedef struct _TOKEN_PRIVILEGES
|
||||
{
|
||||
ULONG PrivilegeCount;
|
||||
LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
|
||||
} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;
|
||||
|
||||
typedef struct _TOKEN_USER
|
||||
{
|
||||
SID_AND_ATTRIBUTES User;
|
||||
} TOKEN_USER, *PTOKEN_USER;
|
||||
|
||||
typedef enum _TOKEN_INFORMATION_CLASS
|
||||
{
|
||||
TokenUser = 1,
|
||||
TokenGroups,
|
||||
TokenPrivileges,
|
||||
TokenOwner,
|
||||
TokenPrimaryGroup,
|
||||
TokenDefaultDacl,
|
||||
TokenSource,
|
||||
TokenType,
|
||||
TokenImpersonationLevel,
|
||||
TokenStatistics,
|
||||
TokenRestrictedSids,
|
||||
TokenSessionId,
|
||||
TokenGroupsAndPrivileges,
|
||||
TokenSessionReference,
|
||||
TokenSandBoxInert,
|
||||
TokenAuditPolicy,
|
||||
TokenOrigin,
|
||||
TokenElevationType,
|
||||
TokenLinkedToken,
|
||||
TokenElevation,
|
||||
TokenIsRestricted,
|
||||
TokenAccessInformation,
|
||||
TokenVirtualization,
|
||||
TokenIntegrityLevel,
|
||||
TokenIntegrityLevelDesktop,
|
||||
TokenMandatoryPolicy,
|
||||
MaxTokenInfoClass
|
||||
} TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS;
|
||||
|
||||
typedef struct _TOKEN_OWNER
|
||||
{
|
||||
PSID Owner;
|
||||
} TOKEN_OWNER, *PTOKEN_OWNER;
|
||||
|
||||
typedef struct _TOKEN_PRIMARY_GROUP
|
||||
{
|
||||
PSID PrimaryGroup;
|
||||
} TOKEN_PRIMARY_GROUP, *PTOKEN_PRIMARY_GROUP;
|
||||
|
||||
typedef struct _TOKEN_DEFAULT_DACL
|
||||
{
|
||||
PACL DefaultDacl;
|
||||
} TOKEN_DEFAULT_DACL, *PTOKEN_DEFAULT_DACL;
|
||||
|
||||
#endif // !NTOS_MODE_USER
|
||||
#endif // _NTIFS_
|
||||
/*++ NDK Version: 0095
|
||||
|
||||
Copyright (c) Alex Ionescu. All rights reserved.
|
||||
|
||||
Header Name:
|
||||
|
||||
ifssupp.h
|
||||
|
||||
Abstract:
|
||||
|
||||
NDK Support for usage without the IFS. Will be deprecated at WDK Release.
|
||||
|
||||
Author:
|
||||
|
||||
Alex Ionescu ([email protected]) 06-Oct-2004
|
||||
|
||||
--*/
|
||||
#ifndef _NTIFS_
|
||||
#ifndef NTOS_MODE_USER
|
||||
#define _NTIFS_
|
||||
|
||||
#define TOKEN_SOURCE_LENGTH 8
|
||||
|
||||
typedef enum _TOKEN_TYPE
|
||||
{
|
||||
TokenPrimary = 1,
|
||||
TokenImpersonation
|
||||
} TOKEN_TYPE, *PTOKEN_TYPE;
|
||||
|
||||
typedef PVOID PRTL_HEAP_PARAMETERS;
|
||||
typedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
|
||||
|
||||
typedef struct _RTL_SPLAY_LINKS
|
||||
{
|
||||
struct _RTL_SPLAY_LINKS *Parent;
|
||||
struct _RTL_SPLAY_LINKS *LeftChild;
|
||||
struct _RTL_SPLAY_LINKS *RightChild;
|
||||
} RTL_SPLAY_LINKS, *PRTL_SPLAY_LINKS;
|
||||
|
||||
#if defined(USE_LPC6432)
|
||||
#define LPC_CLIENT_ID CLIENT_ID64
|
||||
#define LPC_SIZE_T ULONGLONG
|
||||
#define LPC_PVOID ULONGLONG
|
||||
#define LPC_HANDLE ULONGLONG
|
||||
#else
|
||||
#define LPC_CLIENT_ID CLIENT_ID
|
||||
#define LPC_SIZE_T SIZE_T
|
||||
#define LPC_PVOID PVOID
|
||||
#define LPC_HANDLE HANDLE
|
||||
#endif
|
||||
|
||||
typedef struct _PORT_MESSAGE
|
||||
{
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
CSHORT DataLength;
|
||||
CSHORT TotalLength;
|
||||
} s1;
|
||||
ULONG Length;
|
||||
} u1;
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
CSHORT Type;
|
||||
CSHORT DataInfoOffset;
|
||||
} s2;
|
||||
ULONG ZeroInit;
|
||||
} u2;
|
||||
union
|
||||
{
|
||||
LPC_CLIENT_ID ClientId;
|
||||
double DoNotUseThisField;
|
||||
};
|
||||
ULONG MessageId;
|
||||
union
|
||||
{
|
||||
LPC_SIZE_T ClientViewSize;
|
||||
ULONG CallbackId;
|
||||
};
|
||||
} PORT_MESSAGE, *PPORT_MESSAGE;
|
||||
|
||||
typedef struct _PORT_VIEW
|
||||
{
|
||||
ULONG Length;
|
||||
LPC_HANDLE SectionHandle;
|
||||
ULONG SectionOffset;
|
||||
LPC_SIZE_T ViewSize;
|
||||
LPC_PVOID ViewBase;
|
||||
LPC_PVOID ViewRemoteBase;
|
||||
} PORT_VIEW, *PPORT_VIEW;
|
||||
|
||||
typedef struct _REMOTE_PORT_VIEW
|
||||
{
|
||||
ULONG Length;
|
||||
LPC_SIZE_T ViewSize;
|
||||
LPC_PVOID ViewBase;
|
||||
} REMOTE_PORT_VIEW, *PREMOTE_PORT_VIEW;
|
||||
|
||||
typedef struct _KAPC_STATE
|
||||
{
|
||||
LIST_ENTRY ApcListHead[2];
|
||||
struct _KPROCESS *Process;
|
||||
BOOLEAN KernelApcInProgress;
|
||||
BOOLEAN KernelApcPending;
|
||||
BOOLEAN UserApcPending;
|
||||
} KAPC_STATE, *PKAPC_STATE, *RESTRICTED_POINTER PRKAPC_STATE;
|
||||
|
||||
typedef struct _KQUEUE
|
||||
{
|
||||
DISPATCHER_HEADER Header;
|
||||
LIST_ENTRY EntryListHead;
|
||||
ULONG CurrentCount;
|
||||
ULONG MaximumCount;
|
||||
LIST_ENTRY ThreadListHead;
|
||||
} KQUEUE, *PKQUEUE, *RESTRICTED_POINTER PRKQUEUE;
|
||||
|
||||
typedef struct _ACE_HEADER
|
||||
{
|
||||
UCHAR AceType;
|
||||
UCHAR AceFlags;
|
||||
USHORT AceSize;
|
||||
} ACE_HEADER, *PACE_HEADER;
|
||||
|
||||
typedef enum _RTL_GENERIC_COMPARE_RESULTS
|
||||
{
|
||||
GenericLessThan,
|
||||
GenericGreaterThan,
|
||||
GenericEqual
|
||||
} RTL_GENERIC_COMPARE_RESULTS;
|
||||
|
||||
typedef struct _SID_IDENTIFIER_AUTHORITY
|
||||
{
|
||||
UCHAR Value[6];
|
||||
} SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY;
|
||||
|
||||
typedef struct _SID_AND_ATTRIBUTES
|
||||
{
|
||||
PSID Sid;
|
||||
ULONG Attributes;
|
||||
} SID_AND_ATTRIBUTES, * PSID_AND_ATTRIBUTES;
|
||||
|
||||
typedef struct _TOKEN_SOURCE
|
||||
{
|
||||
CHAR SourceName[TOKEN_SOURCE_LENGTH];
|
||||
LUID SourceIdentifier;
|
||||
} TOKEN_SOURCE, *PTOKEN_SOURCE;
|
||||
|
||||
typedef struct _TOKEN_CONTROL
|
||||
{
|
||||
LUID TokenId;
|
||||
LUID AuthenticationId;
|
||||
LUID ModifiedId;
|
||||
TOKEN_SOURCE TokenSource;
|
||||
} TOKEN_CONTROL, *PTOKEN_CONTROL;
|
||||
|
||||
typedef struct _SECURITY_CLIENT_CONTEXT
|
||||
{
|
||||
SECURITY_QUALITY_OF_SERVICE SecurityQos;
|
||||
PACCESS_TOKEN ClientToken;
|
||||
BOOLEAN DirectlyAccessClientToken;
|
||||
BOOLEAN DirectAccessEffectiveOnly;
|
||||
BOOLEAN ServerIsRemote;
|
||||
TOKEN_CONTROL ClientTokenControl;
|
||||
} SECURITY_CLIENT_CONTEXT, *PSECURITY_CLIENT_CONTEXT;
|
||||
|
||||
typedef struct _SECURITY_DESCRIPTOR_RELATIVE
|
||||
{
|
||||
UCHAR Revision;
|
||||
UCHAR Sbz1;
|
||||
SECURITY_DESCRIPTOR_CONTROL Control;
|
||||
ULONG Owner;
|
||||
ULONG Group;
|
||||
ULONG Sacl;
|
||||
ULONG Dacl;
|
||||
} SECURITY_DESCRIPTOR_RELATIVE, *PISECURITY_DESCRIPTOR_RELATIVE;
|
||||
|
||||
typedef struct _TOKEN_GROUPS
|
||||
{
|
||||
ULONG GroupCount;
|
||||
SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY];
|
||||
} TOKEN_GROUPS, *PTOKEN_GROUPS;
|
||||
|
||||
typedef struct _TOKEN_PRIVILEGES
|
||||
{
|
||||
ULONG PrivilegeCount;
|
||||
LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
|
||||
} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;
|
||||
|
||||
typedef struct _TOKEN_USER
|
||||
{
|
||||
SID_AND_ATTRIBUTES User;
|
||||
} TOKEN_USER, *PTOKEN_USER;
|
||||
|
||||
typedef enum _TOKEN_INFORMATION_CLASS
|
||||
{
|
||||
TokenUser = 1,
|
||||
TokenGroups,
|
||||
TokenPrivileges,
|
||||
TokenOwner,
|
||||
TokenPrimaryGroup,
|
||||
TokenDefaultDacl,
|
||||
TokenSource,
|
||||
TokenType,
|
||||
TokenImpersonationLevel,
|
||||
TokenStatistics,
|
||||
TokenRestrictedSids,
|
||||
TokenSessionId,
|
||||
TokenGroupsAndPrivileges,
|
||||
TokenSessionReference,
|
||||
TokenSandBoxInert,
|
||||
TokenAuditPolicy,
|
||||
TokenOrigin,
|
||||
TokenElevationType,
|
||||
TokenLinkedToken,
|
||||
TokenElevation,
|
||||
TokenIsRestricted,
|
||||
TokenAccessInformation,
|
||||
TokenVirtualization,
|
||||
TokenIntegrityLevel,
|
||||
TokenIntegrityLevelDesktop,
|
||||
TokenMandatoryPolicy,
|
||||
MaxTokenInfoClass
|
||||
} TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS;
|
||||
|
||||
typedef struct _TOKEN_OWNER
|
||||
{
|
||||
PSID Owner;
|
||||
} TOKEN_OWNER, *PTOKEN_OWNER;
|
||||
|
||||
typedef struct _TOKEN_PRIMARY_GROUP
|
||||
{
|
||||
PSID PrimaryGroup;
|
||||
} TOKEN_PRIMARY_GROUP, *PTOKEN_PRIMARY_GROUP;
|
||||
|
||||
typedef struct _TOKEN_DEFAULT_DACL
|
||||
{
|
||||
PACL DefaultDacl;
|
||||
} TOKEN_DEFAULT_DACL, *PTOKEN_DEFAULT_DACL;
|
||||
|
||||
#endif // !NTOS_MODE_USER
|
||||
#endif // _NTIFS_
|
||||
|
||||
+352
-352
@@ -1,352 +1,352 @@
|
||||
/*++ NDK Version: 0095
|
||||
|
||||
Copyright (c) Alex Ionescu. All rights reserved.
|
||||
|
||||
Header Name:
|
||||
|
||||
lpcfuncs.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Function definitions for the Executive.
|
||||
|
||||
Author:
|
||||
|
||||
Alex Ionescu ([email protected]) 06-Oct-2004
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _LPCFUNCS_H
|
||||
#define _LPCFUNCS_H
|
||||
|
||||
//
|
||||
// Dependencies
|
||||
//
|
||||
#include <umtypes.h>
|
||||
|
||||
//
|
||||
// Native calls
|
||||
//
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtAcceptConnectPort(
|
||||
PHANDLE PortHandle,
|
||||
PVOID PortContext OPTIONAL,
|
||||
PPORT_MESSAGE ConnectionRequest,
|
||||
BOOLEAN AcceptConnection,
|
||||
PPORT_VIEW ServerView OPTIONAL,
|
||||
PREMOTE_PORT_VIEW ClientView OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCompleteConnectPort(
|
||||
HANDLE PortHandle
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtConnectPort(
|
||||
PHANDLE PortHandle,
|
||||
PUNICODE_STRING PortName,
|
||||
PSECURITY_QUALITY_OF_SERVICE SecurityQos,
|
||||
PPORT_VIEW ClientView OPTIONAL,
|
||||
PREMOTE_PORT_VIEW ServerView OPTIONAL,
|
||||
PULONG MaxMessageLength OPTIONAL,
|
||||
PVOID ConnectionInformation OPTIONAL,
|
||||
PULONG ConnectionInformationLength OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCreatePort(
|
||||
PHANDLE PortHandle,
|
||||
POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
ULONG MaxConnectionInfoLength,
|
||||
ULONG MaxMessageLength,
|
||||
ULONG MaxPoolUsage
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCreateWaitablePort(
|
||||
PHANDLE PortHandle,
|
||||
POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
ULONG MaxConnectInfoLength,
|
||||
ULONG MaxDataLength,
|
||||
ULONG NPMessageQueueSize OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtImpersonateClientOfPort(
|
||||
HANDLE PortHandle,
|
||||
PPORT_MESSAGE ClientMessage
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtListenPort(
|
||||
HANDLE PortHandle,
|
||||
PPORT_MESSAGE ConnectionRequest
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtQueryInformationPort(
|
||||
HANDLE PortHandle,
|
||||
PORT_INFORMATION_CLASS PortInformationClass,
|
||||
PVOID PortInformation,
|
||||
ULONG PortInformationLength,
|
||||
PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtReadRequestData(
|
||||
HANDLE PortHandle,
|
||||
PPORT_MESSAGE Message,
|
||||
ULONG Index,
|
||||
PVOID Buffer,
|
||||
ULONG BufferLength,
|
||||
PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtReplyPort(
|
||||
IN HANDLE PortHandle,
|
||||
IN PPORT_MESSAGE LpcReply
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtReplyWaitReceivePort(
|
||||
IN HANDLE PortHandle,
|
||||
OUT PVOID *PortContext OPTIONAL,
|
||||
IN PPORT_MESSAGE ReplyMessage OPTIONAL,
|
||||
OUT PPORT_MESSAGE ReceiveMessage
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtReplyWaitReceivePortEx(
|
||||
IN HANDLE PortHandle,
|
||||
OUT PVOID *PortContext OPTIONAL,
|
||||
IN PPORT_MESSAGE ReplyMessage OPTIONAL,
|
||||
OUT PPORT_MESSAGE ReceiveMessage,
|
||||
IN PLARGE_INTEGER Timeout OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtReplyWaitReplyPort(
|
||||
IN HANDLE PortHandle,
|
||||
OUT PPORT_MESSAGE ReplyMessage
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtRequestPort(
|
||||
IN HANDLE PortHandle,
|
||||
IN PPORT_MESSAGE LpcMessage
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtRequestWaitReplyPort(
|
||||
IN HANDLE PortHandle,
|
||||
OUT PPORT_MESSAGE LpcReply,
|
||||
IN PPORT_MESSAGE LpcRequest
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSecureConnectPort(
|
||||
PHANDLE PortHandle,
|
||||
PUNICODE_STRING PortName,
|
||||
PSECURITY_QUALITY_OF_SERVICE SecurityQos,
|
||||
PPORT_VIEW ClientView OPTIONAL,
|
||||
PSID Sid OPTIONAL,
|
||||
PREMOTE_PORT_VIEW ServerView OPTIONAL,
|
||||
PULONG MaxMessageLength OPTIONAL,
|
||||
PVOID ConnectionInformation OPTIONAL,
|
||||
PULONG ConnectionInformationLength OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtWriteRequestData(
|
||||
HANDLE PortHandle,
|
||||
PPORT_MESSAGE Message,
|
||||
ULONG Index,
|
||||
PVOID Buffer,
|
||||
ULONG BufferLength,
|
||||
PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwAcceptConnectPort(
|
||||
PHANDLE PortHandle,
|
||||
PVOID PortContext OPTIONAL,
|
||||
PPORT_MESSAGE ConnectionRequest,
|
||||
BOOLEAN AcceptConnection,
|
||||
PPORT_VIEW ServerView OPTIONAL,
|
||||
PREMOTE_PORT_VIEW ClientView OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCompleteConnectPort(
|
||||
HANDLE PortHandle
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwConnectPort(
|
||||
PHANDLE PortHandle,
|
||||
PUNICODE_STRING PortName,
|
||||
PSECURITY_QUALITY_OF_SERVICE SecurityQos,
|
||||
PPORT_VIEW ClientView OPTIONAL,
|
||||
PREMOTE_PORT_VIEW ServerView OPTIONAL,
|
||||
PULONG MaxMessageLength OPTIONAL,
|
||||
PVOID ConnectionInformation OPTIONAL,
|
||||
PULONG ConnectionInformationLength OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCreatePort(
|
||||
PHANDLE PortHandle,
|
||||
POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
ULONG MaxConnectionInfoLength,
|
||||
ULONG MaxMessageLength,
|
||||
ULONG MaxPoolUsage
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCreateWaitablePort(
|
||||
PHANDLE PortHandle,
|
||||
POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
ULONG MaxConnectInfoLength,
|
||||
ULONG MaxDataLength,
|
||||
ULONG NPMessageQueueSize OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwImpersonateClientOfPort(
|
||||
HANDLE PortHandle,
|
||||
PPORT_MESSAGE ClientMessage
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwListenPort(
|
||||
HANDLE PortHandle,
|
||||
PPORT_MESSAGE ConnectionRequest
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryInformationPort(
|
||||
HANDLE PortHandle,
|
||||
PORT_INFORMATION_CLASS PortInformationClass,
|
||||
PVOID PortInformation,
|
||||
ULONG PortInformationLength,
|
||||
PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwReadRequestData(
|
||||
HANDLE PortHandle,
|
||||
PPORT_MESSAGE Message,
|
||||
ULONG Index,
|
||||
PVOID Buffer,
|
||||
ULONG BufferLength,
|
||||
PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwReplyPort(
|
||||
IN HANDLE PortHandle,
|
||||
IN PPORT_MESSAGE LpcReply
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwReplyWaitReceivePort(
|
||||
IN HANDLE PortHandle,
|
||||
OUT PVOID *PortContext OPTIONAL,
|
||||
IN PPORT_MESSAGE ReplyMessage OPTIONAL,
|
||||
OUT PPORT_MESSAGE ReceiveMessage
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwReplyWaitReceivePortEx(
|
||||
IN HANDLE PortHandle,
|
||||
OUT PVOID *PortContext OPTIONAL,
|
||||
IN PPORT_MESSAGE ReplyMessage OPTIONAL,
|
||||
OUT PPORT_MESSAGE ReceiveMessage,
|
||||
IN PLARGE_INTEGER Timeout OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwReplyWaitReplyPort(
|
||||
IN HANDLE PortHandle,
|
||||
OUT PPORT_MESSAGE ReplyMessage
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwRequestPort(
|
||||
IN HANDLE PortHandle,
|
||||
IN PPORT_MESSAGE LpcMessage
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwRequestWaitReplyPort(
|
||||
IN HANDLE PortHandle,
|
||||
OUT PPORT_MESSAGE LpcReply,
|
||||
IN PPORT_MESSAGE LpcRequest
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSecureConnectPort(
|
||||
PHANDLE PortHandle,
|
||||
PUNICODE_STRING PortName,
|
||||
PSECURITY_QUALITY_OF_SERVICE SecurityQos,
|
||||
PPORT_VIEW ClientView OPTIONAL,
|
||||
PSID Sid OPTIONAL,
|
||||
PREMOTE_PORT_VIEW ServerView OPTIONAL,
|
||||
PULONG MaxMessageLength OPTIONAL,
|
||||
PVOID ConnectionInformation OPTIONAL,
|
||||
PULONG ConnectionInformationLength OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwWriteRequestData(
|
||||
HANDLE PortHandle,
|
||||
PPORT_MESSAGE Message,
|
||||
ULONG Index,
|
||||
PVOID Buffer,
|
||||
ULONG BufferLength,
|
||||
PULONG ReturnLength
|
||||
);
|
||||
|
||||
#endif
|
||||
/*++ NDK Version: 0095
|
||||
|
||||
Copyright (c) Alex Ionescu. All rights reserved.
|
||||
|
||||
Header Name:
|
||||
|
||||
lpcfuncs.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Function definitions for the Executive.
|
||||
|
||||
Author:
|
||||
|
||||
Alex Ionescu ([email protected]) 06-Oct-2004
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _LPCFUNCS_H
|
||||
#define _LPCFUNCS_H
|
||||
|
||||
//
|
||||
// Dependencies
|
||||
//
|
||||
#include <umtypes.h>
|
||||
|
||||
//
|
||||
// Native calls
|
||||
//
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtAcceptConnectPort(
|
||||
PHANDLE PortHandle,
|
||||
PVOID PortContext OPTIONAL,
|
||||
PPORT_MESSAGE ConnectionRequest,
|
||||
BOOLEAN AcceptConnection,
|
||||
PPORT_VIEW ServerView OPTIONAL,
|
||||
PREMOTE_PORT_VIEW ClientView OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCompleteConnectPort(
|
||||
HANDLE PortHandle
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtConnectPort(
|
||||
PHANDLE PortHandle,
|
||||
PUNICODE_STRING PortName,
|
||||
PSECURITY_QUALITY_OF_SERVICE SecurityQos,
|
||||
PPORT_VIEW ClientView OPTIONAL,
|
||||
PREMOTE_PORT_VIEW ServerView OPTIONAL,
|
||||
PULONG MaxMessageLength OPTIONAL,
|
||||
PVOID ConnectionInformation OPTIONAL,
|
||||
PULONG ConnectionInformationLength OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCreatePort(
|
||||
PHANDLE PortHandle,
|
||||
POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
ULONG MaxConnectionInfoLength,
|
||||
ULONG MaxMessageLength,
|
||||
ULONG MaxPoolUsage
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCreateWaitablePort(
|
||||
PHANDLE PortHandle,
|
||||
POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
ULONG MaxConnectInfoLength,
|
||||
ULONG MaxDataLength,
|
||||
ULONG NPMessageQueueSize OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtImpersonateClientOfPort(
|
||||
HANDLE PortHandle,
|
||||
PPORT_MESSAGE ClientMessage
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtListenPort(
|
||||
HANDLE PortHandle,
|
||||
PPORT_MESSAGE ConnectionRequest
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtQueryInformationPort(
|
||||
HANDLE PortHandle,
|
||||
PORT_INFORMATION_CLASS PortInformationClass,
|
||||
PVOID PortInformation,
|
||||
ULONG PortInformationLength,
|
||||
PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtReadRequestData(
|
||||
HANDLE PortHandle,
|
||||
PPORT_MESSAGE Message,
|
||||
ULONG Index,
|
||||
PVOID Buffer,
|
||||
ULONG BufferLength,
|
||||
PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtReplyPort(
|
||||
IN HANDLE PortHandle,
|
||||
IN PPORT_MESSAGE LpcReply
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtReplyWaitReceivePort(
|
||||
IN HANDLE PortHandle,
|
||||
OUT PVOID *PortContext OPTIONAL,
|
||||
IN PPORT_MESSAGE ReplyMessage OPTIONAL,
|
||||
OUT PPORT_MESSAGE ReceiveMessage
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtReplyWaitReceivePortEx(
|
||||
IN HANDLE PortHandle,
|
||||
OUT PVOID *PortContext OPTIONAL,
|
||||
IN PPORT_MESSAGE ReplyMessage OPTIONAL,
|
||||
OUT PPORT_MESSAGE ReceiveMessage,
|
||||
IN PLARGE_INTEGER Timeout OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtReplyWaitReplyPort(
|
||||
IN HANDLE PortHandle,
|
||||
OUT PPORT_MESSAGE ReplyMessage
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtRequestPort(
|
||||
IN HANDLE PortHandle,
|
||||
IN PPORT_MESSAGE LpcMessage
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtRequestWaitReplyPort(
|
||||
IN HANDLE PortHandle,
|
||||
OUT PPORT_MESSAGE LpcReply,
|
||||
IN PPORT_MESSAGE LpcRequest
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSecureConnectPort(
|
||||
PHANDLE PortHandle,
|
||||
PUNICODE_STRING PortName,
|
||||
PSECURITY_QUALITY_OF_SERVICE SecurityQos,
|
||||
PPORT_VIEW ClientView OPTIONAL,
|
||||
PSID Sid OPTIONAL,
|
||||
PREMOTE_PORT_VIEW ServerView OPTIONAL,
|
||||
PULONG MaxMessageLength OPTIONAL,
|
||||
PVOID ConnectionInformation OPTIONAL,
|
||||
PULONG ConnectionInformationLength OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtWriteRequestData(
|
||||
HANDLE PortHandle,
|
||||
PPORT_MESSAGE Message,
|
||||
ULONG Index,
|
||||
PVOID Buffer,
|
||||
ULONG BufferLength,
|
||||
PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwAcceptConnectPort(
|
||||
PHANDLE PortHandle,
|
||||
PVOID PortContext OPTIONAL,
|
||||
PPORT_MESSAGE ConnectionRequest,
|
||||
BOOLEAN AcceptConnection,
|
||||
PPORT_VIEW ServerView OPTIONAL,
|
||||
PREMOTE_PORT_VIEW ClientView OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCompleteConnectPort(
|
||||
HANDLE PortHandle
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwConnectPort(
|
||||
PHANDLE PortHandle,
|
||||
PUNICODE_STRING PortName,
|
||||
PSECURITY_QUALITY_OF_SERVICE SecurityQos,
|
||||
PPORT_VIEW ClientView OPTIONAL,
|
||||
PREMOTE_PORT_VIEW ServerView OPTIONAL,
|
||||
PULONG MaxMessageLength OPTIONAL,
|
||||
PVOID ConnectionInformation OPTIONAL,
|
||||
PULONG ConnectionInformationLength OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCreatePort(
|
||||
PHANDLE PortHandle,
|
||||
POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
ULONG MaxConnectionInfoLength,
|
||||
ULONG MaxMessageLength,
|
||||
ULONG MaxPoolUsage
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCreateWaitablePort(
|
||||
PHANDLE PortHandle,
|
||||
POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
ULONG MaxConnectInfoLength,
|
||||
ULONG MaxDataLength,
|
||||
ULONG NPMessageQueueSize OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwImpersonateClientOfPort(
|
||||
HANDLE PortHandle,
|
||||
PPORT_MESSAGE ClientMessage
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwListenPort(
|
||||
HANDLE PortHandle,
|
||||
PPORT_MESSAGE ConnectionRequest
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryInformationPort(
|
||||
HANDLE PortHandle,
|
||||
PORT_INFORMATION_CLASS PortInformationClass,
|
||||
PVOID PortInformation,
|
||||
ULONG PortInformationLength,
|
||||
PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwReadRequestData(
|
||||
HANDLE PortHandle,
|
||||
PPORT_MESSAGE Message,
|
||||
ULONG Index,
|
||||
PVOID Buffer,
|
||||
ULONG BufferLength,
|
||||
PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwReplyPort(
|
||||
IN HANDLE PortHandle,
|
||||
IN PPORT_MESSAGE LpcReply
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwReplyWaitReceivePort(
|
||||
IN HANDLE PortHandle,
|
||||
OUT PVOID *PortContext OPTIONAL,
|
||||
IN PPORT_MESSAGE ReplyMessage OPTIONAL,
|
||||
OUT PPORT_MESSAGE ReceiveMessage
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwReplyWaitReceivePortEx(
|
||||
IN HANDLE PortHandle,
|
||||
OUT PVOID *PortContext OPTIONAL,
|
||||
IN PPORT_MESSAGE ReplyMessage OPTIONAL,
|
||||
OUT PPORT_MESSAGE ReceiveMessage,
|
||||
IN PLARGE_INTEGER Timeout OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwReplyWaitReplyPort(
|
||||
IN HANDLE PortHandle,
|
||||
OUT PPORT_MESSAGE ReplyMessage
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwRequestPort(
|
||||
IN HANDLE PortHandle,
|
||||
IN PPORT_MESSAGE LpcMessage
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwRequestWaitReplyPort(
|
||||
IN HANDLE PortHandle,
|
||||
OUT PPORT_MESSAGE LpcReply,
|
||||
IN PPORT_MESSAGE LpcRequest
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSecureConnectPort(
|
||||
PHANDLE PortHandle,
|
||||
PUNICODE_STRING PortName,
|
||||
PSECURITY_QUALITY_OF_SERVICE SecurityQos,
|
||||
PPORT_VIEW ClientView OPTIONAL,
|
||||
PSID Sid OPTIONAL,
|
||||
PREMOTE_PORT_VIEW ServerView OPTIONAL,
|
||||
PULONG MaxMessageLength OPTIONAL,
|
||||
PVOID ConnectionInformation OPTIONAL,
|
||||
PULONG ConnectionInformationLength OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwWriteRequestData(
|
||||
HANDLE PortHandle,
|
||||
PPORT_MESSAGE Message,
|
||||
ULONG Index,
|
||||
PVOID Buffer,
|
||||
ULONG BufferLength,
|
||||
PULONG ReturnLength
|
||||
);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,89 +1,89 @@
|
||||
/*++ NDK Version: 0095
|
||||
|
||||
Copyright (c) Alex Ionescu. All rights reserved.
|
||||
|
||||
Header Name:
|
||||
|
||||
pofuncs.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Function definitions for the Power Subsystem.
|
||||
|
||||
Author:
|
||||
|
||||
Alex Ionescu ([email protected]) 06-Oct-2004
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _POFUNCS_H
|
||||
#define _POFUNCS_H
|
||||
|
||||
//
|
||||
// Dependencies
|
||||
//
|
||||
#include <umtypes.h>
|
||||
|
||||
//
|
||||
// Native Calls
|
||||
//
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtInitiatePowerAction(
|
||||
POWER_ACTION SystemAction,
|
||||
SYSTEM_POWER_STATE MinSystemState,
|
||||
ULONG Flags,
|
||||
BOOLEAN Asynchronous
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtPowerInformation(
|
||||
POWER_INFORMATION_LEVEL PowerInformationLevel,
|
||||
PVOID InputBuffer,
|
||||
ULONG InputBufferLength,
|
||||
PVOID OutputBuffer,
|
||||
ULONG OutputBufferLength
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSetSystemPowerState(
|
||||
IN POWER_ACTION SystemAction,
|
||||
IN SYSTEM_POWER_STATE MinSystemState,
|
||||
IN ULONG Flags
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwInitiatePowerAction(
|
||||
POWER_ACTION SystemAction,
|
||||
SYSTEM_POWER_STATE MinSystemState,
|
||||
ULONG Flags,
|
||||
BOOLEAN Asynchronous
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwPowerInformation(
|
||||
POWER_INFORMATION_LEVEL PowerInformationLevel,
|
||||
PVOID InputBuffer,
|
||||
ULONG InputBufferLength,
|
||||
PVOID OutputBuffer,
|
||||
ULONG OutputBufferLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetSystemPowerState(
|
||||
IN POWER_ACTION SystemAction,
|
||||
IN SYSTEM_POWER_STATE MinSystemState,
|
||||
IN ULONG Flags
|
||||
);
|
||||
#endif
|
||||
/*++ NDK Version: 0095
|
||||
|
||||
Copyright (c) Alex Ionescu. All rights reserved.
|
||||
|
||||
Header Name:
|
||||
|
||||
pofuncs.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Function definitions for the Power Subsystem.
|
||||
|
||||
Author:
|
||||
|
||||
Alex Ionescu ([email protected]) 06-Oct-2004
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _POFUNCS_H
|
||||
#define _POFUNCS_H
|
||||
|
||||
//
|
||||
// Dependencies
|
||||
//
|
||||
#include <umtypes.h>
|
||||
|
||||
//
|
||||
// Native Calls
|
||||
//
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtInitiatePowerAction(
|
||||
POWER_ACTION SystemAction,
|
||||
SYSTEM_POWER_STATE MinSystemState,
|
||||
ULONG Flags,
|
||||
BOOLEAN Asynchronous
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtPowerInformation(
|
||||
POWER_INFORMATION_LEVEL PowerInformationLevel,
|
||||
PVOID InputBuffer,
|
||||
ULONG InputBufferLength,
|
||||
PVOID OutputBuffer,
|
||||
ULONG OutputBufferLength
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSetSystemPowerState(
|
||||
IN POWER_ACTION SystemAction,
|
||||
IN SYSTEM_POWER_STATE MinSystemState,
|
||||
IN ULONG Flags
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwInitiatePowerAction(
|
||||
POWER_ACTION SystemAction,
|
||||
SYSTEM_POWER_STATE MinSystemState,
|
||||
ULONG Flags,
|
||||
BOOLEAN Asynchronous
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwPowerInformation(
|
||||
POWER_INFORMATION_LEVEL PowerInformationLevel,
|
||||
PVOID InputBuffer,
|
||||
ULONG InputBufferLength,
|
||||
PVOID OutputBuffer,
|
||||
ULONG OutputBufferLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetSystemPowerState(
|
||||
IN POWER_ACTION SystemAction,
|
||||
IN SYSTEM_POWER_STATE MinSystemState,
|
||||
IN ULONG Flags
|
||||
);
|
||||
#endif
|
||||
|
||||
+171
-171
@@ -1,171 +1,171 @@
|
||||
Native Development Kit README
|
||||
NDK 1.00
|
||||
-----------------------------
|
||||
|
||||
0. PREABMLE
|
||||
|
||||
0.1 COPYRIGHT
|
||||
|
||||
The NDK is Copyright © 2005 Alex Ionescu.
|
||||
|
||||
0.2 CONTACT INFORMATION
|
||||
|
||||
The author, Alex Ionescu, may be reached through the following means:
|
||||
|
||||
Email: [email protected]
|
||||
Mail: 2246, Duvernay. H3J 2Y3. Montreal, QC. CANADA.
|
||||
Phone: (514)581-7156
|
||||
|
||||
1. LICENSE
|
||||
|
||||
1.1 OPEN SOURCE USAGE
|
||||
|
||||
Open Source Projects may choose to use one of either the two following licenses:
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE Version 2, June 1991
|
||||
|
||||
OR
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999
|
||||
|
||||
The choice is yours to make based on the license which is most compatible with your
|
||||
software.
|
||||
|
||||
You MUST read GPL.TXT or LGPL.TXT after your decision. Violating your chosen license
|
||||
voids your usage rights of the NDK and will lead to legal action on the part of the
|
||||
author.
|
||||
|
||||
If your Open Source product does not use a license which is compatible with the ones
|
||||
listed above, please contact the author to reach a mutual agreement to find a better
|
||||
solution for your product. Alternatively, you may choose to use the Proprietary Usage
|
||||
license displayed below in section 1.2
|
||||
|
||||
If you are unsure of whether or not your product qualifies as an Open Source product,
|
||||
please contact the Free Software Foundation, or visit their website at www.fsf.org.
|
||||
|
||||
|
||||
1.2 PROPRIETARY USAGE
|
||||
|
||||
Because it may be undesirable or impossible to adapt this software to your commercial
|
||||
and/or proprietary product(s) and/or service(s) using a (L)GPL license, proprietary
|
||||
products are free to use the following license:
|
||||
|
||||
NDK LICENSE Version 1, November 2005
|
||||
|
||||
You MUST read NDK.TXT for the full text of this license. Violating your chosen license
|
||||
voids your usage rights of the NDK, constitutes a copyright violation, and will lead to
|
||||
legal action on the part of the author.
|
||||
|
||||
If you are unsure of have any questions about the NDK License, please contact the
|
||||
author for further clarification.
|
||||
|
||||
2. ORIGINS OF NDK MATERIAL, AND ADDING YOUR OWN
|
||||
|
||||
2.1 CONTRIBUTIONS AND SOURCES
|
||||
|
||||
The NDK could not exist without the various contributions made by a variety of people
|
||||
and sources. The following public sources of information were lawfully used:
|
||||
|
||||
- GNU NTIFS.H, Revision 43
|
||||
- W32API, Version 2.5
|
||||
- Microsoft Driver Development Kit 2003 SP1
|
||||
- Microsoft Driver Development Kit 2000
|
||||
- Microsoft Driver Development Kit NT 4
|
||||
- Microsoft Driver Development Kit WinME
|
||||
- Microsoft Installable File Systems Kit 2003 SP1
|
||||
- Microsoft Windows Debugger (WinDBG) 6.5.0003.7
|
||||
- Microsoft Public Symbolic Data
|
||||
- Microsoft Public Windows Binaries (strings)
|
||||
- OSR Technical Articles
|
||||
- Undocumented windows 2000 Secrets, a Programmer's Cookbook
|
||||
- Windows NT/2000 Native API Reference
|
||||
- Windows NT File System Internals
|
||||
- Windows Internals I - II
|
||||
- Windows Internals 4th Edition
|
||||
|
||||
If the information contained in these sources was copyrighted, the information was not
|
||||
copied, but simply used as a basis for developing a compatible and identical definition.
|
||||
No information protected by a patent or NDA was used. All information was publically
|
||||
located through the Internet or purchased or licensed for lawful use.
|
||||
|
||||
Additionally, the following people contributed to the NDK:
|
||||
|
||||
- Art Yerkes
|
||||
- Eric Kohl
|
||||
- Filip Navara
|
||||
- Steven Edwards
|
||||
|
||||
2.2 BECOMING A CONTRIBUTOR
|
||||
|
||||
To contribute information to the NDK, simply contact the author with your new structure,
|
||||
definition, enumeration, or prototype. Please make sure that your addition is:
|
||||
|
||||
1) Actually correct!
|
||||
2) Present in Windows NT 5, 5.1, 5.2 and/or 6.0
|
||||
3) Not already accessible through another public header in the DDK, IFS, WDK and/or PSDK.
|
||||
4) From a publically verifiable source. The author needs to be able to search for your
|
||||
addition in a public information location (book, Internet, etc) and locate this definition.
|
||||
5) Not Reversed. Reversing a type is STRONGLY discouraged and a reversed type will more then likely
|
||||
not be accepted, due to the fact that functionality and naming will be entirely guessed, and things
|
||||
like unions are almost impossible to determine. It can also bring up possible legal ramifications
|
||||
depending on your location. However, using a tool to dump the strings inside an executable
|
||||
for the purpose of locating the actual name or definition of a structure (sometimes possible due
|
||||
to ASSERTs or debugging strings) is considered 'fair use' and will be a likely candidate.
|
||||
|
||||
If your addition satsfies these points, then please submit it, and also include whether or not
|
||||
you would like to be credited for it.
|
||||
|
||||
3. USAGE
|
||||
|
||||
3.1 ORGANIZATION
|
||||
|
||||
* The NDK is organized in a main folder (include/ndk) with arch-specific subfolders (ex: include/ndk/i386).
|
||||
* The NDK is structured by NT Subsystem Component (ex: ex, ps, rtl, etc).
|
||||
* The NDK can either be included on-demand (#include <ndk/xxxxx.h>) or globally (#include <ndk/ntndk.h>).
|
||||
The former is recommended to reduce compile time.
|
||||
* The NDK is structured by function and type. Every Subsystem Component has an associated "xxfuncs.h" and
|
||||
"xxtypes.h" header, where "xx" is the Subsystem (ex: iofuncs.h, iotypes.h)
|
||||
* The NDK has a special file called "umtypes.h" which exports to User-Mode or Native-Mode Applications the
|
||||
basic NT types which are present in ntdef.h. This file cannot be included since it would conflict with
|
||||
winnt.h and/or windef.h. Thus, umtypes.h provides the missing types. This file is automatically included
|
||||
in a User-Mode NDK project.
|
||||
* The NDK also includes a file called "umfuncs.h" which exports to User-Mode or Native-Mode Applications
|
||||
undocumented functions which can only be accessed from ntdll.dll.
|
||||
* The NDK has another special file called "ifssupp.h", which exports to Kernel-Mode drivers a few types which
|
||||
are only documented in the IFS kit, and are part of some native definitions. It will be deprecated next year
|
||||
with the release of the WDK.
|
||||
|
||||
3.2 USING IN YOUR PROJECT
|
||||
|
||||
* User Mode Application requiring Native Types:
|
||||
|
||||
#define WIN32_NO_STATUS /* Tell Windows headers you'll use ntstatus.s from NDK */
|
||||
#include <windows.h> /* Declare Windows Headers like you normally would */
|
||||
#include <ntndk.h> /* Declare the NDK Headers */
|
||||
|
||||
* Native Mode Application:
|
||||
|
||||
#include <windows.h> /* Declare Windows Headers for basic types. NEEDED UNTIL NDK 1.5 */
|
||||
#include <ntndk.h> /* Declare the NDK Headers */
|
||||
|
||||
* Kernel Mode Driver:
|
||||
|
||||
#include <ntddk.h> /* Declare DDK Headers like you normally would */
|
||||
#include <ntndk.h> /* Declare the NDK Headers */
|
||||
|
||||
* You may also include only the files you need (example for User-Mode application):
|
||||
|
||||
#define WIN32_NO_STATUS /* Tell Windows headers you'll use ntstatus.s from NDK */
|
||||
#include <windows.h> /* Declare Windows Headers like you normally would */
|
||||
#include <rtlfuncs.h> /* Declare the Rtl* Functions */
|
||||
|
||||
3.3 CAVEATS
|
||||
|
||||
* winternl.h: This header, part of the PSDK, was released by Microsoft as part of one of the governmen
|
||||
lawsuits against it, and documents a certain (minimal) part of the Native API and/or types. Unforunately,
|
||||
Microsoft decided to hack the Native Types and to define them incorrectly, replacing real members by "reserved"
|
||||
ones. As such, you 'cannot include winternl.h in any project that uses the NDK. Note however, that the NDK fully
|
||||
replaces it and retains compatibility with any project that used it.
|
||||
* Native programs: Native programs must include "windows.h" until the next release of the NDK (1.5). The upcoming
|
||||
version will automatically detect the lack of missing types and include them. Note however that you will still need
|
||||
to have the PSDK installed.
|
||||
Native Development Kit README
|
||||
NDK 1.00
|
||||
-----------------------------
|
||||
|
||||
0. PREABMLE
|
||||
|
||||
0.1 COPYRIGHT
|
||||
|
||||
The NDK is Copyright © 2005 Alex Ionescu.
|
||||
|
||||
0.2 CONTACT INFORMATION
|
||||
|
||||
The author, Alex Ionescu, may be reached through the following means:
|
||||
|
||||
Email: [email protected]
|
||||
Mail: 2246, Duvernay. H3J 2Y3. Montreal, QC. CANADA.
|
||||
Phone: (514)581-7156
|
||||
|
||||
1. LICENSE
|
||||
|
||||
1.1 OPEN SOURCE USAGE
|
||||
|
||||
Open Source Projects may choose to use one of either the two following licenses:
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE Version 2, June 1991
|
||||
|
||||
OR
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999
|
||||
|
||||
The choice is yours to make based on the license which is most compatible with your
|
||||
software.
|
||||
|
||||
You MUST read GPL.TXT or LGPL.TXT after your decision. Violating your chosen license
|
||||
voids your usage rights of the NDK and will lead to legal action on the part of the
|
||||
author.
|
||||
|
||||
If your Open Source product does not use a license which is compatible with the ones
|
||||
listed above, please contact the author to reach a mutual agreement to find a better
|
||||
solution for your product. Alternatively, you may choose to use the Proprietary Usage
|
||||
license displayed below in section 1.2
|
||||
|
||||
If you are unsure of whether or not your product qualifies as an Open Source product,
|
||||
please contact the Free Software Foundation, or visit their website at www.fsf.org.
|
||||
|
||||
|
||||
1.2 PROPRIETARY USAGE
|
||||
|
||||
Because it may be undesirable or impossible to adapt this software to your commercial
|
||||
and/or proprietary product(s) and/or service(s) using a (L)GPL license, proprietary
|
||||
products are free to use the following license:
|
||||
|
||||
NDK LICENSE Version 1, November 2005
|
||||
|
||||
You MUST read NDK.TXT for the full text of this license. Violating your chosen license
|
||||
voids your usage rights of the NDK, constitutes a copyright violation, and will lead to
|
||||
legal action on the part of the author.
|
||||
|
||||
If you are unsure of have any questions about the NDK License, please contact the
|
||||
author for further clarification.
|
||||
|
||||
2. ORIGINS OF NDK MATERIAL, AND ADDING YOUR OWN
|
||||
|
||||
2.1 CONTRIBUTIONS AND SOURCES
|
||||
|
||||
The NDK could not exist without the various contributions made by a variety of people
|
||||
and sources. The following public sources of information were lawfully used:
|
||||
|
||||
- GNU NTIFS.H, Revision 43
|
||||
- W32API, Version 2.5
|
||||
- Microsoft Driver Development Kit 2003 SP1
|
||||
- Microsoft Driver Development Kit 2000
|
||||
- Microsoft Driver Development Kit NT 4
|
||||
- Microsoft Driver Development Kit WinME
|
||||
- Microsoft Installable File Systems Kit 2003 SP1
|
||||
- Microsoft Windows Debugger (WinDBG) 6.5.0003.7
|
||||
- Microsoft Public Symbolic Data
|
||||
- Microsoft Public Windows Binaries (strings)
|
||||
- OSR Technical Articles
|
||||
- Undocumented windows 2000 Secrets, a Programmer's Cookbook
|
||||
- Windows NT/2000 Native API Reference
|
||||
- Windows NT File System Internals
|
||||
- Windows Internals I - II
|
||||
- Windows Internals 4th Edition
|
||||
|
||||
If the information contained in these sources was copyrighted, the information was not
|
||||
copied, but simply used as a basis for developing a compatible and identical definition.
|
||||
No information protected by a patent or NDA was used. All information was publically
|
||||
located through the Internet or purchased or licensed for lawful use.
|
||||
|
||||
Additionally, the following people contributed to the NDK:
|
||||
|
||||
- Art Yerkes
|
||||
- Eric Kohl
|
||||
- Filip Navara
|
||||
- Steven Edwards
|
||||
|
||||
2.2 BECOMING A CONTRIBUTOR
|
||||
|
||||
To contribute information to the NDK, simply contact the author with your new structure,
|
||||
definition, enumeration, or prototype. Please make sure that your addition is:
|
||||
|
||||
1) Actually correct!
|
||||
2) Present in Windows NT 5, 5.1, 5.2 and/or 6.0
|
||||
3) Not already accessible through another public header in the DDK, IFS, WDK and/or PSDK.
|
||||
4) From a publically verifiable source. The author needs to be able to search for your
|
||||
addition in a public information location (book, Internet, etc) and locate this definition.
|
||||
5) Not Reversed. Reversing a type is STRONGLY discouraged and a reversed type will more then likely
|
||||
not be accepted, due to the fact that functionality and naming will be entirely guessed, and things
|
||||
like unions are almost impossible to determine. It can also bring up possible legal ramifications
|
||||
depending on your location. However, using a tool to dump the strings inside an executable
|
||||
for the purpose of locating the actual name or definition of a structure (sometimes possible due
|
||||
to ASSERTs or debugging strings) is considered 'fair use' and will be a likely candidate.
|
||||
|
||||
If your addition satsfies these points, then please submit it, and also include whether or not
|
||||
you would like to be credited for it.
|
||||
|
||||
3. USAGE
|
||||
|
||||
3.1 ORGANIZATION
|
||||
|
||||
* The NDK is organized in a main folder (include/ndk) with arch-specific subfolders (ex: include/ndk/i386).
|
||||
* The NDK is structured by NT Subsystem Component (ex: ex, ps, rtl, etc).
|
||||
* The NDK can either be included on-demand (#include <ndk/xxxxx.h>) or globally (#include <ndk/ntndk.h>).
|
||||
The former is recommended to reduce compile time.
|
||||
* The NDK is structured by function and type. Every Subsystem Component has an associated "xxfuncs.h" and
|
||||
"xxtypes.h" header, where "xx" is the Subsystem (ex: iofuncs.h, iotypes.h)
|
||||
* The NDK has a special file called "umtypes.h" which exports to User-Mode or Native-Mode Applications the
|
||||
basic NT types which are present in ntdef.h. This file cannot be included since it would conflict with
|
||||
winnt.h and/or windef.h. Thus, umtypes.h provides the missing types. This file is automatically included
|
||||
in a User-Mode NDK project.
|
||||
* The NDK also includes a file called "umfuncs.h" which exports to User-Mode or Native-Mode Applications
|
||||
undocumented functions which can only be accessed from ntdll.dll.
|
||||
* The NDK has another special file called "ifssupp.h", which exports to Kernel-Mode drivers a few types which
|
||||
are only documented in the IFS kit, and are part of some native definitions. It will be deprecated next year
|
||||
with the release of the WDK.
|
||||
|
||||
3.2 USING IN YOUR PROJECT
|
||||
|
||||
* User Mode Application requiring Native Types:
|
||||
|
||||
#define WIN32_NO_STATUS /* Tell Windows headers you'll use ntstatus.s from NDK */
|
||||
#include <windows.h> /* Declare Windows Headers like you normally would */
|
||||
#include <ntndk.h> /* Declare the NDK Headers */
|
||||
|
||||
* Native Mode Application:
|
||||
|
||||
#include <windows.h> /* Declare Windows Headers for basic types. NEEDED UNTIL NDK 1.5 */
|
||||
#include <ntndk.h> /* Declare the NDK Headers */
|
||||
|
||||
* Kernel Mode Driver:
|
||||
|
||||
#include <ntddk.h> /* Declare DDK Headers like you normally would */
|
||||
#include <ntndk.h> /* Declare the NDK Headers */
|
||||
|
||||
* You may also include only the files you need (example for User-Mode application):
|
||||
|
||||
#define WIN32_NO_STATUS /* Tell Windows headers you'll use ntstatus.s from NDK */
|
||||
#include <windows.h> /* Declare Windows Headers like you normally would */
|
||||
#include <rtlfuncs.h> /* Declare the Rtl* Functions */
|
||||
|
||||
3.3 CAVEATS
|
||||
|
||||
* winternl.h: This header, part of the PSDK, was released by Microsoft as part of one of the governmen
|
||||
lawsuits against it, and documents a certain (minimal) part of the Native API and/or types. Unforunately,
|
||||
Microsoft decided to hack the Native Types and to define them incorrectly, replacing real members by "reserved"
|
||||
ones. As such, you 'cannot include winternl.h in any project that uses the NDK. Note however, that the NDK fully
|
||||
replaces it and retains compatibility with any project that used it.
|
||||
* Native programs: Native programs must include "windows.h" until the next release of the NDK (1.5). The upcoming
|
||||
version will automatically detect the lack of missing types and include them. Note however that you will still need
|
||||
to have the PSDK installed.
|
||||
|
||||
Reference in New Issue
Block a user