ReactOS  0.4.15-dev-2355-gaf9df93
fxregistryapi.cpp File Reference
#include "fxsupportpch.hpp"
Include dependency graph for fxregistryapi.cpp:

Go to the source code of this file.

Macros

#define RtlSizeTToULong   RtlULongPtrToULong
 

Functions

NTSYSAPI NTSTATUS NTAPI ZwDeleteValueKey (__in IN HANDLE Key, __in IN PUNICODE_STRING ValueName)
 
_Must_inspect_result_ __drv_maxIRQL (PASSIVE_LEVEL) NTSTATUS STDCALL WDFEXPORT(WdfRegistryOpenKey)(__in PWDF_DRIVER_GLOBALS DriverGlobals
 
 if (ParentKey !=NULL)
 
 if (NT_SUCCESS(FxValidateObjectAttributesForParentHandle(pFxDriverGlobals, KeyAttributes)))
 
 FxPointerNotNull (pFxDriverGlobals, KeyName)
 
 FxPointerNotNull (pFxDriverGlobals, Key)
 
 if (!NT_SUCCESS(status))
 
 if (pKey==NULL)
 
 if (NT_SUCCESS(status))
 
 FxObjectHandleGetPtrAndGlobals (GetFxDriverGlobals(DriverGlobals), Key, FX_TYPE_REG_KEY,(PVOID *) &pKey, &pFxDriverGlobals)
 
pKey Close ()
 
pKey DeleteObject ()
 
 FxObjectHandleGetPtr (GetFxDriverGlobals(DriverGlobals), Key, FX_TYPE_REG_KEY,(PVOID *) &pKey)
 
return pKey GetHandle ()
 
 FxPointerNotNull (pFxDriverGlobals, ValueName)
 
_Must_inspect_result_ __in WDFKEY __in PCUNICODE_STRING __in ULONG __out_bcount_opt (ValueLength) PVOID Value
 
_Must_inspect_result_ __in WDFKEY __in PCUNICODE_STRING __in __drv_strictTypeMatch (1) POOL_TYPE PoolType
 
 FxPointerNotNull (pFxDriverGlobals, Memory)
 
 FxVerifierCheckNxPoolType (pFxDriverGlobals, PoolType, pFxDriverGlobals->Tag)
 
 if (!NT_SUCCESS(status) &&status !=STATUS_BUFFER_OVERFLOW)
 
 if (dataBuffer==NULL)
 
 FxPoolFree (dataBuffer)
 
 FxPointerNotNull (pFxDriverGlobals, Collection)
 
 FxObjectHandleGetPtr (pFxDriverGlobals, Collection, FX_TYPE_COLLECTION,(PVOID *) &pCollection)
 
 if (type !=REG_MULTI_SZ)
 
 if (Value !=NULL)
 
 if (Value==NULL)
 
 if (NT_SUCCESS(status) &&FxRegKey::_IsValidSzType(type)==FALSE)
 
 if (NT_SUCCESS(status)||status==STATUS_BUFFER_OVERFLOW)
 
 if (NT_SUCCESS(status) &&Value !=NULL)
 
 if (dataBuffer !=NULL)
 
 FxPointerNotNull (pFxDriverGlobals, String)
 
 FxObjectHandleGetPtr (pFxDriverGlobals, String, FX_TYPE_STRING,(PVOID *) &pString)
 
 FxPointerNotNull (pFxDriverGlobals, Value)
 
_Must_inspect_result_ __in WDFKEY __in PCUNICODE_STRING __in ULONG __in ULONG __in_ecount (ValueLength) PVOID Value)
 
 FxObjectHandleGetPtr (pFxDriverGlobals, Memory, IFX_TYPE_MEMORY,(PVOID *) &pMemory)
 
 if (MemoryOffsets !=NULL)
 
 if (tempValueBuf==NULL)
 
 RtlCopyMemory (tempValueBuf, Value->Buffer, Value->Length)
 
 FxPoolFree (tempValueBuf)
 
 FxPointerNotNull (pFxDriverGlobals, StringsCollection)
 
 FxObjectHandleGetPtr (pFxDriverGlobals, StringsCollection, FX_TYPE_COLLECTION,(PVOID *) &pCollection)
 
 if (valid==FALSE)
 
 if (pValue==NULL)
 
 FxCopyMultiSz (pValue, pCollection)
 
 FxPoolFree (pValue)
 

Variables

_Must_inspect_result_ __in_opt WDFKEY ParentKey
 
_Must_inspect_result_ __in_opt WDFKEY __in PCUNICODE_STRING KeyName
 
_Must_inspect_result_ __in_opt WDFKEY __in PCUNICODE_STRING __in ACCESS_MASK DesiredAccess
 
_Must_inspect_result_ __in_opt WDFKEY __in PCUNICODE_STRING __in ACCESS_MASK __in_opt PWDF_OBJECT_ATTRIBUTES KeyAttributes
 
_Must_inspect_result_ __in_opt WDFKEY __in PCUNICODE_STRING __in ACCESS_MASK __in_opt PWDF_OBJECT_ATTRIBUTES __out WDFKEY * Key
 
FxRegKeypKey = new (pFxDriverGlobals, KeyAttributes) FxRegKey(pFxDriverGlobals)
 
PFX_DRIVER_GLOBALS pFxDriverGlobals = GetFxDriverGlobals(DriverGlobals)
 
NTSTATUS status = FxVerifierCheckIrqlLevel(pFxDriverGlobals, PASSIVE_LEVEL)
 
WDFKEY keyHandle = NULL
 
HANDLE parentHandle
 
 else
 
_Must_inspect_result_ __in_opt WDFKEY __in PCUNICODE_STRING __in ACCESS_MASK __in ULONG CreateOptions
 
_Must_inspect_result_ __in_opt WDFKEY __in PCUNICODE_STRING __in ACCESS_MASK __in ULONG __out_opt PULONG CreateDisposition
 
_Must_inspect_result_ __in WDFKEY __in PCUNICODE_STRING ValueName
 
_Must_inspect_result_ __in WDFKEY __in PCUNICODE_STRING __in ULONG ValueLength
 
_Must_inspect_result_ __in WDFKEY __in PCUNICODE_STRING __in ULONG __out_opt PULONG ValueLengthQueried
 
_Must_inspect_result_ __in WDFKEY __in PCUNICODE_STRING __in ULONG __out_opt PULONG __out_opt PULONG ValueType
 
_Must_inspect_result_ __in WDFKEY __in PCUNICODE_STRING __in __in_opt PWDF_OBJECT_ATTRIBUTES MemoryAttributes
 
_Must_inspect_result_ __in WDFKEY __in PCUNICODE_STRING __in __in_opt PWDF_OBJECT_ATTRIBUTES __out WDFMEMORY * Memory = NULL
 
ULONG dataLength
 
PVOID dataBuffer = FxPoolAllocate(pFxDriverGlobals, PagedPool, dataLength)
 
_Must_inspect_result_ __in WDFKEY __in PCUNICODE_STRING __in_opt PWDF_OBJECT_ATTRIBUTES StringsAttributes
 
_Must_inspect_result_ __in WDFKEY __in PCUNICODE_STRING __in_opt PWDF_OBJECT_ATTRIBUTES __in WDFCOLLECTION Collection
 
FxDeviceBasepDeviceBase = NULL
 
FxCollectionpCollection
 
ULONG type
 
_Must_inspect_result_ __in WDFKEY __in PCUNICODE_STRING __out_opt PUSHORT ValueByteLength
 
_Must_inspect_result_ __in WDFKEY __in PCUNICODE_STRING __out_opt PUSHORT __inout_opt PUNICODE_STRING Value
 
_Must_inspect_result_ __in WDFKEY __in PCUNICODE_STRING __in WDFSTRING String
 
FxStringpString
 
_Must_inspect_result_ __in WDFKEY __in PCUNICODE_STRING __in ULONG __in WDFMEMORY __in_opt PWDFMEMORY_OFFSET MemoryOffsets
 
IFxMemorypMemory
 
PVOID pBuffer = pMemory->GetBuffer()
 
ULONG length = (ULONG) pMemory->GetBufferSize()
 
PWCHAR tempValueBuf = NULL
 
_Must_inspect_result_ __in WDFKEY __in PCUNICODE_STRING __in WDFCOLLECTION StringsCollection
 
PWCHAR pValue = (PWCHAR) FxPoolAllocate(pFxDriverGlobals, PagedPool, length)
 
BOOLEAN valid = FALSE
 

Macro Definition Documentation

◆ RtlSizeTToULong

#define RtlSizeTToULong   RtlULongPtrToULong

Definition at line 29 of file fxregistryapi.cpp.

Function Documentation

◆ __drv_maxIRQL()

_Must_inspect_result_ __drv_maxIRQL ( PASSIVE_LEVEL  )

◆ __drv_strictTypeMatch()

_Must_inspect_result_ __in WDFKEY __in PCUNICODE_STRING __in __drv_strictTypeMatch ( )

◆ __in_ecount()

Definition at line 1122 of file fxregistryapi.cpp.

1125 {
1126  DDI_ENTRY();
1127 
1129  FxRegKey* pKey;
1130  NTSTATUS status;
1131 
1133  Key,
1135  (PVOID*) &pKey,
1136  &pFxDriverGlobals);
1137 
1139 
1141  if (!NT_SUCCESS(status)) {
1142  return status;
1143  }
1144 
1146  if (!NT_SUCCESS(status)) {
1147  return status;
1148  }
1149 
1150  status = pKey->SetValue(ValueName, ValueType, Value, ValueLength);
1151 
1152  if (!NT_SUCCESS(status)) {
1154  "WDFKEY %p SetValue, %!STATUS!", Key, status);
1155  }
1156 
1157  return status;
1158 }
#define DDI_ENTRY()
Definition: fxglobalskm.h:56
NTSTATUS status
LONG NTSTATUS
Definition: precomp.h:26
DriverGlobals
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _Out_opt_ PULONG _Out_opt_ PULONG ValueType
Definition: wdfregistry.h:279
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:406
__inline NTSTATUS FxVerifierCheckIrqlLevel(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in KIRQL Irql)
Definition: fxverifier.h:158
FxPointerNotNull(pFxDriverGlobals, KeyName)
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
Definition: wdfregistry.h:240
_Must_inspect_result_ NTSTATUS __inline FxValidateUnicodeString(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PCUNICODE_STRING String)
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
PFX_DRIVER_GLOBALS pFxDriverGlobals
FxObjectHandleGetPtrAndGlobals(GetFxDriverGlobals(DriverGlobals), Key, FX_TYPE_REG_KEY,(PVOID *) &pKey, &pFxDriverGlobals)
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
FxRegKey * pKey
__inline PFX_DRIVER_GLOBALS GetFxDriverGlobals(__in PWDF_DRIVER_GLOBALS DriverGlobals)
Definition: fxglobals.h:597
#define TRACINGERROR
Definition: dbgtrace.h:63
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG ValueLength
Definition: wdfregistry.h:271
Definition: ps.c:97

◆ __out_bcount_opt()

◆ Close()

pKey Close ( )

◆ DeleteObject()

pKey DeleteObject ( )

◆ FxCopyMultiSz()

FxCopyMultiSz ( pValue  ,
pCollection   
)

◆ FxObjectHandleGetPtr() [1/5]

FxObjectHandleGetPtr ( GetFxDriverGlobals(DriverGlobals ,
Key  ,
FX_TYPE_REG_KEY  ,
(PVOID *) &  pKey 
)

◆ FxObjectHandleGetPtr() [2/5]

FxObjectHandleGetPtr ( pFxDriverGlobals  ,
Collection  ,
FX_TYPE_COLLECTION  ,
(PVOID *) &  pCollection 
)

◆ FxObjectHandleGetPtr() [3/5]

FxObjectHandleGetPtr ( pFxDriverGlobals  ,
String  ,
FX_TYPE_STRING  ,
(PVOID *) &  pString 
)

◆ FxObjectHandleGetPtr() [4/5]

FxObjectHandleGetPtr ( pFxDriverGlobals  ,
Memory  ,
IFX_TYPE_MEMORY  ,
(PVOID *) &  pMemory 
)

◆ FxObjectHandleGetPtr() [5/5]

FxObjectHandleGetPtr ( pFxDriverGlobals  ,
StringsCollection  ,
FX_TYPE_COLLECTION  ,
(PVOID *) &  pCollection 
)

◆ FxObjectHandleGetPtrAndGlobals()

FxObjectHandleGetPtrAndGlobals ( GetFxDriverGlobals(DriverGlobals ,
Key  ,
FX_TYPE_REG_KEY  ,
(PVOID *) &  pKey,
pFxDriverGlobals 
)

Referenced by __in_ecount(), and if().

◆ FxPointerNotNull() [1/8]

FxPointerNotNull ( pFxDriverGlobals  ,
KeyName   
)

Referenced by __in_ecount().

◆ FxPointerNotNull() [2/8]

FxPointerNotNull ( pFxDriverGlobals  ,
Key   
)

◆ FxPointerNotNull() [3/8]

FxPointerNotNull ( pFxDriverGlobals  ,
ValueName   
)

◆ FxPointerNotNull() [4/8]

FxPointerNotNull ( pFxDriverGlobals  ,
Memory   
)

◆ FxPointerNotNull() [5/8]

FxPointerNotNull ( pFxDriverGlobals  ,
Collection   
)

◆ FxPointerNotNull() [6/8]

FxPointerNotNull ( pFxDriverGlobals  ,
String   
)

◆ FxPointerNotNull() [7/8]

FxPointerNotNull ( pFxDriverGlobals  ,
Value   
)

◆ FxPointerNotNull() [8/8]

FxPointerNotNull ( pFxDriverGlobals  ,
StringsCollection   
)

◆ FxPoolFree() [1/3]

FxPoolFree ( dataBuffer  )

Referenced by if().

◆ FxPoolFree() [2/3]

FxPoolFree ( tempValueBuf  )

◆ FxPoolFree() [3/3]

FxPoolFree ( pValue  )

◆ FxVerifierCheckNxPoolType()

FxVerifierCheckNxPoolType ( pFxDriverGlobals  ,
PoolType  ,
pFxDriverGlobals->  Tag 
)

◆ GetHandle()

return pKey GetHandle ( )

◆ if() [1/18]

if ( ParentKey = NULL)

Definition at line 81 of file fxregistryapi.cpp.

81  {
83 
85  ParentKey,
87  (PVOID*) &pParent,
89 
90  parentHandle = pParent->GetHandle();
91  }
PFX_DRIVER_GLOBALS pFxDriverGlobals
FxObjectHandleGetPtrAndGlobals(GetFxDriverGlobals(DriverGlobals), Key, FX_TYPE_REG_KEY,(PVOID *) &pKey, &pFxDriverGlobals)
_Must_inspect_result_ _In_opt_ WDFKEY ParentKey
Definition: wdfregistry.h:69
HANDLE parentHandle
FxObject * pParent
Definition: fxdpcapi.cpp:86

◆ if() [2/18]

Definition at line 98 of file fxregistryapi.cpp.

99  {
100  FxObject* pParent;
101 
103  KeyAttributes->ParentObject,
105  (PVOID*)&pParent,
107  }
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK _In_opt_ PWDF_OBJECT_ATTRIBUTES KeyAttributes
Definition: wdfdevice.h:2654
PFX_DRIVER_GLOBALS pFxDriverGlobals
FxObjectHandleGetPtrAndGlobals(GetFxDriverGlobals(DriverGlobals), Key, FX_TYPE_REG_KEY,(PVOID *) &pKey, &pFxDriverGlobals)
FxObject * pParent
Definition: fxdpcapi.cpp:86

◆ if() [3/18]

if ( NT_SUCCESSstatus)

Definition at line 116 of file fxregistryapi.cpp.

116  {
117  return status;
118  }
NTSTATUS status

◆ if() [4/18]

if ( pKey  = NULL)

Definition at line 131 of file fxregistryapi.cpp.

131  {
133 
136  "Could not allocate memory for a WDFKEY, %!STATUS!", status);
137 
138  return status;
139  }
#define STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158
NTSTATUS status
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
PFX_DRIVER_GLOBALS pFxDriverGlobals
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
#define TRACINGERROR
Definition: dbgtrace.h:63
Definition: ps.c:97

◆ if() [5/18]

if ( NT_SUCCESS(status )

Definition at line 143 of file fxregistryapi.cpp.

143  {
145 
146  if (NT_SUCCESS(status)) {
147  *Key = keyHandle;
148  }
149  else {
152  "new WDFKEY object open failed, %!STATUS!", status);
153  }
154  }
WDFKEY keyHandle
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2654
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
Definition: wdfdevice.h:2697
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
PFX_DRIVER_GLOBALS pFxDriverGlobals
HANDLE parentHandle
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
FxRegKey * pKey
#define TRACINGERROR
Definition: dbgtrace.h:63
Definition: ps.c:97

◆ if() [6/18]

Definition at line 555 of file fxregistryapi.cpp.

555  {
556  return status;
557  }
NTSTATUS status

◆ if() [7/18]

if ( dataBuffer  = NULL)

Definition at line 560 of file fxregistryapi.cpp.

560  {
562 
565  "WDFKEY %p KEY_VALUE_PARTIAL_INFORMATION allocation failed, %!STATUS!",
566  Key, status);
567 
568  return status;
569  }
#define STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158
NTSTATUS status
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
PFX_DRIVER_GLOBALS pFxDriverGlobals
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
#define TRACINGERROR
Definition: dbgtrace.h:63
Definition: ps.c:97

◆ if() [8/18]

if ( type = REG_MULTI_SZ)

Definition at line 682 of file fxregistryapi.cpp.

682  {
684  }
#define STATUS_OBJECT_TYPE_MISMATCH
Definition: ntstatus.h:273

◆ if() [9/18]

if ( Value = NULL)

Definition at line 839 of file fxregistryapi.cpp.

839  {
841  if (!NT_SUCCESS(status)) {
842  return status;
843  }
844  }
NTSTATUS status
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:406
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
_Must_inspect_result_ NTSTATUS __inline FxValidateUnicodeString(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PCUNICODE_STRING String)
PFX_DRIVER_GLOBALS pFxDriverGlobals
Definition: ps.c:97

◆ if() [10/18]

if ( Value  = NULL)

Definition at line 846 of file fxregistryapi.cpp.

846  {
847  //
848  // Caller wants to know just the length
849  //
850  dataLength = 0;
851  dataBuffer = NULL;
852  }
ULONG dataLength
PVOID dataBuffer
#define NULL
Definition: types.h:112

◆ if() [11/18]

Definition at line 870 of file fxregistryapi.cpp.

871  {
873  }
#define STATUS_OBJECT_TYPE_MISMATCH
Definition: ntstatus.h:273
Definition: ps.c:97

◆ if() [12/18]

if ( NT_SUCCESS(status)||  status = STATUS_BUFFER_OVERFLOW)

Definition at line 878 of file fxregistryapi.cpp.

878  {
879  //
880  // pPartial->DataLength is in bytes, convert to number of
881  // WCHARs
882  //
883  if (ValueByteLength != NULL) {
885  }
886  }
ULONG dataLength
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT ValueByteLength
Definition: wdfregistry.h:406
unsigned short USHORT
Definition: pedump.c:61
#define NULL
Definition: types.h:112

◆ if() [13/18]

if ( NT_SUCCESS(status) &&Value = NULL)

Definition at line 888 of file fxregistryapi.cpp.

888  {
889 
890 
891 
892 
895 
896  //
897  // pPartial->DataLength cannot be greater than Value->MaximumLength
898  // based on the call to _ComputePartialSize above. So it is safe to
899  // copy the pPartial data buffer to the Value buffer.
900  //
901  __analysis_assume(dataLength <= Value->MaximumLength);
903 
904  //terminating null shouldn't be included in the Length
905  Value->Length = (USHORT)dataLength;
906 
907  if (Value->Buffer[Value->Length/sizeof(WCHAR)-1] == UNICODE_NULL) {
908  Value->Length -= sizeof(WCHAR);
909  }
910  }
ULONG dataLength
PVOID dataBuffer
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT ValueByteLength
Definition: wdfregistry.h:406
#define UNICODE_NULL
#define __analysis_assume(expr)
Definition: sal.h:2893
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:406
_In_ WDFDMATRANSACTION _In_ size_t MaximumLength
#define ASSERT(a)
Definition: mode.c:45
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned short USHORT
Definition: pedump.c:61
RtlCopyMemory(tempValueBuf, Value->Buffer, Value->Length)
#define NULL
Definition: types.h:112

◆ if() [14/18]

if ( dataBuffer = NULL)

Definition at line 912 of file fxregistryapi.cpp.

912  {
914  }
PVOID dataBuffer
FxPoolFree(dataBuffer)

◆ if() [15/18]

if ( MemoryOffsets = NULL)

Definition at line 1216 of file fxregistryapi.cpp.

1216  {
1218 
1219  if (!NT_SUCCESS(status)) {
1222  "WDFKEY %p, WDFMEMORY %p Offsets overflowed, %!STATUS!",
1223  Key, Memory, status);
1224 
1225  return status;
1226  }
1227 
1228  if (MemoryOffsets->BufferLength > 0) {
1229  status = RtlSizeTToULong(MemoryOffsets->BufferLength, &length);
1230 
1231  if (!NT_SUCCESS(status)) {
1234  "WDFKEY %p, WDFMEMORY %p BufferLength in Offsets truncated, "
1235  "%!STATUS!", Key, Memory, status);
1236 
1237  return status;
1238  }
1239  }
1240 
1241  pBuffer = WDF_PTR_ADD_OFFSET(pBuffer, MemoryOffsets->BufferOffset);
1242  }
#define RtlSizeTToULong
_Must_inspect_result_ NTSTATUS ValidateMemoryOffsets(__in_opt PWDFMEMORY_OFFSET Offsets)
Definition: ifxmemory.hpp:105
#define WDF_PTR_ADD_OFFSET(_ptr, _offset)
Definition: wdfcore.h:144
NTSTATUS status
GLenum GLuint GLenum GLsizei length
Definition: glext.h:5579
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _In_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET MemoryOffsets
Definition: wdfregistry.h:558
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG _In_ _Out_ WDFMEMORY * Memory
Definition: wdfmemory.h:169
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
PVOID pBuffer
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
PFX_DRIVER_GLOBALS pFxDriverGlobals
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
IFxMemory * pMemory
#define TRACINGERROR
Definition: dbgtrace.h:63
Definition: ps.c:97

◆ if() [16/18]

if ( tempValueBuf  = NULL)

Definition at line 1361 of file fxregistryapi.cpp.

1361  {
1363 
1365  "WDFKEY %p allocate temporary buffer failed, "
1366  "%!STATUS!", Key, status);
1367 
1368  return status;
1369  }
#define STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158
NTSTATUS status
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
PFX_DRIVER_GLOBALS pFxDriverGlobals
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
#define TRACINGERROR
Definition: dbgtrace.h:63
Definition: ps.c:97

◆ if() [17/18]

if ( valid  = FALSE)

Definition at line 1513 of file fxregistryapi.cpp.

1513  {
1516  "WDFKEY %p, WDFCOLLECTION %p contains "
1517  "non string objects, %!STATUS!",
1519  return status;
1520  }
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
NTSTATUS status
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
PFX_DRIVER_GLOBALS pFxDriverGlobals
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ WDFCOLLECTION StringsCollection
Definition: wdfregistry.h:601
#define TRACINGERROR
Definition: dbgtrace.h:63
Definition: ps.c:97

◆ if() [18/18]

if ( pValue  = NULL)

Definition at line 1524 of file fxregistryapi.cpp.

1524  {
1526 
1528  "WDFKEY %p allocate for query buffer failed, "
1529  "%!STATUS!", Key, status);
1530 
1531  return status;
1532  }
#define STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158
NTSTATUS status
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
PFX_DRIVER_GLOBALS pFxDriverGlobals
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
#define TRACINGERROR
Definition: dbgtrace.h:63
Definition: ps.c:97

◆ RtlCopyMemory()

RtlCopyMemory ( tempValueBuf  ,
Value->  Buffer,
Value->  Length 
)

Referenced by if().

◆ ZwDeleteValueKey()

Variable Documentation

◆ Collection

Initial value:
{
#define DDI_ENTRY()
Definition: fxglobalskm.h:56

Definition at line 628 of file fxregistryapi.cpp.

◆ CreateDisposition

◆ CreateOptions

◆ dataBuffer

◆ dataLength

ULONG dataLength

Definition at line 520 of file fxregistryapi.cpp.

Referenced by if().

◆ DesiredAccess

◆ else

else
Initial value:
{
HANDLE parentHandle
#define NULL
Definition: types.h:112

Definition at line 92 of file fxregistryapi.cpp.

◆ Key

Initial value:
{
#define DDI_ENTRY()
Definition: fxglobalskm.h:56

Definition at line 69 of file fxregistryapi.cpp.

◆ KeyAttributes

◆ keyHandle

keyHandle = NULL

Definition at line 75 of file fxregistryapi.cpp.

Referenced by if().

◆ KeyName

◆ length

ULONG length = (ULONG) pMemory->GetBufferSize()

Definition at line 1186 of file fxregistryapi.cpp.

◆ Memory

Definition at line 508 of file fxregistryapi.cpp.

◆ MemoryAttributes

◆ MemoryOffsets

Initial value:
{
#define DDI_ENTRY()
Definition: fxglobalskm.h:56

Definition at line 1179 of file fxregistryapi.cpp.

◆ parentHandle

HANDLE parentHandle

Definition at line 76 of file fxregistryapi.cpp.

Referenced by if().

◆ ParentKey

Definition at line 59 of file fxregistryapi.cpp.

◆ pBuffer

pBuffer = pMemory->GetBuffer()

Definition at line 1185 of file fxregistryapi.cpp.

Referenced by if().

◆ pCollection

FxCollection* pCollection

Definition at line 633 of file fxregistryapi.cpp.

◆ pDeviceBase

pDeviceBase = NULL

Definition at line 632 of file fxregistryapi.cpp.

◆ pFxDriverGlobals

Definition at line 73 of file fxregistryapi.cpp.

Referenced by __in_ecount(), and if().

◆ pKey

Definition at line 72 of file fxregistryapi.cpp.

Referenced by __in_ecount(), and if().

◆ pMemory

IFxMemory* pMemory

Definition at line 1183 of file fxregistryapi.cpp.

Referenced by if().

◆ pString

FxString* pString

Definition at line 937 of file fxregistryapi.cpp.

◆ pValue

pValue = (PWCHAR) FxPoolAllocate(pFxDriverGlobals, PagedPool, length)

Definition at line 1471 of file fxregistryapi.cpp.

Referenced by _get_doserrno(), _get_errno(), _get_osplatform(), _test_img_name(), CertRDNValueToStrA(), CertRDNValueToStrW(), ColorContext_GetExifColorSpace(), COMMAND_PROTOTYPE(), ConvertSizeToKeyword(), ConvertTokenToDec(), ConvertTokenToHex(), ConvertTokenToKeyword(), ConvertTokenToLineNumber(), ConvertTokenToModule(), ConvertTokenToOnOff(), ConvertTokenToSpecialKeyword(), ConvertTokenToSrcFile(), ConvertTokenToSymbol(), ddraw_surface4_GetUniquenessValue(), ddraw_surface7_GetUniquenessValue(), DECLARE_INTERFACE_(), FindAddressForSourceLine(), FindGlobalStabSymbol(), GetBooleanRegValue(), GetBooleanValue(), GetDWordValue(), GetIntValue(), GetLongValue(), GetSelectedComboBoxIndex(), InitializeDefaultUserLocale(), LsarLookupPrivilegeValue(), Match2_get_Value(), Match_get_Value(), MimeBody_AppendProp(), MimeBody_GetOption(), MimeBody_GetProp(), MimeBody_SetOption(), MimeBody_SetProp(), MimeMessage_GetBodyProp(), MimeMessage_GetOption(), MimeMessage_GetProp(), MimeMessage_SetBodyProp(), MimeMessage_SetOption(), MimeMessage_SetProp(), MimeSecurity_GetCertData(), ok_fls_(), PropDlg_DisplayValue(), ATL::CRegKey::QueryBinaryValue(), quote_rdn_value_to_str_a(), quote_rdn_value_to_str_w(), ReadHex(), ReadRegDwordValue(), ReadRegSzKey(), ReadRegSzValue(), Record_IntegerDataGet(), ReplaceKeywordWithValue(), ScanExports(), ATL::CRegKey::SetBinaryValue(), ATL::CRegKey::SetValue(), SHGetValueGoodBootA(), SHGetValueGoodBootW(), SHPropertyBag_ReadLONG(), SHRegGetUSValueA(), SHRegGetUSValueW(), and VARIANT_FetchDispatchValue().

◆ status

◆ String

Initial value:
{
#define DDI_ENTRY()
Definition: fxglobalskm.h:56

Definition at line 933 of file fxregistryapi.cpp.

◆ StringsAttributes

◆ StringsCollection

Initial value:
{
#define DDI_ENTRY()
Definition: fxglobalskm.h:56

Definition at line 1465 of file fxregistryapi.cpp.

◆ tempValueBuf

tempValueBuf[Value->Length/sizeof(WCHAR)] = NULL

Definition at line 1324 of file fxregistryapi.cpp.

◆ type

Definition at line 636 of file fxregistryapi.cpp.

◆ valid

◆ Value

Initial value:
{
#define DDI_ENTRY()
Definition: fxglobalskm.h:56

Definition at line 812 of file fxregistryapi.cpp.

◆ ValueByteLength

◆ ValueLength

◆ ValueLengthQueried

◆ ValueName

Initial value:
{
#define DDI_ENTRY()
Definition: fxglobalskm.h:56

Definition at line 392 of file fxregistryapi.cpp.

◆ ValueType

Initial value:
{
#define DDI_ENTRY()
Definition: fxglobalskm.h:56

Definition at line 442 of file fxregistryapi.cpp.