Microsoft MVP성태의 닷넷 이야기
안녕하세요.. [링크 복사], [링크+제목 복사],
조회: 11039
글쓴 사람
꼬마마법사 (huss5210 at hanmail.net)
홈페이지
첨부 파일
 

int __cdecl main(int /*argc*/, char ** /*argv[]*/)
{

    HRESULT hr = ::CoInitializeEx(NULL, COINIT_MULTITHREADED);
    if (FAILED(hr))
        {
        printf(_T("CoInitializeEx failed!!!\n"));
        return 0;
        }
        {
        GWTest gwTest ;

        if (gwTest.Initialize())
            {
            
             gwTest.Execute();
            }

        gwTest.Terminate();
        }

    ::CoUninitialize();

    return 0;
}
void GWTest::Execute()
{
    USES_CONVERSION;

    if ( !GetPoolNames() )
        return ;

    for ( ULONG i = 0 ; i < m_culSessions ; i++ )
        {
        m_sprghSessions[i] = (HANDLE)_beginthread(HandleSession, 0, (LPVOID)OLE2A(m_sprgbstr[i]));
        if (NULL == m_sprghSessions[i])
            {
            ::SetEvent(m_hEvtStopSvc);
            break ;
            }
        }

    if ( WAIT_TIMEOUT == ::WaitForMultipleObjects( m_culSessions , m_sprghSessions, TRUE , INFINITE ) )
        {
        DisplayMsg(_T("Some session threads are still running!!\n")) ;
        }
}
bool GWTest::GetPoolNames()
{
    HRESULT    hr = S_OK;
    bool rc = true;
    int cDevices = 1;
    long lCount;
    int Index = 0;
    CComPtr<IWSConfiguredDevices>    spicd;
    VARIANT var;

    ::VariantInit(&var) ;

    printf("GetPoolNames함수 호출.\n");
    hr = spicd.CoCreateInstance(CLSID_WSConfiguredDevices);
    printf("hr의 반환값 %d\n",hr);

    if (FAILED(hr))
    {
        char buf [256];
        sprintf (buf, "CoCreateInstance of IWSConfiguredDevices failed: 0x%x\n", hr);
        DisplayMsg(_T(buf)) ;
        return false ;
    }
    
    spicd->Register((BSTR)"saprt");
        
    hr = spicd->get_Count(&lCount);

    if (FAILED(hr))
    {
        char buf [256];
        sprintf (buf, "IWSConfiguredDevices::get_Count failed: 0x%x\n", hr);
        DisplayMsg(_T(buf)) ;
        return false ;
    }


    //if (lCount > 35)
     //lCount = 35;
     printf("lCount의 반환값 %d\n",lCount);

    m_sprgbstr = new CComBSTR[lCount] ;
    m_sprghSessions = new HANDLE[lCount] ;

    for (int i = 0; i < lCount; i++)
    
        m_sprghSessions [i] = NULL;
        printf("%d\n",&hr);

     for (cDevices = 1; (cDevices <= lCount) && SUCCEEDED(hr); cDevices++)
     {
        hr = spicd->get_Item(cDevices , &var);
            
        if (SUCCEEDED(hr))
        {
            CComQIPtr<IWSDevice> spiWSDevice = var.punkVal;
            if (spiWSDevice == NULL)
                break;

            WSDeviceType wsDevType;
        
            hr = spiWSDevice->get_DeviceType(&wsDevType);
            if (FAILED(hr))
                break ;

            if ((wsDevType == DT_DIR) || (wsDevType == DT_CRT))
            {
                CComBSTR bstr ;
                hr = spiWSDevice->get_Poolname(&bstr);
                if (FAILED(hr))
                    break ;
                m_sprgbstr[Index++] = bstr ;
            }
        }
        printf("%d\n",&hr);
    }
    m_culSessions = (ULONG)Index;
    ::VariantClear( &var ) ;

    if (FAILED(hr))
        rc = false ;

    return rc;
}
실행 코드 상에 왜 lCount =0이 나오고..왜 구동이 안되는 건지 알수 있을까요?









[최초 등록일: ]
[최종 수정일: 12/10/2005]


비밀번호

댓글 작성자
 



2005-12-11 11시47분
죄송하지만, ^^ 이런 류의 질문은 답변 드릴 수 없습니다. "IWSConfiguredDevices" 인터페이스는 처음 보는 지라 혹시나 제가 모르는 어떤 유용한 인터페이스인가 싶어서 검색해 봐도 안 나오는 것을 보니, 해당 회사에서만 사용되는 인터페이스 같은데요. 이런 것은, 해당 COM 개체를 만든 업체에 직접 문의하시는 것이 빠를 것입니다.
kevin25

... 61  62  63  64  65  66  67  68  69  70  71  72  73  [74]  75  ...
NoWriterDateCnt.TitleFile(s)
702clev...9/5/200714729    답변글 [답변]: Exe COM으로 만들면 혹시 Bridge dll없이도 권한 상승이 가능한가요?
695스마일8/30/200714810Visaul Studio 2005에서 디버깅이 안되요...ㅠㅠ [1]
694이호정8/29/200714947[CardSpace 관련 질문] 정리해 좋으신 글 잘 보았습니다.
698정성태9/1/200715043    답변글 [답변]: [CardSpace 관련 질문] 정리해 좋으신 글 잘 보았습니다.
704이호정9/6/200716068        답변글 답변해주신 내용 잘 봤습니다. ^_^b
705정성태9/6/200714400            답변글 [답변]: 답변해주신 내용 잘 봤습니다. ^_^b
706이호정9/7/200715123                답변글 후후... 이러다가 CardSpace 전용게시판 되는 것 아닌지 모르겠습니다. ^_^a;;
693장근배8/29/200714626매핑 구간이 열려 있습니다 [2]
710장근배9/17/200714395    답변글 [답변]: 매핑 구간이 열려 있습니다
692채영사랑8/29/200714258<질문> Ms stress tool 로 부하테스트중.
697정성태9/1/200713995    답변글 [답변]: <질문> Ms stress tool 로 부하테스트중. [1]
690한귀순8/28/200715033ClickOnce 배포 추가질문 [4]
689clev...8/27/200714326SmartClient에서도 Exe COM과 같이 여러곳에서 변수 공유가 가능한가요? [2]
688한귀순8/24/200716809ClickOnce 배포 [1]
686이상욱8/21/200715672[질문] VS.NET 2008 - WCF 를 위한 디버깅 환경 개선 테스트 중에
687정성태8/21/200713952    답변글 [답변]: [질문] VS.NET 2008 - WCF 를 위한 디버깅 환경 개선 테스트 중에
685김동진8/19/200716341Vista에서 WSDL관련 IIs7세팅 질문입니다. [4]
683조스7/31/200715558스마트 클라이언트에서 다른 어셈블리(.NET component) 사용시 에러 [1]
682정해봉7/30/200716630비스타에서 CAS설정하기... 소스 첨부 [1]파일 다운로드1
684정해봉8/14/200717394    답변글 [답변]: 비스타에서 CAS설정하기... 소스 첨부 [3]
681박희진7/27/200715174caspol로 설정된 권한집합 웹에서 읽어올 수 있나요?? [1]
680창민이7/27/200715896COM+등록시 에러 부분 때문에.. [2]
678정해봉7/24/200714802비스타에서 CAS 설정하기... [1]
677첫사랑7/24/200714019SSL에 관한 질문입니다.
679정성태7/26/200714659    답변글 [답변]: SSL에 관한 질문입니다. [1]
676kiuk7/11/200714996웹폐이지상의 이미지 상태 저장을 하고싶습니다. [1]
... 61  62  63  64  65  66  67  68  69  70  71  72  73  [74]  75  ...