909{
910
911
912
913
914
915
916
927
929 if(!RegistryPathStr)
930 {
933 return;
934 }
935
940
943
946
948
950 {
952
954
957 {
960 }
961 else
962 {
964 if(!KeyInformation)
965 {
969 }
970 else
971 {
974
976
978 {
981 KeyInformation =
NULL;
982 }
983 }
984 }
985 }
986
988 {
990
992 }
993 else
994 {
996
998 }
999
1000
1002
1004 {
1005
1006 VOID *BindContext = 0;
1012
1013 if (KeyInformation)
1014 {
1015
1016 if (!(*DataPtr))
1017 break;
1018
1020 }
1021 else
1022 {
1023
1025 break;
1026
1028
1030 }
1031
1032
1034 {
1035
1037 }
1038
1039
1041 {
1042
1044 }
1045
1046
1047
1048
1049
1050
1051
1052
1053
1058
1060 if(!RegistryPathStr)
1061 {
1064 break;
1065 }
1066
1071
1073
1075
1076 NDIS_DbgPrint(
MAX_TRACE, (
"Calling protocol's BindAdapter handler with DeviceName %wZ and RegistryPath %wZ\n",
1078
1079 {
1081 if(BindHandler)
1082 {
1085 }
1086 else
1088 }
1089
1091 if (KeyInformation)
1092 {
1093
1095 }
1096 else
1097 {
1098
1099 CurrentEntry = CurrentEntry->
Flink;
1100 }
1101 }
1102
1103 if (KeyInformation)
1104 {
1106 }
1107}
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
#define NT_SUCCESS(StatCode)
#define NDIS_DbgPrint(_t_, _x_)
LIST_ENTRY AdapterListHead
PLOGICAL_ADAPTER MiniLocateDevice(PNDIS_STRING AdapterName)
PADAPTER_BINDING NTAPI LocateAdapterBindingByName(IN PPROTOCOL_BINDING ProtocolBinding, IN PNDIS_STRING AdapterName)
#define ExAllocatePoolWithTag(hernya, size, tag)
#define ExAllocatePool(type, size)
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
#define OBJ_KERNEL_HANDLE
#define OBJ_CASE_INSENSITIVE
#define ExFreePoolWithTag(_P, _T)
#define InitializeObjectAttributes(p, n, a, r, s)
_Out_ PNDIS_HANDLE _In_ PNDIS_PROTOCOL_CHARACTERISTICS ProtocolCharacteristics
#define NDIS_STATUS_SUCCESS
VOID(NTAPI * BIND_HANDLER)(OUT PNDIS_STATUS Status, IN NDIS_HANDLE BindContext, IN PNDIS_STRING DeviceName, IN PVOID SystemSpecific1, IN PVOID SystemSpecific2)
#define NDIS_STATUS_RESOURCES
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
@ KeyValuePartialInformation
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
static unsigned __int64 next
#define STATUS_BUFFER_TOO_SMALL
#define STATUS_BUFFER_OVERFLOW
struct _LIST_ENTRY * Flink
NDIS_MINIPORT_BLOCK NdisMiniportBlock
UNICODE_STRING MiniportName
#define CONTAINING_RECORD(address, type, field)
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_ PULONG ResultLength
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName