Qual é a função de pontos de interrogação nos caminhos do sistema de arquivos no registro do Windows?

2

Trata-se do registro em um Windows 7 Home Premium de 64 bits (o computador do meu amigo). Eu estava indo para definir o sistema para limpar o arquivo de paginação no desligamento, definindo o valor de REG_DWORD ClearPageFileAtShutdown em HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management para "1".

No entanto, minha pergunta é sobre os pontos de interrogação nos valores ExistingPageFiles e PagingFiles neste local do registro.

Os pontos de interrogação são mostrados na imagem abaixo.

As perguntas que queria fazer são:

  1. Os caminhos usados nesses valores devem ter pontos de interrogação no começo?
  2. Qual função esses pontos de interrogação servem?
por x457812 24.04.2016 / 01:30

3 respostas

6

Os caminhos de interrogação dupla são nomes de objetos do Gerenciador de Objetos NT . O Gerenciador de objetos é um sistema que organiza vários tipos diferentes de recursos do sistema (por exemplo, dispositivos, seções de memória, estações de janela, eventos) em uma estrutura semelhante a uma árvore. Você pode explorar essa árvore com a ferramenta WinObj .

O conteúdo do \??\ pseudo-directory pode ser visto na seção GLOBAL?? do WinObj. Existem outras subárvores, como Device . Na verdade, cada item em \??\ é um link simbólico - um atalho ou alias - para um objeto em outro lugar. \??\C: é (no meu sistema) um link para \Device\HarddiskVolume4 , e o restante do caminho mostrado na captura de tela é um caminho sob a raiz desse volume. Cada letra da unidade aparece como um link simbólico para o volume em que está. Você pode encontrar outros tipos de dispositivos que são familiares, como CON e NUL .

Nota: você não pode usar esses tipos de caminhos para acessar arquivos ou diretórios na maioria dos aplicativos. Apenas determinados componentes do sistema de baixo nível são projetados para trabalhar com caminhos do Gerenciador de objetos.

Isso explica a captura de tela ExistingPageFiles , mas não PagingFiles . PagingFiles contém suas configurações de memória virtual com caminhos para arquivos de paginação expressos como caminhos normais. Se o seu sistema estiver configurado para gerenciar todas as configurações de memória virtual, essa entrada não especificará uma letra de unidade (somente um nome de arquivo e caminho), portanto, ? é apenas um espaço reservado para qualquer unidade que o arquivo de página em.

Em resumo, sim, esses pontos de interrogação devem estar lá.

Outras leituras: Dentro do Gerenciador de objetos do NT , Object Manager (Windows)

Vídeo: Gerenciador de Objetos NT no Canal 9 da Microsoft

    
por 04.07.2016 / 18:25
0

Eu pareço lembrar ao usar consultas de arquivo CMD do DOS, um ponto de interrogação significa curinga de caractere único. O ponto de interrogação duplo para o qual não tenho a menor ideia, a menos que isso signifique simplesmente uma parte de um caminho com 2 caracteres curinga sequenciais. Espero que isso ajude.

i.e. ?: poderia ser C: ou D: ao contrário de \ d * \, o que significa d caracterizar com qualquer número e tipo de letras ou números seguindo, e. \ dr \ or \ d2165thingy \

Tentando ser útil, já que a notação?: se referiria a qualquer unidade reconhecida no momento em que o comando foi executado no DOS 3 em diante, na minha experiência.

    
por 24.04.2016 / 05:31
0

Eu vi muito o caminho \?\C:\... para obter acesso a arquivos / caminhos com mais de 260 caracteres. Pelo menos quando lidando com chamadas de API do Win32. Embora a estrutura na sua captura de tela varie um pouco, eu me sentiria seguro supondo que ela seja semelhante no comportamento. Ou, também pode ser que a API do Win32 (ao ler valores dessa chave do Registro) substitua automaticamente essas 'variáveis' pelos valores apropriados.

Nomeando arquivos, caminhos e namespaces (no MSDN )

The Windows API has many functions that also have Unicode versions to permit an extended-length path for a maximum total path length of 32,767 characters. This type of path is composed of components separated by backslashes, each up to the value returned in the lpMaximumComponentLength parameter of the GetVolumeInformation function (this value is commonly 255 characters). To specify an extended-length path, use the "\?\" prefix. For example, "\?\D:\very long path".

    
por 04.07.2016 / 17:42