Compartilhar via


código de controle FSCTL_SUSPEND_OVERLAY

O código de controle FSCTL_SUSPEND_OVERLAY suspende uma fonte de suporte anexada a um volume, impedindo o acesso à fonte de suporte e permitindo que ela seja modificada ou removida.

Para executar essa operação, chame FltFsControlFile ou ZwFsControlFile com os parâmetros a seguir.

BOOL 
   WINAPI 
   DeviceIoControl( (HANDLE)       hDevice,         // handle to device
                    (DWORD)        FSCTL_SUSPEND_OVERLAY, // dwIoControlCode
                    (LPDWORD)      lpInBuffer,      // input buffer
                    (DWORD)        nInBufferSize,   // size of input buffer
                    (LPDWORD)      lpOutBuffer,     // output buffer
                    (DWORD)        nOutBufferSize,  // size of output buffer
                    (LPDWORD)      lpBytesReturned, // number of bytes returned
                    (LPOVERLAPPED) lpOverlapped );  // OVERLAPPED structure

Parâmetros

  • Instância [in]: somente FltFsControlFile . Um ponteiro de instância opaco para o chamador. Esse parâmetro é necessário e não pode ser NULL.

  • FileObject [in]: somente FltFsControlFile . O objeto de ponteiro de arquivo do volume para o qual a sobreposição é atualizada. Esse parâmetro é necessário e não pode ser NULL.

  • FileHandle [in]: somente ZwFsControlFile . O identificador do volume para o qual a sobreposição é atualizada. Esse parâmetro é necessário e não pode ser NULL.

  • FsControlCode [in]: o código de controle da operação. Use FSCTL_SUSPEND_OVERLAY para esta operação.

  • InputBuffer [in]: um ponteiro para o buffer de entrada, que deve conter uma estrutura WOF_EXTERNAL_INFO . Quando necessário, dados adicionais específicos do provedor são incluídos imediatamente após WOF_EXTERNAL_INFO. Se o provedor for um arquivo WIM, uma estrutura de WIM_PROVIDER_SUSPEND_OVERLAY_INPUT será incluída após WOF_EXTERNAL_INFO.

  • InputBufferLength [in]: defina como sizeof(WOF_EXTERNAL_INFO) mais o tamanho de quaisquer dados de entrada de provedor adicionais.

  • OutputBuffer [out]: não usado. Definido como NULL.

  • OutputBufferLength [in]: definido como 0.

Bloco de status

FltFsControlFile ou ZwFsControlFile retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, a função apropriada pode retornar um dos seguintes valores NTSTATUS.

Código Significado
STATUS_ACCESS_DENIED O solicitante não tem privilégios administrativos.
STATUS_BUFFER_TOO_SMALL O comprimento do buffer de entrada apontado por InputBuffer e especificado por InputBufferLength é muito pequeno.
STATUS_INTERNAL_ERROR O volume solicitado não está acessível.
STATUS_INVALID_DEVICE_REQUEST O serviço de backup não está presente ou não foi iniciado.

Comentários

Quando a fonte de suporte a ser removida for um arquivo WIM (Windows Imaging Format), o buffer de entrada conterá uma estrutura WOF_EXTERNAL_INFO seguida por uma estrutura WIM_PROVIDER_SUSPEND_OVERLAY_INPUT . O InputBufferLength nesse caso será sizeof(WOF_EXTERNAL_INFO) + sizeof(WIM_PROVIDER_REMOVE_OVERLAY_INPUT). O valor DataSourceId em WIM_PROVIDER_SUSPEND_OVERLAY_INPUT deve ser para um arquivo WIM adicionado anteriormente em uma solicitação FSCTL_ADD_OVERLAY .

Provedores de suporte adicionais definirão suas próprias estruturas de parâmetro de entrada específicas.

Requisitos

Tipo de Requisito Requisito
parâmetro Ntifs.h (inclua Ntifs.h ou Fltkernel.h)

Confira também

FSCTL_REMOVE_OVERLAY

FSCTL_UPDATE_OVERLAY

FSCTL_GET_EXTERNAL_BACKING

FSCTL_SET_EXTERNAL_BACKING