Sample Code
Windows Driver Samples/ WPD service sample driver/ C++/ WpdServiceSampleDriver.cpp/
#include "stdafx.h" #include "resource.h" #include "WpdServiceSampleDriver.h" #include "WpdServiceSampleDriver.tmh" HINSTANCE g_hInstance = NULL; class CWpdServiceSampleDriverModule : public CAtlDllModuleT< CWpdServiceSampleDriverModule > { public : DECLARE_REGISTRY_APPID_RESOURCEID(IDR_WpdServiceSampleDriver, "{95B558CB-F6B1-4B37-A105-3B7B6A196FB5}") DECLARE_LIBID(LIBID_WpdServiceSampleDriverLib) }; CWpdServiceSampleDriverModule _AtlModule; // DLL Entry Point extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) { if(dwReason == DLL_PROCESS_ATTACH) { g_hInstance = hInstance; // Initialize tracing. WPP_INIT_TRACING(MYDRIVER_TRACING_ID); } else if (dwReason == DLL_PROCESS_DETACH) { // Cleanup tracing. WPP_CLEANUP(); } return _AtlModule.DllMain(dwReason, lpReserved); } // Used to determine whether the DLL can be unloaded by OLE STDAPI DllCanUnloadNow(void) { return _AtlModule.DllCanUnloadNow(); } // Returns a class factory to create an object of the requested type STDAPI DllGetClassObject(_In_ REFCLSID rclsid, _In_ REFIID riid, _Outptr_ LPVOID* ppv) { return _AtlModule.DllGetClassObject(rclsid, riid, ppv); } // DllRegisterServer - Adds entries to the system registry STDAPI DllRegisterServer(void) { // registers object, typelib and all interfaces in typelib HRESULT hr = _AtlModule.DllRegisterServer(); return hr; } // DllUnregisterServer - Removes entries from the system registry STDAPI DllUnregisterServer(void) { HRESULT hr = _AtlModule.DllUnregisterServer(); return hr; }
Our Services
-
What our customers say about us?
Read our customer testimonials to find out why our clients keep returning for their projects.
View Testimonials