Clipper On Line • Ver Tópico - Função WIN_OSNETREGOK()

Função WIN_OSNETREGOK()

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Função WIN_OSNETREGOK()

Mensagempor Kapiaba » 03 Jun 2014 16:33

Senhores boa tarde, porfa, alguém tem esta função completa para FiveWin for xHarbour, e em qualquer versão do windows e que possa disponibiliar?

Obg. abs.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes

Função WIN_OSNETREGOK()

Mensagempor Itamar M. Lins Jr. » 03 Jun 2014 23:22

Ué, esta postada aqui mesmo.

t+
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6949
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 506 vezes

Função WIN_OSNETREGOK()

Mensagempor janio » 03 Jun 2014 23:33

Para quem sentiu falta da função os_IsUserAnAdmin(), segue:

#pragma BEGINDUMP

#include <windows.h>

HB_FUNC( OS_ISUSERANADMIN )
{
BOOL b;
SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY;
PSID AdministratorsGroup;
b = AllocateAndInitializeSid( &NtAuthority, 2,
SECURITY_BUILTIN_DOMAIN_RID,
DOMAIN_ALIAS_RID_ADMINS,
0, 0, 0, 0, 0, 0,
&AdministratorsGroup );
if( b )
{
if ( !CheckTokenMembership( NULL, AdministratorsGroup, &b ) )
b = FALSE;
FreeSid( AdministratorsGroup );
}

hb_retl( b );
}

#pragma ENDDUMP
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Função WIN_OSNETREGOK()

Mensagempor Kapiaba » 04 Jun 2014 09:48

Itamar, de uma olhadinha... Obrg. abs.

#include "FiveWin.ch"

function Main()

   If !WIN_OSNETREGOK() //Precisa direitos ADM

      If !WIN_OSNETREGOK(.t.,.t.) //primeiro .t. é para ajustar XP/W98..., o segundo ajusta no vista.

         MsgInfo('Registro do windows não ajustado !')

      EndIf

   EndIf

RETURN NIL

#include "common.ch"
#include "directry.ch"

#define WIN_HKEY_LOCAL_MACHINE 0
#define WIN_HKEY_CLASSES_ROOT 1
#define WIN_HKEY_CURRENT_USER 2
#define WIN_HKEY_CURRENT_CONFIG 3
#define WIN_HKEY_LOCAL_MACHINE 4
#define WIN_HKEY_USERS 5

/* NOTE: To change any of these registry settings
    Administrator rights are required by default in Windows. [vszakats] */

FUNCTION WIN_OSNETREGOK( lSetIt, lDoVista )

   LOCAL bRetVal := .T.
   LOCAL cKeySrv
   LOCAL cKeyWks

   IF ! ISLOGICAL( lSetIt )

      lSetIt := .F.

   ENDIF

   IF ! ISLOGICAL( lDoVista )

      lDoVista := .T.

   ENDIF

   IF ! lDoVista .AND. Os_IsWinVISTA() //win_osIsVistaOrUpper()
      /* do nothing */
   ELSEIF Os_IsWin9X() // hb_osIsWin9x()
      bRetVal := QueryRegistry( WIN_HKEY_LOCAL_MACHINE, "System\CurrentControlSet\Services\VxD\VREDIR", "DiscardCacheOnOpen", 1, lSetIt )
   ELSE
     cKeySrv := "System\CurrentControlSet\Services\LanmanServer\Parameters"
     cKeyWks := "System\CurrentControlSet\Services\LanmanWorkStation\Parameters"

     IF lSetIt
        lSetIt := ! Os_IsWinNT() .OR. os_IsUserAnAdmin() //wapi_IsUserAnAdmin()
     ENDIF

     /* Server settings */
     bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeySrv, "CachedOpenLimit", 0, lSetIt )
     bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeySrv, "EnableOpLocks", 0, lSetIt ) /* Q124916 */
     bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeySrv, "EnableOpLockForceClose", 1, lSetIt )
     bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeySrv, "SharingViolationDelay", 0, lSetIt )
     bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeySrv, "SharingViolationRetries", 0, lSetIt )

     IF Os_IsWinVISTA() // win_osIsVistaOrUpper()
        /* If SMB2 is enabled turning off oplocks does not work, so SMB2 is required to be turned off on Server. */
        bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeySrv, "SMB2", 0, lSetIt )
     ENDIF

     /* Workstation settings */
     bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeyWks, "UseOpportunisticLocking", 0, lSetIt )
     bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeyWks, "EnableOpLocks", 0, lSetIt )
     bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeyWks, "EnableOpLockForceClose", 1, lSetIt )
     bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeyWks, "UtilizeNtCaching", 0, lSetIt )
     bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeyWks, "UseLockReadUnlock", 0, lSetIt )

     IF Os_IsWinVISTA() //win_osIsVistaOrUpper()

        bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeyWks, "FileInfoCacheLifetime", 0, lSetIt )
        bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeyWks, "FileNotFoundCacheLifetime", 0, lSetIt )
        bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeyWks, "DirectoryCacheLifetime", 0, lSetIt )

     ENDIF

     IF Os_IsWinNT() //hb_osIsWin2K()

        bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, "System\CurrentControlSet\Services\MRXSmb\Parameters", "OpLocksDisabled", 1, lSetIt )

     ENDIF

     // Itamar, nao precisa fazer isto no Windows 7 e 8?
     IF Os_IsWin7() //hb_osIsWin7()

        bRetVal := bRetVal ... ??? Entende?

     ENDIF

     IF Os_IsWin8() //hb_osIsWin8()

     ENDIF

   ENDIF

RETURN bRetVal

FUNCTION WIN_OSNETVREDIROK( /* @ */ nResult )

   LOCAL aFiles

   nResult := 0

   IF Os_IsWin9X() // hb_osIsWin9x()

      aFiles := Directory( GetEnv( "WINDIR", "C:\WINDOWS" ) + "\SYSTEM\VREDIR.VXD" ) /* Check for faulty files. */

      IF ! Empty( aFiles )

         IF aFiles[ 1 ][ F_SIZE ] == 156749 .AND. aFiles[ 1 ][ F_TIME ] == "11:11:10"

            nResult := 1111

         ELSEIF aFiles[ 1 ][ F_SIZE ] == 140343 .AND. aFiles[ 1 ][ F_TIME ] == "09:50:00"

            nResult := 950

         ENDIF

      ENDIF

   ENDIF

RETURN Empty( nResult )

#pragma BEGINDUMP

#include <windows.h>

HB_FUNC( OS_ISUSERANADMIN )
{
BOOL b;
SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY;
PSID AdministratorsGroup;
b = AllocateAndInitializeSid( &NtAuthority, 2,
SECURITY_BUILTIN_DOMAIN_RID,
DOMAIN_ALIAS_RID_ADMINS,
0, 0, 0, 0, 0, 0,
&AdministratorsGroup );
if( b )
{
if ( !CheckTokenMembership( NULL, AdministratorsGroup, &b ) )
b = FALSE;
FreeSid( AdministratorsGroup );
}

hb_retl( b );
}

#pragma ENDDUMP


Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes

Função WIN_OSNETREGOK()

Mensagempor Kapiaba » 04 Jun 2014 10:07

Itamar, sempre me retorna no windows 7:

Registro do windows não ajustado!

obg. abs
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes

Função WIN_OSNETREGOK()

Mensagempor Itamar M. Lins Jr. » 04 Jun 2014 10:16

Oi!
Tem que ter direitos!!!
Digite ai no seu win7 na linha "Pesquisa programas e arquivos" UAC e ajuste o nível!
Ou então clicar no seu executável com o botão direito e "executar como administrador".

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6949
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 506 vezes

Função WIN_OSNETREGOK()

Mensagempor Kapiaba » 04 Jun 2014 13:13

Obg. Itamar M. Lins Jr, fiz como dissestes, mas não notei nada d+++, pode explicar por favor o que esta função mudaria na abertura dos bancos de dados em rede?

E o pior é que não se pode incorporar ao programa principal, já que necessita de "Administrador", passar isso para usuário nem pensar.

Obg. abs.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes

Função WIN_OSNETREGOK()

Mensagempor Itamar M. Lins Jr. » 04 Jun 2014 16:25

Só precisa ser executado uma vez.
Ele ajusta o tratamento de como o windows gerenciará os arquivos. O flock(), lock() faz a solicitação ao windows. O tempo de resposta do windows é alterado diminuído e faz uma modificação de quem irá gerenciar isso é o aplicativo e não mais o windows.

Só sei até ai... se tem mais coisas ou equivocado os gurus podem corrigir ai.
Usando o google p/ traduzir

NT Networking & CA- Clipper ™

A família do sistema operacional baseado no Windows NT ® tem alguns problemas de estabilidade irritantes quando se lida com um legado DBMS de arquivos compartilhados , como CA- Clipper ™ . Esta página descreve esses aborrecimentos e tem soluções empacotadas como simples de usar. REG ( Registro) arquivos . Embora os links abaixo , muitas vezes só se referem a versões muito precoces de servidor NT , todos os comentários se aplicam a toda a linhagem até e incluindo Server 2008.

O problema básico é que a camada de redirecionamento de rede é muito "preguiçoso" em sua configuração padrão , quando se trata de escrever de volta imediatamente as alterações de dados para o sistema de arquivos do servidor subjacente. Embora esta abordagem não conferir alguns benefícios de velocidade , que também apresenta efeitos secundários indesejáveis ​​. Estes efeitos colaterais muitas vezes se manifestam como " corrupção do índice detectado" mensagens de erro na aplicação Clipper ou (mais insidiosamente ) "perdido" de dados durante as atualizações de arquivos. Veja aqui para mais detalhes.

Outros problemas podem ser "desaparecimento " de unidades de rede (erro DOS 55 ) ea função dbuse () falha com " arquivo já está em uso" - veja aqui e aqui para mais detalhes.

Supressão de um fechado , mas, recentemente aberta, arquivo também pode falhar silenciosamente ( a exclusão parece funcionar , mas o arquivo ainda existe no servidor) . Veja aqui para mais detalhes.

AVISO - Usando o Editor do Registro incorretamente pode causar problemas sérios no sistema que talvez exijam a reinstalação do Windows para corrigi-los. Use essas ferramentas em seu próprio risco .

Abaixo estão dois arquivos . REG que podem ser usadas para alterar o comportamento do redirecionador de rede em servidores e estações de trabalho baseados no NT para permitir que aplicações Clipper para trabalhar de forma mais confiável . Para importar as mudanças no registro , basta fazer o download e , em seguida, clique duas vezes sobre o arquivo apropriado para importar para o registro. Note que você vai precisar para assegurar que você tenha os privilégios corretos (geralmente de administrador ou equivalente) , a fim de importar os arquivos de registro. . Após a reinicialização obrigatória , as novas configurações ficará ativo.

AVISO - . Ao clicar nos links abaixo reg pode tentar aplicar as alterações para o registro diretamente , então por favor clique com botão direito e use a opção "Salvar destino como ..." opção no seu browser.

* NEW *

28 de dezembro de 2004 - Adicionado chaves e comentários adicionais para os arquivos . Uma chave de registro adicional foi descoberto que afeta o Windows 2000 (que será ignorado no NT 4). Recomenda-se que os novos arquivos são aplicados a instalações utilizadas as versões anteriores .

18 de outubro de 2006 - Jean Mathieu de Outillage Placide Mathieu inc avistou um 'd' extra no final de " EnableOpLockForceClose " em NtWrkStn.reg - Agora corrigidos.

NTWrkStn.reg - modificações de registro para as estações de trabalho baseados no NT .

NTServer.reg - modificações de registro para servidores baseados em NT ( ou estações de trabalho que atuam como servidores) .

Nota: Estas alterações aplicam-se igualmente para o Windows ® NT 4, Windows ® 2000/2003/2008 e Windows ® XP, Vista e Windows 7

Ajuda adicional Clipper está disponível a partir de DaveP Clipper FAQ e VFAQ

Klas Engwall tem uma biblioteca livre útil para trabalhar com Clipper e redes Microsoft aqui

Para obter conselhos úteis sobre os problemas de configuração do Samba no Linux , veja aqui

Texto original aqui:
http://www.witzendcs.co.uk/nt_networking.html

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6949
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 506 vezes

Função WIN_OSNETREGOK()

Mensagempor fladimir » 06 Jun 2014 08:46

Com relação a desabilitar o UAC via software para complementar o uso desta função WIN_OSNETREGOK(), não seria esta função postada pelo Rochinha q esta neste tópico (Link)?

[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2435
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Função WIN_OSNETREGOK()

Mensagempor Kapiaba » 09 Jun 2014 10:10

Bom dia Fladimir, você chegou a testar esta função do Rochinha?

Obg. abs.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes

Função WIN_OSNETREGOK()

Mensagempor fladimir » 09 Jun 2014 21:24

Olá Kapiaba,

Eu implementei e no meu micro Win 7 64 não deu problema, testei tb em um XP (Maquina Virtual) e rodou sem problemas,

Agora deixei rodando em um cliente q tem uma rede com diversos tipos de configurações, até agora não apresentou problema, porém não sei ainda informar se não vai apresentar problemas, estou acompanhando o cliente, quero deixar lá uns 30 dias pelo menos e depois avaliar se ficou ok.

Depois eu posto os resultados aki.

[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2435
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Função WIN_OSNETREGOK()

Mensagempor Marcio_Carneiro » 02 Jul 2014 14:44

Infelizmente não consigo compilar, tem como disponibilizar na área de dowload()?
Marcio
Marcio_Carneiro
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 70
Data de registro: 07 Abr 2008 15:37
Cidade/Estado: Santo Antônio de Pádua - RJ
Curtiu: 0 vez
Mens.Curtidas: 2 vezes

Função WIN_OSNETREGOK()

Mensagempor Nascimento » 05 Jan 2015 18:22

faz alguma diferença em rede mapeada?
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Avatar de usuário

Nascimento
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 711
Data de registro: 19 Jul 2008 12:11
Cidade/Estado: OLINDA-PE
Curtiu: 110 vezes
Mens.Curtidas: 76 vezes

Função WIN_OSNETREGOK()

Mensagempor rossine » 30 Ago 2018 10:02

Bom dia,

Estava olhando a rotina abaixo e também a função do harbour "win_OsNetRegOk" e no endereço indicado nos Registros do windows não existe tais TAGS no meu windows 10.

********************
function TurbinaRede
********************

local oReg, aReg := { }

oReg := TReg32():New( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" )

aadd( aReg, { oReg:Get( "EnableOplocks"         , "" ), "" } )
aadd( aReg, { oReg:Get( "CachedOpenLimit"       , "" ), "" } )
aadd( aReg, { oReg:Get( "Autodisconnect"        , "" ), "" } )
aadd( aReg, { oReg:Get( "EnableOplockForceClose", "" ), "" } )
aadd( aReg, { oReg:Get( "MaxKeepSearch"         , "" ), "" } )
aadd( aReg, { oReg:Get( "MinKeepSearch"         , "" ), "" } )
aadd( aReg, { oReg:Get( "ScavTimeout"           , "" ), "" } )
aadd( aReg, { oReg:Get( "ThreadPriority"        , "" ), "" } )

oReg:Set( "EnableOplocks"         , "00000000" )
oReg:Set( "CachedOpenLimit"       , "00000000" )
oReg:Set( "Autodisconnect"        , "ffffffff" )
oReg:Set( "EnableOplockForceClose", "00000001" )
oReg:Set( "MaxKeepSearch"         , "000000b4" )
oReg:Set( "MinKeepSearch"         , "0000000a" )
oReg:Set( "ScavTimeout"           , "0000000a" )
oReg:Set( "ThreadPriority"        , "00000002" )

aReg [1,2] := oReg:Get( "EnableOplocks"         , "" )
aReg [2,2] := oReg:Get( "CachedOpenLimit"       , "" )
aReg [3,2] := oReg:Get( "Autodisconnect"        , "" )
aReg [4,2] := oReg:Get( "EnableOplockForceClose", "" )
aReg [5,2] := oReg:Get( "MaxKeepSearch"         , "" )
aReg [6,2] := oReg:Get( "MinKeepSearch"         , "" )
aReg [7,2] := oReg:Get( "ScavTimeout"           , "" )
aReg [8,2] := oReg:Get( "ThreadPriority"        , "" )

oReg:Close()
oReg := NIL

return aReg


Teria que incluir essas tags no registro ? Como ?

Obrigado,
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

Função WIN_OSNETREGOK()

Mensagempor rossine » 30 Ago 2018 11:11

Olá Hazael,

Obrigado pela dica.

Fiz algumas mudanças nesta função que postei e está ok agora:

********************
function TurbinaRede
********************

local oReg, aReg := { }

if wapi_IsUserAnAdmin()  // 30/08/18
   VerKey( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\EnableOplocks" )
   VerKey( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\CachedOpenLimit" )
   VerKey( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Autodisconnect" )
   VerKey( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\EnableOplockForceClose" )
   VerKey( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\MaxKeepSearch" )
   VerKey( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\MinKeepSearch" )
   VerKey( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\ScavTimeout" )
   VerKey( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\ThreadPriority" )

   oReg := TReg32():New( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" )

   aadd( aReg, { oReg:Get( "EnableOplocks"         , "" ), "" } )
   aadd( aReg, { oReg:Get( "CachedOpenLimit"       , "" ), "" } )
   aadd( aReg, { oReg:Get( "Autodisconnect"        , "" ), "" } )
   aadd( aReg, { oReg:Get( "EnableOplockForceClose", "" ), "" } )
   aadd( aReg, { oReg:Get( "MaxKeepSearch"         , "" ), "" } )
   aadd( aReg, { oReg:Get( "MinKeepSearch"         , "" ), "" } )
   aadd( aReg, { oReg:Get( "ScavTimeout"           , "" ), "" } )
   aadd( aReg, { oReg:Get( "ThreadPriority"        , "" ), "" } )
   
   oReg:Set( "EnableOplocks"         , "00000000" )
   oReg:Set( "CachedOpenLimit"       , "00000000" )
   oReg:Set( "Autodisconnect"        , "ffffffff" )
   oReg:Set( "EnableOplockForceClose", "00000001" )
   oReg:Set( "MaxKeepSearch"         , "000000b4" )
   oReg:Set( "MinKeepSearch"         , "0000000a" )
   oReg:Set( "ScavTimeout"           , "0000000a" )
   oReg:Set( "ThreadPriority"        , "00000002" )
   
   aReg [1,2] := oReg:Get( "EnableOplocks"         , "" )
   aReg [2,2] := oReg:Get( "CachedOpenLimit"       , "" )
   aReg [3,2] := oReg:Get( "Autodisconnect"        , "" )
   aReg [4,2] := oReg:Get( "EnableOplockForceClose", "" )
   aReg [5,2] := oReg:Get( "MaxKeepSearch"         , "" )
   aReg [6,2] := oReg:Get( "MinKeepSearch"         , "" )
   aReg [7,2] := oReg:Get( "ScavTimeout"           , "" )
   aReg [8,2] := oReg:Get( "ThreadPriority"        , "" )
   
   oReg:Close()
   oReg := NIL

else
   aadd( aReg, { "EnableOplocks"         , "Nao.Conf.Request ADM" } )
   aadd( aReg, { "CachedOpenLimit"       , "Nao.Conf.Request ADM" } )
   aadd( aReg, { "Autodisconnect"        , "Nao.Conf.Request ADM" } )
   aadd( aReg, { "EnableOplockForceClose", "Nao.Conf.Request ADM" } )
   aadd( aReg, { "MaxKeepSearch"         , "Nao.Conf.Request ADM" } )
   aadd( aReg, { "MinKeepSearch"         , "Nao.Conf.Request ADM" } )
   aadd( aReg, { "ScavTimeout"           , "Nao.Conf.Request ADM" } )
   aadd( aReg, { "ThreadPriority"        , "Nao.Conf.Request ADM" } )
endif

return aReg

**********************
static function VerKey( nKey, cParameter )  // 30/08/18
**********************

   local oReg

   if !IsRegistryKey( nKey, cParameter )
       oReg := TReg32():New( nKey, cParameter, .F. )
       oReg:Create( nKey, cParameter )
       oReg:Close()
   endif

return IsRegistryKey( nKey, cParameter )


Obrigado,
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

Anterior Próximo



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 4 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro