274{
283
284 DPRINT(
"PcNewRegistryKey entered\n");
285
286 if (!OutRegistryKey)
288
294 {
296 }
297
298
300 {
301
303 {
304
306 }
307
309
310
312 }
316 {
317
319 {
320
322 }
323
324
326
328 }
330 {
331 if (SubDevice ==
NULL)
332 {
333
335 }
336
337
339
341 {
342 DPRINT(
"No ISubdevice interface\n");
343
345 }
346
347
350 {
351 DPRINT(
"Failed to get subdevice descriptor %x\n",
Status);
354 }
355
356
358 {
359 DPRINT(
"No device interface registered\n");
362 }
363
364
366
367
369
370
372 }
373
374
376 {
379 }
380
381
383 if (!RegistryKey)
384 {
385
388 }
389
390
392
394 {
395
396 delete RegistryKey;
397 }
398
399 DPRINT(
"PcNewRegistryKey result %p\n", *OutRegistryKey);
401}
struct SYMBOLICLINK_ENTRY * PSYMBOLICLINK_ENTRY
STDMETHODIMP QueryInterface(REFIID InterfaceId, PVOID *Interface)
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
#define NT_SUCCESS(StatCode)
#define IsListEmpty(ListHead)
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Reserved_ ULONG _In_opt_ PUNICODE_STRING _In_ ULONG _Out_opt_ PULONG Disposition
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
NTSTATUS NTAPI IoOpenDeviceInterfaceRegistryKey(IN PUNICODE_STRING SymbolicLinkName, IN ACCESS_MASK DesiredAccess, OUT PHANDLE DeviceInterfaceKey)
NTSTATUS NTAPI IoOpenDeviceRegistryKey(IN PDEVICE_OBJECT DeviceObject, IN ULONG DevInstKeyType, IN ACCESS_MASK DesiredAccess, OUT PHANDLE DevInstRegKey)
@ DeviceInterfaceRegistryKey
struct PCLASS_DEVICE_EXTENSION * PPCLASS_DEVICE_EXTENSION
base of all file and directory entries
PDEVICE_OBJECT PhysicalDeviceObject
LIST_ENTRY SymbolicLinkList
UNICODE_STRING SymbolicLink
struct _LIST_ENTRY * Flink
#define CONTAINING_RECORD(address, type, field)
#define STATUS_INVALID_PARAMETER
#define STATUS_UNSUCCESSFUL
#define STATUS_INSUFFICIENT_RESOURCES
_Must_inspect_result_ _In_ WDFDEVICE Device
_In_ PDEVICE_OBJECT DeviceObject
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK _In_ ULONG CreateOptions
#define PLUGPLAY_REGKEY_CURRENT_HWPROFILE
#define PLUGPLAY_REGKEY_DEVICE