text: #pragma option push -b -a8 -pc -A- -w-pun /*P_O_Push*/
  //
  // delayloadhandler.h
  //
  //  Copyright (c) Microsoft Corporation.  All rights reserved.
  //
  //  Define structures and prototypes necessary for implementing a delayload
  //  failure hook.
  //
  
  #ifdef _MSC_VER
  #pragma once
  #endif  // _MSC_VER
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  #if NTDDI_VERSION >= NTDDI_WIN8
  
  typedef struct _DELAYLOAD_PROC_DESCRIPTOR {
      ULONG ImportDescribedByName;
      union {
          LPCSTR Name;
          ULONG Ordinal;
      } Description;
  } DELAYLOAD_PROC_DESCRIPTOR, *PDELAYLOAD_PROC_DESCRIPTOR;
  
  typedef struct _DELAYLOAD_INFO {
      ULONG Size;
      PCIMAGE_DELAYLOAD_DESCRIPTOR DelayloadDescriptor;
      PIMAGE_THUNK_DATA ThunkAddress;
      LPCSTR TargetDllName;
      DELAYLOAD_PROC_DESCRIPTOR TargetApiDescriptor;
      PVOID TargetModuleBase;
      PVOID Unused;
      ULONG LastError;
  } DELAYLOAD_INFO, *PDELAYLOAD_INFO;
  
  typedef
  PVOID
  (WINAPI *PDELAYLOAD_FAILURE_DLL_CALLBACK) (
      _In_ ULONG NotificationReason,
      _In_ PDELAYLOAD_INFO DelayloadInfo
      );
  
  #define DELAYLOAD_GPA_FAILURE 4
  
  extern PDELAYLOAD_FAILURE_DLL_CALLBACK __pfnDliFailureHook2;
  
  #endif // NTDDI_VERSION >= NTDDI_WIN8
  
  #ifdef __cplusplus
  }
  #endif
  #pragma option pop /*P_O_Pop*/
  