2015-03-26 1 views
0

Я пытаюсь получить некоторую информацию о конфигурации моего сервера HTTP (реализуется с помощью HTTP SERVER API 2.0 из Smalltalk), позвонив по телефону HttpQueryServiceConfiguration, и я получаю INVALID_HANDLE (6) сообщение об ошибке. Я просмотрел всю документацию, и я думаю, что передаю правильные параметры. Не знаю, что может быть неправильно.HttpQueryServiceConfiguration ошибка INVALID_HANDLE

Вот как я звоню API:

| length return | 

info := HTTP_SERVICE_CONFIG_URLACL_SET external. 
query := HTTP_SERVICE_CONFIG_URLACL_QUERY external. 
key := HTTP_SERVICE_CONFIG_URLACL_KEY new. 
key urlPrefix: 'http://localhost:50000/tp/'. 
query KeyDesc: key. 
length := ExternalLong external. 
return := self dll 
    HttpQueryServiceConfiguration: 0 
    ConfigId: HttpServiceConfigUrlAclInfo 
    pInputConfigInfo: query asParameter 
    InputConfigInfoLength: query sizeInBytes 
    pOutputConfigInfo: info asParameter 
    OutputConfigInfoLength: info sizeInBytes 
    pReturnLength: length asParameter 
    pOverlapped: nil. 
return = 0 ifFalse: [self osError: return] 

Любая идея поможет,

спасибо!

+0

** который ** "Smalltalk"? Pharo, Squeak, VW, VA, Dolphin ...? –

ответ

3

Я нашел примечание в определении функции HttpSetServiceConfiguration на MSDN documentation. При этой инициализации функция преуспевает !!.

должен позвонить HttpInitialize/HttpTerminate Если вы получите код ошибки 6 (ERROR_INVALID_HANDLE), то знайте, что вы должны> называть HttpInitialize() с HTTP_INITIALIZE_CONFIG первым.