Förstå användningsbegränsningarUnderstanding usage restrictions

Alla RMS-aktiverade program måste tillämpa användningsrestriktioner.All RMS enabled applications must enforce usage restrictions. En användningsbegränsning är ett villkor som utlöses när en användare försöker vidta en åtgärd (t.ex.A usage restriction is a condition that results when a user tries to take an action (ex. skriva ut ett dokument), men RMS-principen för dokumentet tillåter inte åtgärden (t.ex.printing a document), but the RMS policy for that document does not grant them permission or right to perform that action (ex. behörigheten Skriv ut).the PRINT right).

Du kan kontrollera en användares behörigheter för ett dokument med hjälp av funktionen IpcAccessCheck.A user's permissions for a document can be queried by using the IpcAccessCheck function.

Designa med användningsbegränsningarDesigning with usage restrictions

  • Bekanta dig med standardbehörigheterna för RMSFamiliarize yourself with standard RMS rights

    Den fullständiga uppsättningen RMS-rättigheter som ditt program kan tillämpa finns i Referens för användningsbegränsningar.For the full set of RMS rights your application may enforce, see Usage restriction reference.

    Observera att programdefinierade rättigheter som är specifika för din situation och som ligger utanför standardbehörigheterna för RMS kan skapas.Note that application defined rights specific to your situation and that go beyond the standard RMS rights may be created.

  • Identifiera tillämpningspunkter för användningsbegränsningarIdentify usage restriction enforcement points

    En tillämpningspunkt för användningsbegränsningar är en plats i programmets kontrollflöde där du behöver tillämpa en användningsbegränsning.A usage restriction enforcement point is a place in your application's control flow where you need to enforce a usage restriction. Avsnittet Referens för användningsbegränsningar innehåller flera exempel på vanliga tillämpningspunkter.The Usage restriction reference topic gives several examples of common enforcement points.

    Utvärdera ditt eget program för att avgöra vilka tillämpningspunkter för användningsbegränsningar som behövs.Evaluate your own application to determine which usage restriction enforcement points apply.

    Programmet kanske inte behöver alla tillämpningspunkter som beskrivs i Referens för användningsbegränsningar.Your application may not need all enforcement points described in Usage restriction reference. Om programmet exempelvis inte tillåter att användare skriver ut innehåll behöver det inte kontrollera rättigheten IPC_GENERIC_PRINT.For example, if your application does not allow users to print content, it does not need to check for the IPC_GENERIC_PRINT right.

  • Uppdatera din kod för att köra en åtkomstkontroll på varje tillämpningspunktUpdate your code to perform an access check at each enforcement point

    Anvisningar för hur du tillämpar specifika rättigheter finns i Referens för användningsbegränsningar.For guidance about how to enforce specific rights, see Usage restriction reference.

Referens för användningsbegränsningarUsage restriction reference

Användningsbegränsningar definieras av följande konstanter.Usage restrictions are defined by the following constants.

Varje användarrättighet, som visas i kolumnen AD RMS-behörighet, har en beskrivning, tvingande punkt och föreslagna metoder för tvingande.Each user right, listed in the AD RMS right column, has a description, an enforcement point, and suggested methods for enforcement.

AD RMS-rättighet/beskrivningAD RMS right/description Metod för tvingandeHow to enforce
IPC_GENERIC_ALLIPC_GENERIC_ALL

Tilldelar användaren alla rättigheter.Grants all rights to the user.

Gemensamma tvingande punkter: IngaCommon Enforcement Points: None
Den här behörigheten används av systemet och bör normalt inte kontrolleras direkt.This right is used by the system and generally should not be checked directly.

IpcAccessCheck använder den här behörigheten för att avgöra om användaren ska tilldelas andra rättigheter som i det här exemplet.IpcAccessCheck uses this right to determine whether to grant the user other rights as in this example.

/* fAccessGranted is set to TRUE if either the IPC_GENERIC_WRITE or the IPC_GENERIC_ALL right is granted */

IpcAccessCheck(hKey, IPC_GENERIC_WRITE, &fAccessGranted);
IPC_GENERIC_READIPC_GENERIC_READ

Behörighet att läsa dokumentinnehåll.The right to read document contents.

Gemensamma tvingande punkter: Inläsning av dokumentCommon Enforcement Points: Document load
Läs inte in eller visa dokumentinnehålletDon't load or present document contents
IPC_GENERIC_WRITEIPC_GENERIC_WRITE

Behörighet att redigera dokumentinnehåll.The right to edit document contents

Gemensamma tvingande punkter: Ändring av dokumentCommon Enforcement Points: Document modification
Gör att alla UI-kontroller som kan användas till att ändra innehållet i dokumentet inte kan redigeras.Make any UI controls that can be used to modify document contents non-editable.

Inaktivera alla menyalternativ som utlöser dokumentändringar.Disable any menu items that trigger document changes. Redigera > Klipp ut, Redigera > Klistra inoch Infoga är typiska exempel.Edit > Cut, Edit > Paste, and Insert are typical examples.

Inaktivera alla alternativ på snabbmenyn som utlöser dokumentändringar.Disable any shortcut menu items that trigger document changes.
Inga AD RMS-behörigheterNo AD RMS right

Ingen beskrivningNo description

Gemensamma tvingande punkter: SparaCommon Enforcement Points: Save
Inaktivera menyn Arkiv > Spara .Disable the File > Save menu.

Obs! Den här behörigheten styr inte Arkiv > Spara som eftersom det inte innebär en ändring i originaldokumentet.Note This right does not control File > Save As because that right does not represent a change to the original document.

Inaktivera alla kortkommandon som kan användas till att utlösa att dokumentet sparas (till exempel Ctrl + S).Disable any keyboard shortcut that can be used to trigger a save (for example, Ctrl+S).

Tips En bra metod är att uppdatera kärnkoden för Arkiv > Spara till att inte utföras om användaren inte har den behörigheten.Tip A best practice is to update your core File > Save code to fail if the user doesn't have this right. Det här fungerar som ett säkerhetsnät om du missar eventuella UX-mekanismer som kan användas till att utlösa Spara.This acts as a safety net if you miss any UX mechanisms that can be used to trigger a save.
IPC_GENERIC_EXTRACTIPC_GENERIC_EXTRACT

Behörighet att extrahera innehåll från ett skyddat format och ge det ett oskyddat format.The right to extract content from a protected format and place it in an unprotected format.

Gemensamma tvingande punkter: Kopiera till urklippCommon Enforcement Points: Copy-to-clipboard
Inaktivera menyn Redigera > kopia .Disable the Edit > Copy menu. Inaktivera menyn Redigera > Klipp ut .Disable the Edit > Cut menu.

Inaktivera Kopiera och Klipp ut på eventuella snabbmenyer.Disable Copy and Cut from any shortcut menus.

Inaktivera alla kortkommandon som kan användas till att skapa en kopia (till exempel Ctrl + C och Ctrl + X).Disable any keyboard shortcut that can be used to trigger a copy (for example, Ctrl+C or Ctrl+X).

Uppdatera fönstrets meddelandehanterare för WM_CUT till att neka datakopiering om användaren inte har den här behörigheten.Update window message handlers for WM_CUT to reject copying of data if the user does not have this right. Om fönstret använder den meddelandehanterare som är standard för Windows underindelar du det här fönstret och anger egna hanterare för WM_COPY och WM_CUT.If the window is using the default Windows-provided message handler, subclass this window and provide your own handlers for WM_COPY and WM_CUT.
Inga AD RMS-behörigheterNo AD RMS right

Ingen beskrivningNo description

Gemensamma tvingande punkter: Spara somCommon Enforcement Points: Save As
I dialogrutan Spara som inaktiverar du alla filformat som leder till att dokumentet sparas utan RMS-skydd.In your Save As dialog box, disable any file formats that would result in the document being saved without RMS protection.
Inga AD RMS-behörigheterNo AD RMS right

Ingen beskrivningNo description

Gemensamma tvingande punkter: Alt+PrtScnCommon Enforcement Points: Alt+PrtScn
Anropa IpcProtectWindow i alla fönster som återger dokumentinnehåll.Call IpcProtectWindow on any windows that render document contents.
IPC_GENERIC_EXPORTIPC_GENERIC_EXPORT

Behörighet att extrahera innehåll från ett skyddat format och ge det ett annat AD RMS-skyddat format.The right to extract content from a protected format and place it in a different AD RMS-protected format.

Gemensamma tvingande punkter: Spara somCommon Enforcement Points: Save As
I dialogrutan Spara som inaktiverar du möjligheten att spara i andra filformat.In your Save As dialog box, disable the ability to save to any other file formats.

Tips Ett bra tips är att uppdatera kärnkoden för Arkiv > Spara som till att inte genomföras om användaren försöker spara filen i ett annat format utan den här behörigheten.TipA best practice is to update your core File > Save As code to fail if the user attempts to save this file to a different format and doesn't have this right. Det här fungerar som ett säkerhetsnät om du missar eventuella UX-mekanismer som kan användas till att utlösa Spara som.This acts as a safety net if you miss any UX mechanisms that can be used to trigger a save as.
IPC_GENERIC_PRINTIPC_GENERIC_PRINT

Behörighet att skriva ut dokumentinnehåll.The right to print document contents.

Gemensamma tvingande punkter: Skriv utCommon Enforcement Points: Print
Inaktivera menyn fil > utskrift .Disable the File > Print menu.

Inaktivera alla kortkommandot som kan användas till att utlösa utskrift (till exempel Ctrl+P).Disable any keyboard shortcut that could be used to trigger a print (for example, Ctrl+P).

Inaktivera menyobjekt på snabbmenyn som kan användas till att utlösa en utskrift.Disable shortcut menu items that could be used to trigger a print.

Tips Ett bra tips är att uppdatera kärnkoden för Arkiv > Skriv ut till att inte utföras om användaren inte har den behörigheten.Tip A best practice is to update your core File > Print code to fail if the user doesn't have this right. Det här fungerar som ett säkerhetsnät om du missar eventuella UX-mekanismer som kan användas till att utlösa en utskrift.This acts as a safety net if you miss any UX mechanisms that can be used to trigger a print.
IPC_GENERIC_COMMENTIPC_GENERIC_COMMENT

En del program har stöd för möjligheten att lägga till kommentarer och anteckningar i dokumentet utan att uppdatera innehållet i kärndokumentet.Some applications support the ability to add comments and annotations to the document without updating core document contents.

Den här behörigheten ger användaren åtkomst till den funktionen.This right grants the user access to this capability.

Gemensamma tvingande punkter:Common Enforcement Points:

Granska > Infoga kommentarReview > Insert comment

Granska > Ta bort kommentarReview > Delete Comment
Inaktivera alla alternativ som kan användas till att ändra dokumentets kommentarer och anteckningar.Disable any menu items that can be used to modify document comments or annotations. Granska > Infoga kommentar och Granska > ta bort kommentar är exempel.Review > Insert comment and Review > Delete Comment are examples.

Inaktivera alla kortkommandot som kan utlösa ändringar av kommentarer i dokument.Disable any keyboard shortcut that could trigger modification of document comments.

Obs! För en standardimplementering krävs både IPC_GENERIC_COMMENT och IPC_GENERIC_WRITE för att spara nya kommentarer i en fil.Note A default implementation requires both IPC_GENERIC_COMMENT and IPC_GENERIC_WRITE to persist new comments to a file. Program kan lägga till stöd i det fall där rättigheten IPC_GENERIC_COMMENT är beviljad men rättigheten IPC_GENERIC_WRITE inte är det.Applications may choose to add support for the case where the IPC_GENERIC_COMMENT right is granted and the IPC_GENERIC_WRITE right is not. I det här fallet är det tillåtet att tillåta Spara så länge som ändringarna endast begränsas till kommentarer.In this case, it is permitted to allow Save, as long as document modifications are restricted to comments only.
IPC_VIEW_RIGHTSIPC_VIEW_RIGHTS

Ingen beskrivningNo description

Gemensamma tvingande punkter: SaknasCommon Enforcement Points: N/A
Tvingas av systemet.Enforced by the system. Systemet tillåter inte utvecklaren att söka i listan med användarrättigheter från en licens om inte den här rättigheten har beviljats.The system will not allow the developer to query the user rights list from a license unless this right is granted.
IPC_EDIT_RIGHTSIPC_EDIT_RIGHTS

I vissa program tillåts användare att ändra uppsättningen användare och rättigheter för AD RMS-skyddat innehåll.Some applications allow users to modify the set of users and rights for AD RMS-protected content.

Den här behörigheten ger användaren åtkomst till den funktionen.This right grants the user access to this capability.

Gemensamma tvingande punkter: Gränssnittskontroll för redigering av programrättigheterCommon Enforcement Points: Application rights editing UI control
Inaktivera användaråtkomst till gränssnittsalternativ som kan användas till att redigera RMS-principen för ett dokument.Disable user access to any UI that can be used to edit the RMS policy for a document.