now i want to build my client program with wdk 6000 as dll, then call it in
my vc project, my code is as following:
/**************************************************************************************/
extern “C” {
bool __declspec(dllexport) SendReadMessage(void);
};
/**************************************************************************************/
/**************************************************************************************/
#include “Stdafx.h”
#include “CommClient.h”
#include “FltUser.h”
#define COMM_PORT_NAME L"\CommPort";
typedef enum _READ_DIR_COMMAND {
FStart
} READ_DIR_COMMAND;
struct READ_DIR_MESSAGE {
READ_DIR_COMMAND Command;
};
bool SendReadMessage(void)
{
HRESULT hResult = S_OK;
HANDLE port = INVALID_HANDLE_VALUE;
DWORD bytesReturned = 0;
READ_DIR_MESSAGE command;
command.Command = FStart;
hResult = FilterConnectCommunicationPort(L"\CommPort",
0,NULL,0,NULL,&port );
if (IS_ERROR( hResult )) {
printf( “Could not connect to filter: 0x%08x\n”, hResult );
return 0;
}
else
{
printf(“connect ok \n”);
}
hResult = FilterSendMessage( port, &command, sizeof(READ_DIR_COMMAND),
0, 0, &bytesReturned );
return TRUE;
};
/**************************************************************************************/
sources file
/**************************************************************************************/
TARGETNAME=CommClient
TARGETTYPE=DYNLINK
UMTYPE=nt
C_DEFINES=$(C_DEFINES) -DUNICODE -D_UNICODE
LINKLIBS=$(SDK_LIB_PATH)\shell32.lib
INCLUDES=$(INCLUDES); \
$(IFSKIT_INC_PATH); \
$(DDK_INC_PATH); \
…\inc
TARGETLIBS=$(TARGETLIBS) \
$(IFSKIT_LIB_PATH)\fltLib.lib
SOURCES=StdAfx.cpp \
CommClient.cpp
!if “$(DDK_TARGET_OS)”==“WinLH”
_NT_TARGET_VERSION=$(_NT_TARGET_VERSION_WINXP)
!endif
/***************************************************************************************/
But i can’t build them successfully, i think there exists problem in my
sources file, but i don’t know why? can you tell me??