288 DPRINT(
"PcNewRegistryKey entered\n");
335 if (SubDevice ==
NULL)
346 DPRINT(
"No ISubdevice interface\n");
355 DPRINT(
"Failed to get subdevice descriptor %x\n",
Status);
363 DPRINT(
"No device interface registered\n");
403 DPRINT(
"PcNewRegistryKey result %p\n", *OutRegistryKey);
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
#define STATUS_INSUFFICIENT_RESOURCES
NTSTATUS NTAPI IoOpenDeviceInterfaceRegistryKey(IN PUNICODE_STRING SymbolicLinkName, IN ACCESS_MASK DesiredAccess, OUT PHANDLE DeviceInterfaceKey)
struct PCLASS_DEVICE_EXTENSION * PPCLASS_DEVICE_EXTENSION
#define PLUGPLAY_REGKEY_DEVICE
#define STATUS_INVALID_PARAMETER
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
struct SYMBOLICLINK_ENTRY * PSYMBOLICLINK_ENTRY
_Must_inspect_result_ FORCEINLINE BOOLEAN IsListEmpty(_In_ const LIST_ENTRY *ListHead)
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Reserved_ ULONG _In_opt_ PUNICODE_STRING _In_ ULONG _Out_opt_ PULONG Disposition
_In_ PDEVICE_OBJECT DeviceObject
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
struct _LIST_ENTRY * Flink
#define NT_SUCCESS(StatCode)
PDEVICE_OBJECT PhysicalDeviceObject
#define STATUS_UNSUCCESSFUL
STDMETHODIMP QueryInterface(REFIID InterfaceId, PVOID *Interface)
_Must_inspect_result_ _In_ WDFDEVICE Device
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK _In_ ULONG CreateOptions
NTSTATUS NTAPI IoOpenDeviceRegistryKey(IN PDEVICE_OBJECT DeviceObject, IN ULONG DevInstKeyType, IN ACCESS_MASK DesiredAccess, OUT PHANDLE DevInstRegKey)
UNICODE_STRING SymbolicLink
base of all file and directory entries
#define PLUGPLAY_REGKEY_CURRENT_HWPROFILE
LIST_ENTRY SymbolicLinkList