Função CreateNtmsMediaW (ntmsapi.h)
[O Gerenciador de Armazenamento Removível não está mais disponível a partir do Windows 7 e do Windows Server 2008 R2.]
A função CreateNtmsMedia cria um PMID e um lado (ou lados) para uma nova parte da mídia offline. A mídia é colocada no pool de mídia especificado para lpPhysicalMedia.
Sintaxe
DWORD CreateNtmsMediaW(
[in] HANDLE hSession,
[in] LPNTMS_OBJECTINFORMATIONW lpMedia,
[in] LPNTMS_OBJECTINFORMATIONW lpList,
[in] DWORD dwOptions
);
Parâmetros
[in] hSession
Manipule para a sessão retornada pela função OpenNtmsSession .
[in] lpMedia
Ponteiro para uma estrutura NTMS_OBJECTINFORMATION que contém informações sobre o meio a ser criado. Para obter uma descrição dos membros aplicáveis, consulte Comentários.
[in] lpList
Ponteiro para uma estrutura NTMS_OBJECTINFORMATION que especifica a matriz de lados associada ao meio. Para obter uma descrição dos membros aplicáveis, consulte Comentários.
[in] dwOptions
Opções. Esse parâmetro pode usar um dos valores a seguir.
Retornar valor
Essa função retorna um dos valores a seguir.
Valor | Significado |
---|---|
|
NTMS_MODIFY_ACCESS para o computador ou o pool de mídia da mídia é negado. Outros erros de segurança são possíveis, mas indicam um erro de subsistema de segurança.
Windows XP: NTMS_CONTROL_ACCESS para o pool de mídia ou NTMS_MODIFY_ACCESS para a biblioteca offline é negado. Outros erros de segurança são possíveis, mas indicam um erro de subsistema de segurança. |
|
Banco de dados inacessível ou danificado. |
|
O banco de dados está cheio. |
|
A opção NTMS_ERROR_ON_DUPLICATE foi fornecida e já existe um meio com esse OMID. |
|
O identificador de sessão está ausente ou não é válido. |
|
Já existe uma entrada para um meio com esse código de barras. |
|
O pool de mídia especificado não existe ou não é um pool de importação ou aplicativo válido. |
|
Um parâmetro está ausente ou o tamanho das informações do objeto ou o tipo de objeto não é válido. |
|
O número de lados especificados não corresponde ao número de lados associados ao tipo de mídia do pool de mídia. |
|
Falha de alocação de memória durante o processamento. |
|
A função foi executada com êxito. |
Comentários
O parâmetro lpMedia deve apontar para uma estrutura NTMS_OBJECTINFORMATION , cujo parâmetro dwType é NTMS_PHYSICAL_MEDIA. Veja a seguir uma lista de membros e descrições para a estrutura de NTMS_OBJECTINFORMATION .
Membro | Descrição |
---|---|
dwSize | [in] CreateNtmsMedia verifica se esse tamanho é igual ao comprimento de uma estrutura NTMS_OBJECTINFORMATION que contém uma estrutura NTMS_PMIDINFORMATION . Ele retornará ERROR_INVALID_PARAMETER se o tamanho estiver incorreto. |
Dwtype | [in] CreateNtmsMedia verifica se o valor NTMS_PHYSICAL_MEDIA foi fornecido. Ele retornará ERROR_INVALID_PARAMETER se o tipo fornecido estiver incorreto. |
Criado | [out] Indica o tempo em que o objeto de mídia física foi inserido no banco de dados NTMS. |
Modificado | [out] Indica o tempo em que o objeto de mídia física foi inserido no banco de dados NTMS. |
Objectguid | [entrada/saída] Identificador exclusivo para o PMID (objeto de mídia física). Se um valor não NULL for fornecido, o valor será usado como GUID do Meio Físico, caso contrário, um GUID será gerado. |
Enabled | [in] Indica se o meio físico deve ou não ser habilitado. |
dwOperationalState | [out] Deve ser NTMS_READY. |
szName | [entrada/saída] CreateNtmsMedia permite que um aplicativo especifique o nome de um novo meio físico. Isso permite que o aplicativo continue a usar o nome de um meio depois de movê-lo de um computador RSM para outro. A seleção de nomenclatura padrão do RSM é: para lado único: Código de barras e, em seguida, valor de Informações de Rótulo ou Número de Sequência;. para código de barras de mídia de vários lados e, em seguida, Número de Sequência.
Observe que o nome que aparece na interface do usuário RSM para uma partição é esse nome (o nome atribuído ao objeto de mídia física). |
szDescription | [in] Um parâmetro opcional que pode ser definido usando CreateNtmsMedia. Forneça a cadeia de caracteres vazia ("\0") para evitar passar um valor para a descrição. |
Veja a seguir uma lista de membros e descrições para a estrutura NTMS_PMIDINFORMATION .
Membro | Descrição |
---|---|
CurrentLibrary | [in] Deve ser o NULL_GUID ou o GUID da biblioteca Offline. |
MediaPool | [in] Deve ser o GUID de um pool de importação ou aplicativo válido.
CreateNtmsMedia verifica se esse é o GUID de um Pool de Aplicativos ou importação válido. Ele também verifica se o número de partições fornecidas está correto para o tipo de mídia associado a esse pool de mídia. |
Localidade | [out] Deve ser o NULL_GUID. |
LocationType | [out] Deve ser NTMS_STORAGESLOT. |
HomeSlot | [out] Deve ser o NULL_GUID. |
Mediatype | [out] CreateNtmsMedia define o tipo de mídia para o tipo de mídia associado ao pool de mídia fornecido. |
szBarCode | [entrada/saída] O código de barras é despojado de qualquer espaço final. CreateNtmsMedia não executa nenhuma tentativa adicional de verificar a validade do código de barras. |
BarCodeState | [out] O BarCodeState será definido como NTMS_BARCODESTATE_UNREADABLE se o valor passado para szBarCode for uma cadeia de caracteres vazia, caso contrário, ele será definido como NTMS_BARCODESTATE_OK. |
szSequenceNumber | [out] CreateNtmsMedia atribui ao meio recém-criado um número de sequência, que é retornado neste membro. |
MediaState | [out] CreateNtmsMedia define o MediaState como NTMS_MEDIASTATE_IDLE. |
dwNumberOfPartitions | [in] Define o número de estruturas de NTMS_OBJECTINFORMATION que representam lados para esse meio. CreateNtmsMedia verifica para garantir que o número de lados especificado corresponda ao número de lados implícitos pelo pool de mídia ao qual ele deve ser atribuído. Se eles não corresponderem, ERROR_MEDIA_INCOMPATIBLE será retornado. |
dwMediaTypeCode | [in] Código de tipo de mídia SCSI.
Esse membro não é usado pelo RSM, mas pode ser usado por aplicativos gravados no RSM para obter informações adicionais sobre a mídia. Para obter uma descrição do que esse membro deve ser definido como, consulte a especificação SCSI do Fabricante de Hardware para obter as configurações possíveis. O RSM atualiza esse membro quando ele monta o meio recém-importado pela primeira vez. |
dwDensityCode | [in] Código de densidade SCSI.
Esse membro não é usado pelo RSM, mas pode ser usado por aplicativos gravados no RSM para obter informações adicionais sobre a mídia. Para obter uma descrição do que esse membro deve ser definido como, consulte a especificação SCSI do Fabricante de Hardware para obter as configurações possíveis. O RSM atualiza esse membro quando ele monta o meio recém-importado pela primeira vez |
O parâmetro lpList deve apontar para uma estrutura NTMS_OBJECTINFORMATION cujo dwType é NTMS_PARTITION com as informações a seguir.
Membro | Descrição |
---|---|
dwSize | [in] CreateNtmsMedia verifica se o tamanho fornecido corresponde ao comprimento esperado de uma estrutura NTMS_OBJECTINFORMATION que contém uma estrutura NTMS_PARTITIONINFORMATION . Ele retornará ERROR_INVALID_PARAMETER se o tamanho estiver incorreto. |
Dwtype | [in] CreateNtmsMedia verifica se o valor NTMS_PARTITION foi fornecido. Ele retornará ERROR_INVALID_PARAMETER se o tipo fornecido estiver incorreto. |
Criado | [out] Indica a hora em que o objeto de partição foi inserido no banco de dados RSM. |
Modificado | [out] Indica a hora em que o objeto de partição foi inserido no banco de dados RSM. |
Objectguid | [entrada/saída] Identificador exclusivo para o lado. Se um valor não NULL for fornecido, o valor será usado como o GUID do lado; caso contrário, um GUID será gerado. |
Enabled | [in] Determina se o lado deve ou não ser habilitado. |
dwOperationalState | [out] Deve ser NTMS_READY. |
szName | [in] Nome de um novo lado. |
szDescription | [in] Parâmetro opcional que pode ser definido usando CreateNtmsMedia. Forneça a cadeia de caracteres vazia ("\0") para evitar passar um valor para a descrição. |
PhysicalMedia | [out] GUID do objeto lateral recém-criado. |
LogicalMedia | [entrada/saída] Parâmetro de entrada opcional, bem como um parâmetro de saída. Se o GUID for fornecido, CreateNtmsMedia tentará criar um novo objeto de mídia lógica com o GUID pré-atribuído. Se o GUID não for exclusivo, CreateNtmsMedia retornará um erro. |
State | [in] Qualquer estado lateral válido. |
Lado | [out] CreateNtmsMedia define o número lateral como seu deslocamento na matriz Partições. |
dwOmidLabelIdLength | [in] Deve ser um valor positivo.
CreateNtmsMedia usa dwOmidLabelIdLength para determinar o número de bytes significativos no membro OmidLabelId . Se o valor não estiver correto, o OmidLabelId gravado estará incorreto. |
OmidLabelId | [in] Deve ser um rótulo de mídia válido que possa ser reconhecido por uma MLL instalada. |
szOmidLabelType | [in] Não deve ser uma cadeia de caracteres vazia. |
szOmidLabelInfo | [in] Pode ser a cadeia de caracteres vazia. |
dwMountCount | [in] Qualquer valor é aceito. |
dwAllocateCount | [in] Qualquer valor é aceito. |
Capacidade | [in] Código de capacidade SCSI.
Esse membro não é usado pelo RSM, mas pode ser usado por aplicativos gravados no RSM para obter informações adicionais sobre a mídia. Para obter uma descrição do que esse membro deve ser definido como, consulte a especificação SCSI do Fabricante de Hardware para obter as configurações possíveis. O RSM atualiza esse membro quando ele monta o meio recém-importado pela primeira vez. |
Observação
O cabeçalho ntmsapi.h define CreateNtmsMedia como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | ntmsapi.h |
Biblioteca | Ntmsapi.lib |
DLL | Ntmsapi.dll |