100 lines
1.7 KiB
C++
100 lines
1.7 KiB
C++
|
//depot/Lab01_N/drivers/storage/kdext/minipkd/kdext.cpp#1 - add change 1876 (text)
|
||
|
/*++
|
||
|
|
||
|
Copyright (C) Microsoft Corporation, 1993 - 1999
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
kdexts.c
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This file contains the generic routines and initialization code
|
||
|
for the kernel debugger extensions dll.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Wesley Witt (wesw) 26-Aug-1993
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
User Mode
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#include "pch.h"
|
||
|
#pragma hdrstop
|
||
|
|
||
|
#include <ntverp.h>
|
||
|
|
||
|
//
|
||
|
// globals
|
||
|
//
|
||
|
|
||
|
WINDBG_EXTENSION_APIS ExtensionApis;
|
||
|
|
||
|
|
||
|
DllInit(
|
||
|
HANDLE hModule,
|
||
|
DWORD dwReason,
|
||
|
DWORD dwReserved
|
||
|
)
|
||
|
{
|
||
|
switch (dwReason) {
|
||
|
case DLL_THREAD_ATTACH:
|
||
|
break;
|
||
|
|
||
|
case DLL_THREAD_DETACH:
|
||
|
break;
|
||
|
|
||
|
case DLL_PROCESS_DETACH:
|
||
|
break;
|
||
|
|
||
|
case DLL_PROCESS_ATTACH:
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
return TRUE;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
extern "C" HRESULT CALLBACK DebugExtensionInitialize(PULONG Version, PULONG Flags)
|
||
|
{
|
||
|
IDebugClient *DebugClient;
|
||
|
PDEBUG_CONTROL DebugControl;
|
||
|
HRESULT Hr;
|
||
|
|
||
|
*Version = DEBUG_EXTENSION_VERSION(1, 0);
|
||
|
*Flags = 0;
|
||
|
|
||
|
|
||
|
if ((Hr = DebugCreate(__uuidof(IDebugClient),
|
||
|
(void **)&DebugClient)) != S_OK)
|
||
|
{
|
||
|
return Hr;
|
||
|
}
|
||
|
if ((Hr = DebugClient->QueryInterface(__uuidof(IDebugControl),
|
||
|
(void **)&DebugControl)) != S_OK)
|
||
|
{
|
||
|
return Hr;
|
||
|
}
|
||
|
|
||
|
ExtensionApis.nSize = sizeof (ExtensionApis);
|
||
|
if ((Hr = DebugControl->GetWindbgExtensionApis64(&ExtensionApis)) != S_OK) {
|
||
|
return Hr;
|
||
|
}
|
||
|
|
||
|
DebugControl->Release();
|
||
|
DebugClient->Release();
|
||
|
return S_OK;
|
||
|
}
|
||
|
|
||
|
|
||
|
extern "C" void CALLBACK
|
||
|
DebugExtensionUninitialize(void)
|
||
|
{
|
||
|
// g_ExcepCallbacks.Uninitialize();
|
||
|
// g_FnProfCallbacks.Uninitialize();
|
||
|
}
|