-
Notifications
You must be signed in to change notification settings - Fork 327
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hook OpenPrinterW failed under X64 platform #11
Comments
I cannot reproduce this. Which version of winspool.drv do you have? |
@lhg19202212 Hi, I'm also having this problem. |
@Bonjour123 see #17 |
@poizan42 You were right, I was convinced I had the last version, but actually no. Thanks ! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Error message: ANOMALY: use of REX.w is meaningless (default operand size is 64).
My Test Code:
typedef BOOL (WINAPI* PFNOPENPRINTERW)(
LPWSTR pPrinterName,
LPHANDLE phPrinter,
LPPRINTER_DEFAULTSW pDefault
);
PFNOPENPRINTERW fpOpenPrinterW=(PFNOPENPRINTERW)GetProcAddress(LoadLibraryW(L"winspool.drv"), "OpenPrinterW");
BOOL
WINAPI
MyOpenPrinterW(
LPWSTR pPrinterName,
LPHANDLE phPrinter,
LPPRINTER_DEFAULTSW pDefault)
{
BOOL Status;
char temp[MAX_PATH]={0x00};
GetModuleFileNameA(NULL,temp,MAX_PATH);
printf("%s[%d] m_sProcessName=%s \n",FILE,LINE,temp);
Status = fpOpenPrinterW (pPrinterName, phPrinter, pDefault);
return Status;
}
int wmain(int argc, WCHAR* argv[])
{
HANDLE hProc = NULL;
HANDLE m_handle=NULL;
if(Mhook_SetHook((PVOID_)&fpOpenPrinterW, MyOpenPrinterW))
{
OpenPrinterW(L"\Brother MFC-7860DN Printer",&m_handle,NULL);
if(m_handle)
CloseHandle(m_handle);
Mhook_Unhook((PVOID_)&fpOpenPrinterW);
}else{
printf("%s[%d].OpenPrinterW hook fail\n",FILE,LINE);
}
return 0;
}
The text was updated successfully, but these errors were encountered: