none
UMDF 드라이버에서 Engine Adapter 가 올라가지 않습니다. RRS feed

  • 질문

  • 이 코드인데 아주 기본 입니다.

    BOOL APIENTRY 
    DllMain( 
        HANDLE ModuleHandle, 
        DWORD ReasonForCall, 
        LPVOID Reserved
        )
    {
    	WCHAR dbgMsg[512] = { 0  , };
    	DWORD lastErr = 0;
        UNREFERENCED_PARAMETER(ModuleHandle);
        UNREFERENCED_PARAMETER(ReasonForCall);
        UNREFERENCED_PARAMETER(Reserved);
    
    	if (ReasonForCall == DLL_PROCESS_ATTACH)
    	{
    		lastErr = GetLastError();
    		wsprintf(dbgMsg , L"[Engine]DllMain - DLL_PROCESS_ATTACH(%X , %d)\n" , lastErr , lastErr );
    		OutputDebugString(dbgMsg);
    		//OutputDebugString(L"[Engine]DllMain - DLL_PROCESS_ATTACH\n");
    
    	}
    	else if (ReasonForCall == DLL_PROCESS_DETACH)
    	{
    		lastErr = GetLastError();
    		wsprintf(dbgMsg, L"[Engine]DllMain - DLL_PROCESS_DETACH(%X , %d)\n", lastErr, lastErr);
    		OutputDebugString(dbgMsg);
    		//OutputDebugString(L"[Engine]DllMain - DLL_PROCESS_DETACH\n");
    	}
    
        return TRUE;
    }

    아래 로그는 인스톨 할때 로그 입니다.

    [1192] [WudfBioUsbSample]DLL_PROCESS_ATTACH
    [1192] [WudfBioUsbSample]OnDeviceAdd
    [1192] [WudfBioUsbSample]CreateInstanceAndInitialize
    [1192] [WudfBioUsbSample]Initialize
    [1192] [WudfBioUsbSample]Configure
    [1192] [WudfBioUsbSample]OnPrepareHardware
    [1192] [WudfBioUsbSample]CreateUsbIoTargets
    [1192] [WudfBioUsbSample]CreateUsbIoTargets - CreateUsbTargetDevice Success
    [1192] [WudfBioUsbSample]CreateUsbIoTargets - RetrieveUsbInterface Success
    [1192] [WudfBioUsbSample]CreateUsbIoTargets - GetNumEndPoints
    [1192] [WudfBioUsbSample]CreateUsbIoTargets - RetrieveUsbPipeObject Success
    [1192] [WudfBioUsbSample]CreateUsbIoTargets - m_pIUsbInterruptPipe = pIUsbPipe
    [1192] [WudfBioUsbSample]CreateUsbIoTargets - RetrieveUsbPipeObject Success
    [1192] [WudfBioUsbSample]CreateUsbIoTargets - m_pIUsbOutputPipe = pIUsbPipe
    [1192] [WudfBioUsbSample]CreateUsbIoTargets END
    [1192] [WudfBioUsbSample]SetPowerManagement
    [1192] [WudfBioUsbSample]Queue Start
    [1192] [WudfBioUsbSample]InitiatePendingRead
    [1192] [WudfBioUsbSample]OnGetAttributes
    [1192] [WudfBioUsbSample]GetIoRequestParams
    [1192] [WudfBioUsbSample]GetInputMemory
    [1192] [WudfBioUsbSample]GetOutputMemory
    [1192] [WudfBioUsbSample]OnGetAttributes END
    [9276] [Engine]DllMain - DLL_PROCESS_ATTACH(0 , 0)
    [9276] [Engine]DllMain - DLL_PROCESS_DETACH(0 , 0)

    물론 가이드 문서에 따라 DLL 에 테스트 인증서로 서명을 하였습니다.

    근데 EngineAdapter 가 내부에 정의 된 클래스라도 하나라도 부르고 내려가면 구현 문제라고 생각을 하겠는데

    위 증상만봐서는 서명 문제 처럼 보이는데 이상 하게 로드가 되지 않습니다.

    문서 상에는 


    makecert –r -pe -ss My -n CN=Contoso.com(Test) ContosoTest.cer

    이렇게 생성을하고 

    signtool sign /v /ph /s My /n "WDKTestCert devComputer,131399885506095432" /t http://timestamp.verisign.com/scripts/timestamp.dll c:\mydll.dll

    이런 식으로 서명을 하라고 해서 서명도 했는데 왜그럴까요.


    • 편집됨 경력 없음 2017년 5월 23일 화요일 오전 6:26 한글로 변경
    2017년 5월 23일 화요일 오전 6:18

답변