Although there is decent evidence that some structural cases are assigned by agreement with a designated functional head (Chomsky 2000, 2001), there is good reason to think that not all are. In this talk, I explore the idea that other structural cases are dependent cases in (roughly) the sense of Marantz 1991: they are assigned to one NP if and only if there is another NP in the same local domain. The most general form of a dependent case condition, I claim, is "If XP is in c-command relationship R with ZP in domain WP, then assign case V to XP." I then discuss three plausible types of parametric variation that can arise within such a theoretical schema. First, which c-command relationship is made use of can vary, giving the difference between accusative languages, ergative languages, tripartite languages, neutral languages, and marked nominative languages. Second, the domain can vary. In particular, I show that VP can be a domain for case assignment distinct from the clause. This explains the existence of differential case marking depending on the definiteness and position of the object in some languages (but not others) and allows some structural dative and oblique cases to be analyzed in the same way as ergative and accusative case marking. Third, languages can differ somewhat in what degree of nominality is required of a phrase for it to participate in dependent case marking. In general NPs/DPs will participate and PPs and CPs will not, but there can be some systematic variation when it comes to oblique NPs (as opposed to PPs), clauses with nominal features (as opposed to purely verbal ones), unpronounced NPs of various kinds (pro, PRO, implicit agents of passives), and nonargumental NPs (expletive pronouns, nominal adverbs, predicate nominals). These variations and the limits on the variation will be illustrated with selected examples drawn from a sample of 20 unrelated languages, each analyzed in some detail. I conclude that dependent case marking is a powerful idea for understanding both the diversity and uniformity we observe in systems of structural case in the languages of the world.