📄 dllentry.cpp
字号:
/*++
Copyright (c) 2005 Microsoft Corporation
All rights reserved.
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.
File Name:
dllentry.cpp
Abstract:
Implementation of the booklet filter dllentry points. Dllmain only
stores the instance handle. DllGetClassObject calls on to a generic
filter get class object template function.
--*/
#include "precomp.h"
#include "debug.h"
#include "globals.h"
#include "bkflt.h"
#include "xdexcept.h"
#include "getfltob.h"
/*++
Routine Name:
DllMain
Routine Description:
Entry point to the booklet filter which is called when a new process is started
Arguments:
hInst - Handle to the DLL
wReason - Specifies a flag indicating why the DLL entry-point function is being called
Return Value:
TRUE
--*/
BOOL WINAPI
DllMain(
__in HINSTANCE hInst,
__in WORD wReason,
__in_opt LPVOID
)
{
switch (wReason)
{
case DLL_PROCESS_ATTACH:
{
g_hInstance = hInst;
}
break;
}
return TRUE;
}
/*++
Routine Name:
DllCanUnloadNow
Routine Description:
Method which reports whether the DLL is in use to allow the caller to unload
the DLL safely
Arguments:
None
Return Value:
HRESULT
S_OK - Dll can unload
S_FALSE - Dll can't unload
--*/
STDAPI
DllCanUnloadNow()
{
if (g_cServerLocks == 0)
{
return S_OK ;
}
else
{
return S_FALSE;
}
}
/*++
Routine Name:
DllGetClassObject
Routine Description:
Method to return the current class object
Arguments:
rclsid - CLSID that will associate the correct data and code
riid - Reference to the identifier of the interface that the caller is to use to communicate with the class object
ppv - Address of pointer variable that receives the interface pointer requested in riid
Return Value:
HRESULT
S_OK - On success
E_* - On error
CLASS_E_CLASSNOTAVAILABLE - On unsupported class
--*/
STDAPI
DllGetClassObject(
__in REFCLSID rclsid,
__in REFIID riid,
__deref_out LPVOID FAR* ppv
)
{
return GetFilterObject<CBookletFilter>(rclsid, riid, ppv);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -