WindowsXP/Source/XPSP1/NT/base/wdmlib/wdmsec/pp/ppregstate.h
2024-08-03 16:30:48 +02:00

67 lines
1.5 KiB
C

/*++
Copyright (c) Microsoft Corporation. All rights reserved.
Module Name:
PpRegState.h
Abstract:
This header exposes routines for reading and writing PnP registry state
information.
Author:
Adrian J. Oney - April 21, 2002
Revision History:
--*/
#define DSIFLAG_DEVICE_TYPE 0x00000001
#define DSIFLAG_SECURITY_DESCRIPTOR 0x00000002
#define DSIFLAG_CHARACTERISTICS 0x00000004
#define DSIFLAG_EXCLUSIVE 0x00000008
typedef struct {
ULONG Flags;
DEVICE_TYPE DeviceType;
PSECURITY_DESCRIPTOR SecurityDescriptor;
ULONG Characteristics;
ULONG Exclusivity;
} STACK_CREATION_SETTINGS, *PSTACK_CREATION_SETTINGS;
NTSTATUS
PpRegStateReadCreateClassCreationSettings(
IN LPCGUID DeviceClassGuid,
IN PDRIVER_OBJECT DriverObject,
OUT PSTACK_CREATION_SETTINGS StackCreationSettings
);
NTSTATUS
PpRegStateUpdateStackCreationSettings(
IN LPCGUID DeviceClassGuid,
IN PSTACK_CREATION_SETTINGS StackCreationSettings
);
VOID
PpRegStateFreeStackCreationSettings(
IN PSTACK_CREATION_SETTINGS StackCreationSettings
);
VOID
PpRegStateLoadSecurityDescriptor(
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
IN OUT PSTACK_CREATION_SETTINGS StackCreationSettings
);
VOID
PpRegStateInitEmptyCreationSettings(
OUT PSTACK_CREATION_SETTINGS StackCreationSettings
);