阅读:1747回复:2
我在看DDK下虚拟打印机驱动的时候!!
在EMF.C文件中有一个fnWinSpoolDrv类型,不知道这是什么类型???
请各位帮助!! |
|
沙发#
发布于:2004-08-23 14:13
我在LOCAL.H中找到了这些函数的定义:
/*++ Copyright (c) 1998 Microsoft Corporation All rights reserved Module Name: local.h --*/ #ifndef _LOCAL_H_ #define _LOCAL_H_ typedef long NTSTATUS; #include <windows.h> #include <winspool.h> #include <winsplp.h> #include <wchar.h> #include "winprint.h" #include <winddiui.h> typedef struct _pfnWinSpoolDrv { BOOL (*pfnOpenPrinter)(LPTSTR, LPHANDLE, LPPRINTER_DEFAULTS); BOOL (*pfnClosePrinter)(HANDLE); BOOL (*pfnDevQueryPrint)(HANDLE, LPDEVMODE, DWORD *, LPWSTR, DWORD); BOOL (*pfnPrinterEvent)(LPWSTR, INT, DWORD, LPARAM); LONG (*pfnDocumentProperties)(HWND, HANDLE, LPWSTR, PDEVMODE, PDEVMODE, DWORD); HANDLE (*pfnLoadPrinterDriver)(HANDLE); BOOL (*pfnSetDefaultPrinter)(LPCWSTR); BOOL (*pfnGetDefaultPrinter)(LPWSTR, LPDWORD); HANDLE (*pfnRefCntLoadDriver)(LPWSTR, DWORD, DWORD, BOOL); BOOL (*pfnRefCntUnloadDriver)(HANDLE, BOOL); BOOL (*pfnForceUnloadDriver)(LPWSTR); } fnWinSpoolDrv, *pfnWinSpoolDrv; BOOL SplInitializeWinSpoolDrv( pfnWinSpoolDrv pfnList ); BOOL GetJobAttributes( LPWSTR pPrinterName, LPDEVMODEW pDevmode, PATTRIBUTE_INFO_3 pAttributeInfo ); #define LOG_ERROR EVENTLOG_ERROR_TYPE LPWSTR AllocSplStr(LPWSTR pStr); LPVOID AllocSplMem(DWORD cbAlloc); LPVOID ReallocSplMem( LPVOID pOldMem, DWORD cbOld, DWORD cbNew); #define FreeSplMem( pMem ) (GlobalFree( pMem ) ? FALSE:TRUE) #define FreeSplStr( lpStr ) ((lpStr) ? (GlobalFree(lpStr) ? FALSE:TRUE):TRUE) // // DEBUGGING: // #if DBG BOOL DebugPrint( PCH pszFmt, ... ); // // ODS - OutputDebugString // #define ODS( MsgAndArgs ) \ do { \ DebugPrint MsgAndArgs; \ } while(0) #else // // No debugging // #define ODS(x) #endif // DBG #endif 可是这中间的函数从那里得到它们的说明呢?? |
|
板凳#
发布于:2004-08-24 09:02
fnWinSpoolDrv 这种是指针函数
有一些可以查到说明, 很多微软都没公开,根本找不到 |
|
|